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

Martin Bednar serafean at gmail.com
Tue Sep 13 09:40:11 BST 2011



> On Sept. 13, 2011, 7:42 a.m., Kevin Krammer wrote:
> > akonadi/agentbase.h, line 612
> > <http://git.reviewboard.kde.org/r/102594/diff/2/?file=35980#file35980line612>
> >
> >     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

Does it need to be virtual? I think not (now that I think I understand a bit what it means)


- Martin


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


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