[KPhotoAlbum] Token setting in thumbnail view
Robert Krawitz
rlk at alum.mit.edu
Sun Jul 7 01:15:49 BST 2013
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);
--
Robert Krawitz <rlk at alum.mit.edu>
MIT VI-3 1987 - Congrats MIT Engineers 5 straight men's hoops tourney
Tall Clubs International -- http://www.tall.org/ or 1-888-IM-TALL-2
Member of the League for Programming Freedom -- http://ProgFree.org
Project lead for Gutenprint -- http://gimp-print.sourceforge.net
"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton
More information about the Kphotoalbum
mailing list