[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-pim
Subject:    [Kde-pim] Re: Review Request: Add CollectionProperties method to
From:       "David Jarvie" <djarvie () kde ! org>
Date:       2010-12-16 19:47:42
Message-ID: 20101216194742.23140.75047 () vidsolbach ! de
[Download RAW message or body]



> On 2010-12-15 21:53:45, Tobias Koenig wrote:
> > Hej David,
> > 
> > I reverted your patch because it breaks the system of using custom pages in the \
> > properties dialog. Every properties page should have an unique \
> > QObject::objectName set (e.g. it's full qualified class name), so has the \
> > CollectionGeneralPage and the CachePolicyPage. If no names are passed to the \
> > CollectionPropertiesDialog constructor, all registered default pages will be \
> > displayed, otherwise the pages with the given names. This has the advantage that \
> > the caller of the CollectionPropertiesDialog has the full control of the pages \
> > that shall be displayed and their order. An additional option to enable/disable \
> > the default pages is just confusing and makes the API more difficult to use. I \
> > havn't been aware of your reviewboard patch until you commited it, therefor no \
> > comments from me before. Sorry for the confusion. 
> > Ciao,
> > Tobias

I see that you added the new constructor after this reviewboard was created, hence \
the confusion.

There is an advantage in the way you implemented it in that the page order can be \
specified. The one issue I have is that the object names for the default pages don't \
seem to be discoverable except by reading the source code. There needs to be a way to \
fetch the names, both for reasons of discoverability, and to ensure that applications \
don't break if the names changed. I'm not sure which class should provide access to \
the names - perhaps CollectionGeneralPropertiesPage and CachePolicyPage should have \
public static methods to return their object names. In addition, since the default \
pages are defined in CollectionPropertiesDialog, I think that \
CollectionPropertiesDialog should have a method which returns the object name of a \
specified default page type, as in the following code:

class CollectionPropertiesDialog
{
   ...
enum DefaultPage
{
    GeneralPage,
    CachePage
};
static QString defaultPageObjectName(DefaultPage page)
{
    switch (page)
    {
        case GeneralPage:  return CollectionGeneralPropertiesPage::objectName();
    }
    return QString();
}

   ...
};


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/5855/#review9267
-----------------------------------------------------------


On 2010-11-16 00:03:17, David Jarvie wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/5855/
> -----------------------------------------------------------
> 
> (Updated 2010-11-16 00:03:17)
> 
> 
> Review request for KDE PIM.
> 
> 
> Summary
> -------
> 
> Provide more flexible options for displaying an Akonadi collection properties \
> dialog. Use of an enum allows an application to select which default page(s) to \
> show. The existing useDefaultPage() is deprecated in favour of the new \
> useDefaultPages() method. 
> 
> Diffs
> -----
> 
> /trunk/KDE/kdepimlibs/akonadi/collectionpropertiesdialog.h 1196227 
> /trunk/KDE/kdepimlibs/akonadi/collectionpropertiesdialog.cpp 1196227 
> 
> Diff: http://svn.reviewboard.kde.org/r/5855/diff
> 
> 
> Testing
> -------
> 
> Works in KAlarm.
> 
> 
> Thanks,
> 
> David
> 
> 

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic