[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