[Kde-pim] Review Request: Add isConfiguring method to AgentBase to easily limit to one configuration dialog per agent.

Kevin Krammer kevin.krammer at gmx.at
Tue Sep 13 08:42:00 BST 2011


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



akonadi/agentbase.h
<http://git.reviewboard.kde.org/r/102594/#comment5728>

    This is not possible.
    Adding a virtual method is not a binary compatible change (virtual method table changes size) and thus not allowed in public API by KDE's library policies



akonadi/agentbase.cpp
<http://git.reviewboard.kde.org/r/102594/#comment5729>

    That doesn't look right.
    Calling isConfiguring() should IMHO not change the state.
    
    isXXX() usually only check a state without affecting it


- Kevin


On Sept. 12, 2011, 8:55 p.m., Martin Bednar wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/102594/
> -----------------------------------------------------------
> 
> (Updated Sept. 12, 2011, 8:55 p.m.)
> 
> 
> Review request for Akonadi, KDEPIM and KDEPIM-Libraries.
> 
> 
> Summary
> -------
> 
> While investigating https://bugs.kde.org/show_bug.cgi?id=247299, I discovered that any and all akonadi agents can open multiple configuration dialogs at the same time. My opinion on this matter is that this shouldn't be possible, so I modified slightly AgentBase to add the isConfiguring() method which is designed to only be called from within the configure() function of an agent. I did it this way so as to minimize the burden on agent implementors.
> 
> 
> Diffs
> -----
> 
>   akonadi/agentbase.h 4751c02 
>   akonadi/agentbase.h 4751c02 
>   akonadi/agentbase.cpp 6d3bf83 
>   akonadi/agentbase.cpp 6d3bf83 
>   akonadi/agentbase_p.h 988fb1a 
>   akonadi/agentbase_p.h 988fb1a 
> 
> Diff: http://git.reviewboard.kde.org/r/102594/diff
> 
> 
> Testing
> -------
> 
> Modified the imap resource : added if ( isConfiguring() ) return; at the beginning of the configure() function. Compiled, ran.
> The modify button in akonadi configuration opened a configuration dialog when none was showing, and did nothing when one was already showing. As expected.
> 
> 
> Thanks,
> 
> Martin
> 
>

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list