[KPhotoAlbum] Token setting in thumbnail view

Johannes Zarl isilmendil at isilme.lupus.uberspace.de
Wed Jul 17 22:28:07 CEST 2013


Hi,

I just had another look at the patch. Is it intentional that expanded stacks 
behave like unstacked images? I.e. when there is an expanded stack consisting 
of two images, uppercase letters only affect the selected image, not the whole 
stack.

My feeling is that uppercase letters should always affect the whole stack. How 
about you?

Cheers,
  Johannes

On Monday 08 July 2013 18:41:23 Johannes Zarl wrote:
> Functionality-wise, the patch seems worthwhile, and it also is pretty
> straight-forward and works as expected.
> 
> I'm wondering how to best advertise the feature to the users, though. IMO
> there is no possibility for a new user to find this functionality, except by
> pure chance.
> 
>   Johannes
> 
> On Sunday 07 July 2013 02:15:49 Robert Krawitz wrote:
> > The following patch allows you to set/clear a token for all members of a
> > stack when in thumbnail view by typing an uppercase letter (similarly
> > for rating).
> > 
> > diff --git a/ThumbnailView/KeyboardEventHandler.cpp
> > b/ThumbnailView/KeyboardEventHandler.cpp index 9c341d1..e6a7195 100644
> > --- a/ThumbnailView/KeyboardEventHandler.cpp
> > +++ b/ThumbnailView/KeyboardEventHandler.cpp
> > @@ -34,12 +34,12 @@
> > ThumbnailView::KeyboardEventHandler::KeyboardEventHandler(
> > ThumbnailFactory* fac
> > 
> >  bool ThumbnailView::KeyboardEventHandler::keyPressEvent( QKeyEvent* event
> > 
> > ) {
> > -    if ( event->modifiers() == Qt::NoModifier && ( event->key() >=
> > Qt::Key_A && event->key() <= Qt::Key_Z ) ) { +    if ( (
> > event->modifiers() == Qt::NoModifier || event->modifiers() ==
> > Qt::ShiftModifier )  && ( event->key() >= Qt::Key_A && event->key() <=
> > Qt::Key_Z ) ) { QString token = event->text().toUpper().left(1);
> > 
> >          bool mustRemoveToken = false;
> >          bool hadHit          = false;
> > 
> > -        const DB::FileNameList selection =
> > widget()->selection(NoExpandCollapsedStacks); +        const
> > DB::FileNameList selection = widget()->selection( event->modifiers() ==
> > Qt::NoModifier ? NoExpandCollapsedStacks : ExpandCollapsedStacks );
> > Q_FOREACH( const DB::FileName& fileName, selection ) {
> > 
> >              DB::ImageInfoPtr info = fileName.info();
> >              if ( ! hadHit ) {
> > 
> > @@ -60,11 +60,11 @@ bool
> > ThumbnailView::KeyboardEventHandler::keyPressEvent( QKeyEvent* event )
> > return true;
> > 
> >      }
> > 
> > -    if ( event->modifiers() == Qt::NoModifier && ( event->key() >=
> > Qt::Key_0 && event->key() <= Qt::Key_5 ) ) { +    if ( (
> > event->modifiers() == Qt::NoModifier || event->modifiers() ==
> > Qt::ShiftModifier ) && ( event->key() >= Qt::Key_0 && event->key() <=
> > Qt::Key_5 ) ) { bool ok;
> > 
> >          short rating = event->text().left(1).toShort(&ok, 10);
> >          if (ok) {
> > 
> > -            const DB::FileNameList selection = widget()->selection(
> > NoExpandCollapsedStacks ); +            const DB::FileNameList selection =
> > widget()->selection( event->modifiers() == Qt::NoModifier ?
> > NoExpandCollapsedStacks : ExpandCollapsedStacks ); Q_FOREACH( const
> > DB::FileName& fileName, selection ) { DB::ImageInfoPtr info =
> > fileName.info();
> > 
> >                  info->setRating(rating * 2);


More information about the KPhotoAlbum mailing list