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

List:       kde-core-devel
Subject:    Re: enhance KRecentFilesAction with a ui action to remove entries
From:       Christoph Pfister <christophpfister () gmail ! com>
Date:       2009-03-13 12:30:04
Message-ID: 19a3b7a80903130530r16bf7679w8f7c8d639a398772 () mail ! gmail ! com
[Download RAW message or body]

2009/3/13 David Faure <faure@kde.org>:
> On Wednesday 11 March 2009, Christoph Pfister wrote:
> > 2009/3/7, Christoph Pfister <christophpfister@gmail.com>:
> > > Patch and screenshot attached - comments welcome (don't know how the
> > > k-c-d development model works, but I don't mind you / me commiting it
> > > if it's ok).
> > 
> > v2 of the patch:
> > - renamed *enable to *visible
> > - replaced "Remove all entries" by "Clear list"
> > - only show the clear action if the list isn't empty
> > - internal: don't delete / reconstruct the special actions, instead
> > use setVisible
> > - internal: do not put the special actions into selectableActionGroup,
> > as the code assumes that those actions are recent actions (e.g. for
> > maxItems calculation and in saveEntries)
> > 
> > Please treat questions like "clear action visible by default" or
> > "clear action in general" seperately (the clear action is still
> > disabled by default in my patch); if you reach consensus about that it
> > can be easily done as a follow-up commit.
> 
> 
> +void KRecentFilesAction::setClearActionVisible(bool visible)
> +{
> +    Q_D(KRecentFilesAction);
> +    d->clearActionVisible = visible;
> +    visible = visible && !selectableActionGroup()->actions().isEmpty();
> +    d->clearSeparator->setVisible(visible);
> +    d->clearAction->setVisible(visible);
> +}
> 
> Do not reuse the boolean "visible", define a new one. It will help readability.

Ok.

> -  virtual void clear();
> 
> I'm not sure whether reordering virtuals preserves BC... the comment says
> it comes from a base class so I assume so, but, hmm, for extra safety
> I would leave it where it is and just add "public Q_SLOTS:" before
> (and whatever is needed after like "public:").

Yes, this is the easiest and safest way to assure bc - considering
(I've just found out) that the base class "clear" actually isn't
virtual (!).

> Personally I don't see why this feature needs to be optional \
> (getter/setter/property... all useless IMHO). I see no reason why the user should \
> be prevented from clearing that list. I'm not obeying your request to treat this \
> issue separately,

> )

> because if we agree that
> it should be on by default and everywhere, then the setting isn't
> necessary anymore. But this isn't a strong opinion, just a preference
> for consistency over pleasing individual application developers.

So ... anybody against the clear action being always shown (on
condition that the list isn't empty, of course)?

> --
> David Faure, faure@kde.org, sponsored by Qt Software @ Nokia to work on KDE,
> Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).

Thanks,

Christoph


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

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