Review Request 116940: Add a new status message plugin class and use it for the now Playing plugin

David Edmundson david at davidedmundson.co.uk
Mon Aug 25 11:26:47 UTC 2014



> On Aug. 23, 2014, 3:45 p.m., David Edmundson wrote:
> > status-handler.cpp, line 200
> > <https://git.reviewboard.kde.org/r/116940/diff/23/?file=307051#file307051line200>
> >
> >     I haven't had an answer that I understand when I last asked this.
> >     
> >     Why are you turning plugins off? 
> >     The entire point of the queue is that some plugins have priority over others, if you make it so there's only one active there's not point having a queue.
> >     
> >     
> >     Also can you (using simple words) explain the difference between enabled and active in plugins.
> 
> James Smith wrote:
>     This is really useful for deactivating the entire stack of status message plugins at the same time, for instance by manually changing the requested presence with an active status message plugin. If the requested presence isn't manually altered and the active plugin deactivates due to inactivity, the queue should in theory bump to the next active plugin automatically.
>     
>     active is useful for plugin-specific changes e.g. new data events, etc. The now playing status message plugin sets active for each track change, and (de)active between track changes and (de)active for no upcoming tracks or players.
>     
>     enabled is for turning the output of a plugin on and off completely, so that it won't respond to new data events. (dis)abled overrides active.
>     
>     (de)active looks a lot like (dis)abled output-wise, but (de)active plugins still respond to new data events while (dis)abled plugins don't.

This differs massively from the original code which was:
 - enabled: turned on by the user in the config
 - active:  currently has a presence that should be used.

Then we set ourselves to the first thing in the queue which is active.

If you start manipulating enabled from other code you're going to break following the user's settings surely?


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/116940/#review65097
-----------------------------------------------------------


On Aug. 25, 2014, 11:15 a.m., James Smith wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/116940/
> -----------------------------------------------------------
> 
> (Updated Aug. 25, 2014, 11:15 a.m.)
> 
> 
> Review request for Telepathy.
> 
> 
> Bugs: 332082, 334492 and 334542
>     http://bugs.kde.org/show_bug.cgi?id=332082
>     http://bugs.kde.org/show_bug.cgi?id=334492
>     http://bugs.kde.org/show_bug.cgi?id=334542
> 
> 
> Repository: ktp-kded-module
> 
> 
> Description
> -------
> 
> Move status message plugins into a separate class. New infrastructure to help mitigate the occurrence of bug #334492 while using status message plugins: 1) buffering of the last n status messages, and 2) a limiter to help stop flooding the presence changer. Also strips redundant and disused data structures from both classes.
> 
> This patch returns the ability to engage status message plug-ins from custom status messages. Also working is the disabling of non-visible status message plug-ins. State-affinity in the 95% of previously noted cases has been vastly improved also, the few remaining issues should be due to "lite" protocols that don't have a full complement of on-line presences.
> 
> 
> Diffs
> -----
> 
>   telepathy-mpris.cpp 44b041fdd3764ee5f67598fcf555a2759d853bdd 
>   tests/CMakeLists.txt 7ec77495417a6790060ea5ea7126c46399dff755 
>   telepathy-kded-module-message-plugin.h PRE-CREATION 
>   telepathy-kded-module-message-plugin.cpp PRE-CREATION 
>   telepathy-kded-module-plugin.h 4c161696a706e82059a7eb314773c3644fe26bd7 
>   telepathy-kded-module-plugin.cpp daf73c66947bc946097de7a8e8a1518555131145 
>   telepathy-mpris.h 05b77c90a50372fd9ed66bde0ab8a287caf34b51 
>   CMakeLists.txt 930267740d0bf26f42a48ea55d77148f87df5369 
>   status-handler.h 06240ff17e22148f2b128bc0eb8cec6d6abe68ff 
>   status-handler.cpp 4b9c25a2ccba451f6e608bb704626e33149108cc 
> 
> Diff: https://git.reviewboard.kde.org/r/116940/diff/
> 
> 
> Testing
> -------
> 
> Disconnect / reconnect, autoconnect / no autoconnect, suspend / resume. Enable / disable via kcm module. Added a new custom presence and engaged the now playing plugin in the contact list from the new presence. Disabled the plugin by activating another presence.
> 
> 
> Thanks,
> 
> James Smith
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-telepathy/attachments/20140825/8575609d/attachment-0001.html>


More information about the KDE-Telepathy mailing list