Review Request 107833: Chat plasmoid fixes (global shortcut, visible property)

Lasath Fernando kde at lasath.org
Tue Feb 12 16:04:21 UTC 2013



> On Dec. 21, 2012, 9:48 p.m., Aleix Pol Gonzalez wrote:
> > plasmoid/org.kde.ktp-chatplasmoid/contents/ui/main.qml, line 68
> > <http://git.reviewboard.kde.org/r/107833/diff/1/?file=100540#file100540line68>
> >
> >     If we want to set isOpen to false, then we shouldn't add a function that does that but let the API to be the property be the API
> 
> Lasath Fernando wrote:
>     The reason I did this was partially semantic.
>     
>     But I absolutely want to avoid binding that to anything because it would create a binding loop and break when it changes. This meant its value *had* to be set from a javascript function anyway, so I thought I may as well put said functions next to the property.
>     
>     And besides, in the 4 places it's used, 3 of them are signals that are directly connected to those functions.
>     
>
> 
> Aleix Pol Gonzalez wrote:
>     This code changed recently. Could you try to adapt it and see if it can be merged now?

Sorry, but I won't have access to my development machine until the end of the month.
Could you (or someone else) please do me a favour and rebase this?


- Lasath


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107833/#review23816
-----------------------------------------------------------


On Dec. 25, 2012, 5:26 a.m., Lasath Fernando wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/107833/
> -----------------------------------------------------------
> 
> (Updated Dec. 25, 2012, 5:26 a.m.)
> 
> 
> Review request for Telepathy, Aleix Pol Gonzalez and David Edmundson.
> 
> 
> Description
> -------
> 
> This does a few little fixes to the chat plasmoid getting it closer to being keyboard friendly. 
> 
> 1. I redid the implementation of ConversationQueManager using a K_GLOBAL_STATIC it's now significantly shorter and more elegant IMHO.
> 2. I ditched the KAction with a hardcoded shortcut, and instead exposed ConversationQueManager to QML. So that way, the plasmoid can easily invoke dequeueNext() on plasmoid 'activate' shortcut. 
> 
> 3. I fixed the massive klugde that was the visible property of the Dialog. Now, everything is encased in separate Item, which contains one property: isOpen. It isn't bound to anything - instead, there are methods to change its value. This ceases the infinite binding loop, and allows for a clearer logic. 
> I.e. when button is clicked, dialog is closed with ALT+F4 or the model requestsPopout, those methods are called, which update 'isOpen' which in turn propagates the changes to Dialog.visible, ConversationDeleagte.checked and MessagesModel.visibleToUser properties as they are bound to it.
> 
> PS: Sorry if that wall of text didn't make any sense - It's difficult to think straight at 2AM :-)
> 
> 
> This addresses bug 296929.
>     http://bugs.kde.org/show_bug.cgi?id=296929
> 
> 
> Diffs
> -----
> 
>   plasmoid/declarative-plugin/conversation-que-manager.h e8ab426 
>   plasmoid/declarative-plugin/conversation-que-manager.cpp a7b347a 
>   plasmoid/declarative-plugin/messages-model.h 233bbfb 
>   plasmoid/declarative-plugin/qml-plugins.cpp 23a4291 
>   plasmoid/org.kde.ktp-chatplasmoid/contents/ui/ChatWidget.qml ea68f41 
>   plasmoid/org.kde.ktp-chatplasmoid/contents/ui/ConversationDelegate.qml 8a8d851 
>   plasmoid/org.kde.ktp-chatplasmoid/contents/ui/main.qml feb766b 
> 
> Diff: http://git.reviewboard.kde.org/r/107833/diff/
> 
> 
> Testing
> -------
> 
> Talked to myself. Unfortunately, I didn't talk to multiple people at once though - hopefully everything should still work.
> 
> 
> Thanks,
> 
> Lasath Fernando
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-telepathy/attachments/20130212/91e02eb0/attachment.html>


More information about the KDE-Telepathy mailing list