Version: 0.8.2-2 (using KDE KDE 3.5.4) Installed from: Debian testing/unstable Packages OS: Linux I seek a faster workflow for captioning photographs. In my workflow, I first identify the potential "winners" (which can be done in digikam with the new shortcuts for setting ratings.) Then I review the winners to remove near-duplicates and in general do a second pass. After this is done, it's time to caption, and I want to do it fast. Without using the mouse. Ideally I want to see a picture at decent resolution, be in the box to type a caption, and after hitting return or some other easy key, I'm on to the next photo to caption. Currently you can do this with the tag/comment editor (F3) which puts you in place ready to write comments. However, this only presents a thumbnail. Expanding the window does not change the size of the image for captioning. So making it so changing this window size (and remembering the size) would allow better captioning. Also nice if could set my own shortcut choice (other than alt-n) to store caption and move to next image. (Page up and page down do not work here.) Alternately, the full image editor view could be set to also display captions, tags and rating along the bottom, and allow them to be typed and a key pressed (such as pgdn currently) would move to the next image to caption. ------------- Adding suggestions, for the 2nd stage of the workflow, which is review of choices, what would be ideal would be a full sized view with a single row of thumbnails showing the current picture and its neighbours, allowing easy detection of duplicates. Today it is typical for serious photograhers to take several shots of the same interesting image. Some of those will make it to the winner's circle, and then they must be pruned down to the single best. In this case seeing both the big view (to judge) and the thumbs (to know what to look at for comparison) is necessary. Even better would be a dual view which shows two pictures as big as possible and then allows selection of which will be the winner.
This is related to bug #114465. I'm really in favor of better tagging possibilities, but definitely post-0.9.0. (#131601 might be related as well, for a better preview)
Brad, all points reported is now fixed in 0.9.0 release witch use sidebar everywhere (album gui and image editor) and provide a fast preview mode in album gui witch can display a large preview of picture during captionning... excepted the point about to always have the keyboard focus on Comments widget from Comments & Tags area to have a better captionning issue. I have patch on my computer to commit about focus stuff... I tag this file like duplicate of #131743 Gilles caulier Gilles *** This bug has been marked as a duplicate of 131743 ***
SVN commit 621996 by cgilles: digikam from trunk : improve Comments edit widget Focus rule : this one is only set on when the Comments & Tab side bar is visible _and_ selected, else it is off. CCBUGS: 131743, 131632 M +8 -3 imageproperties/imagedescedittab.cpp M +1 -1 imageproperties/imagedescedittab.h M +19 -11 imageproperties/imagepropertiessidebardb.cpp M +5 -3 imageproperties/imagepropertiessidebardb.h M +25 -23 widgets/common/sidebar.cpp M +11 -2 widgets/common/sidebar.h --- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.cpp #621995:621996 @@ -251,7 +251,7 @@ d->dateTimeEdit->installEventFilter(this); d->ratingWidget->installEventFilter(this); d->tagsView->installEventFilter(this); - setFocusToComments(); + setFocusToComments(true); updateRecentTags(); // Connect to album manager ----------------------------- @@ -553,9 +553,14 @@ d->revertBtn->setEnabled(true); } -void ImageDescEditTab::setFocusToComments() +void ImageDescEditTab::setFocusToComments(bool f) { - d->commentsEdit->setFocus(); + DDebug() << "Comments focus = " << f << endl; + + if (f) + d->commentsEdit->setFocus(); + else + d->commentsEdit->clearFocus(); } void ImageDescEditTab::assignRating(int rating) --- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.h #621995:621996 @@ -57,7 +57,7 @@ void assignRating(int rating); void setItem(ImageInfo *info=0); void populateTags(); - void setFocusToComments(); + void setFocusToComments(bool f); protected: --- trunk/extragear/graphics/digikam/libs/imageproperties/imagepropertiessidebardb.cpp #621995:621996 @@ -1,10 +1,12 @@ /* ============================================================ - * Author: Caulier Gilles <caulier dot gilles at kdemail dot net> - * Date : 2004-11-17 + * Authors: Caulier Gilles <caulier dot gilles at kdemail dot net> + * Marcel Wiesweg <marcel dot wiesweg at gmx dot de> + * Date : 2004-11-17 * Description : image properties side bar using data from * digiKam database. * * Copyright 2004-2006 by Gilles Caulier + * Copyright 2007 by Gilles Caulier and Marcel Wiesweg * * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General @@ -94,6 +96,9 @@ connectTab(m_colorTab); connectTab(d->desceditTab); + connect(this, SIGNAL(signalViewChanged()), + this, SLOT(slotSetFocus())); + connect(this, SIGNAL(signalChangedTab(QWidget*)), this, SLOT(slotChangedTab(QWidget*))); @@ -177,9 +182,7 @@ NavigateBarTab *navtab = dynamic_cast<NavigateBarTab *>(getActiveTab()); if (navtab) - { navtab->setNavigateBarState(d->hasPrevious, d->hasNext); - } } void ImagePropertiesSideBarDB::slotChangedTab(QWidget* tab) @@ -255,16 +258,22 @@ navtab->setNavigateBarFileName(m_currentURL.filename()); } - if (tab == d->desceditTab) - { - // See B.K.O #131632 and #131743 : always give focus to Comments widget - // when we toogle between tab and when we change current item. - d->desceditTab->setFocusToComments(); - } + slotSetFocus(); unsetCursor(); } +void ImagePropertiesSideBarDB::slotSetFocus() +{ + // See B.K.O #131632 and #131743 : always give focus to Comments widget + // when we toogle between tab and when we change current item. + + if (getActiveTab() == d->desceditTab && isExpanded()) + d->desceditTab->setFocusToComments(true); + else + d->desceditTab->setFocusToComments(false); +} + void ImagePropertiesSideBarDB::slotFileMetadataChanged(const KURL &url) { if (url == m_currentURL) @@ -321,4 +330,3 @@ } } // NameSpace Digikam - --- trunk/extragear/graphics/digikam/libs/imageproperties/imagepropertiessidebardb.h #621995:621996 @@ -1,10 +1,12 @@ /* ============================================================ - * Author: Caulier Gilles <caulier dot gilles at kdemail dot net> - * Date : 2004-11-17 + * Authors: Caulier Gilles <caulier dot gilles at kdemail dot net> + * Marcel Wiesweg <marcel dot wiesweg at gmx dot de> + * Date : 2004-11-17 * Description : image properties side bar using data from * digiKam database. * * Copyright 2004-2006 by Gilles Caulier + * Copyright 2007 by Gilles Caulier and Marcel Wiesweg * * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General @@ -85,6 +87,7 @@ private slots: + void slotSetFocus(); void slotChangedTab(QWidget* tab); void slotThemeChanged(); void slotFileMetadataChanged(const KURL &url); @@ -98,7 +101,6 @@ private: ImagePropertiesSideBarDBPriv* d; - }; } // NameSpace Digikam --- trunk/extragear/graphics/digikam/libs/widgets/common/sidebar.cpp #621995:621996 @@ -5,7 +5,7 @@ * Description : a widget to manage sidebar in gui. * * Copyright 2005-2006 by Joern Ahrens - * Copyright 2006 by Gilles Caulier + * Copyright 2006-2007 by Gilles Caulier * * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General @@ -39,6 +39,7 @@ // Local includes. #include "sidebar.h" +#include "sidebar.moc" namespace Digikam { @@ -56,20 +57,20 @@ minimized = false; } - bool minimizedDefault; - bool minimized; - bool isMinimized; + bool minimizedDefault; + bool minimized; + bool isMinimized; // Backup of minimized status (used with Fullscreen) - int tabs; - int activeTab; - int minSize; - int maxSize; + int tabs; + int activeTab; + int minSize; + int maxSize; - QWidgetStack *stack; - QSplitter *splitter; - QSize bigSize; + QWidgetStack *stack; + QSplitter *splitter; + QSize bigSize; - Sidebar::Side side; + Sidebar::Side side; }; Sidebar::Sidebar(QWidget *parent, const char *name, Side side, bool minimizedDefault) @@ -77,7 +78,7 @@ { d = new SidebarPriv; d->minimizedDefault = minimizedDefault; - d->side = side; + d->side = side; } Sidebar::~Sidebar() @@ -131,7 +132,6 @@ { KConfig *config = kapp->config(); config->setGroup(QString("%1").arg(name())); - config->writeEntry("ActiveTab", d->activeTab); config->writeEntry("Minimized", d->minimized); config->sync(); @@ -232,21 +232,19 @@ void Sidebar::shrink() { d->minimized = true; - d->bigSize = size(); - d->minSize = minimumWidth(); - d->maxSize = maximumWidth(); + d->bigSize = size(); + d->minSize = minimumWidth(); + d->maxSize = maximumWidth(); d->stack->hide(); KMultiTabBarTab* tab = tabs()->first(); if (tab) - { setFixedWidth(tab->width()); - } else - { setFixedWidth(width()); - } + + emit signalViewChanged(); } void Sidebar::expand() @@ -256,8 +254,12 @@ resize(d->bigSize); setMinimumWidth(d->minSize); setMaximumWidth(d->maxSize); + emit signalViewChanged(); } +bool Sidebar::isExpanded() +{ + return !d->minimized; +} + } // namespace Digikam - -#include "sidebar.moc" --- trunk/extragear/graphics/digikam/libs/widgets/common/sidebar.h #621995:621996 @@ -5,7 +5,7 @@ * Description : a widget to manage sidebar in gui. * * Copyright 2005-2006 by Joern Ahrens - * Copyright 2006 by Gilles Caulier + * Copyright 2006-2007 by Gilles Caulier * * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General @@ -129,6 +129,11 @@ */ void restore(); + /** + * return the visible status of current sidebar tab. + */ + bool isExpanded(); + private: @@ -151,10 +156,14 @@ */ void signalChangedTab(QWidget *w); + /** + * is emitted, when tab is shrink or expanded + */ + void signalViewChanged(); + private: SidebarPriv* d; - }; } // namespace Digikam
SVN commit 628812 by cgilles: digikam from trunk : forcing focus to Comments Edit Widget from Comments & Tags sidebar is not the right solution. Focus stuff is a complicated problem witch must be study indeep. In fact the folder view and album icon view take the focus with the mouse. The previous implementation cannot work with that. Also, alots of menu shorcuts are broken if we force Comments edit widget to take focus. My viewpoint is to implement a shortcut to toggle gui to captionning mode. It a better/simple solution. Please give me your viewpoint. CCBUGS: 131632, 131743 BUG: 140412 M +0 -9 imagedescedittab.cpp M +0 -1 imagedescedittab.h M +0 -16 imagepropertiessidebardb.cpp M +0 -1 imagepropertiessidebardb.h --- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.cpp #628811:628812 @@ -265,7 +265,6 @@ d->dateTimeEdit->installEventFilter(this); d->ratingWidget->installEventFilter(this); d->tagsView->installEventFilter(this); - setFocusToComments(true); updateRecentTags(); // Connect to album manager ----------------------------- @@ -588,14 +587,6 @@ d->revertBtn->setEnabled(true); } -void ImageDescEditTab::setFocusToComments(bool f) -{ - if (f) - d->commentsEdit->setFocus(); - else - d->commentsEdit->clearFocus(); -} - void ImageDescEditTab::assignRating(int rating) { d->ratingWidget->setRating(rating); --- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.h #628811:628812 @@ -59,7 +59,6 @@ void setItem(ImageInfo *info=0); void setItems(QPtrList<ImageInfo> infos); void populateTags(); - void setFocusToComments(bool f); signals: --- trunk/extragear/graphics/digikam/libs/imageproperties/imagepropertiessidebardb.cpp #628811:628812 @@ -98,9 +98,6 @@ connectTab(m_colorTab); connectTab(d->desceditTab); - connect(this, SIGNAL(signalViewChanged()), - this, SLOT(slotSetFocus())); - connect(this, SIGNAL(signalChangedTab(QWidget*)), this, SLOT(slotChangedTab(QWidget*))); @@ -360,22 +357,9 @@ } } - slotSetFocus(); - unsetCursor(); } -void ImagePropertiesSideBarDB::slotSetFocus() -{ - // See B.K.O #131632 and #131743 : always give focus to Comments widget - // when we toogle between tab and when we change current item. - - if (getActiveTab() == d->desceditTab && isExpanded()) - d->desceditTab->setFocusToComments(true); - else - d->desceditTab->setFocusToComments(false); -} - void ImagePropertiesSideBarDB::slotFileMetadataChanged(const KURL &url) { if (url == m_currentURL) --- trunk/extragear/graphics/digikam/libs/imageproperties/imagepropertiessidebardb.h #628811:628812 @@ -95,7 +95,6 @@ private slots: - void slotSetFocus(); void slotChangedTab(QWidget* tab); void slotThemeChanged(); void slotFileMetadataChanged(const KURL &url);
re-open. problem not solved yet... Gilles
*** Bug 131743 has been marked as a duplicate of this bug. ***
We're getting close on this. You can type comments in the box and then hit Page Down to go to the next picture. (Other shortcuts do not work while entering text.) However, oddly, when you are at the next picture, text you type does not appear in the comment box. You have to click on it, requiring removal of hands from keyboard (a big no-no on this workflow.) You can get to it in an odd way, by typing tab and shift-tab, indicating that somehow focus is on the comment box, but somehow it isn't. This is the latest 092
*** Bug 146934 has been marked as a duplicate of this bug. ***
I can confirm the focus problem described by Brad in #7. (note that this is the same in the light-table view, which solves the other wishes discussion in the original post). Well, if this is the only remaining obstacle before closing this bug, then I might have a look in the code. Gilles, do you have any pointer where to start with such a focus issue?
Arnd, No other pointer. Focus policy is not simple to solve. We will take a look later with KDE4 port... Gilles
*** Bug 185277 has been marked as a duplicate of this bug. ***
*** Bug 195177 has been marked as a duplicate of this bug. ***
*** Bug 200392 has been marked as a duplicate of this bug. ***
*** Bug 200380 has been marked as a duplicate of this bug. ***
For me, related bug 297291 and still apply in 2.6. no fast/simple (low number) shortcuts
Git commit fe90d5acb2e51fef4c1032affd1d4ca59ff8ad01 by Gilles Caulier. Committed on 10/09/2014 at 06:56. Pushed by cgilles into branch 'master'. Add keyboard shortcuts to be able to switch focus to Comments edit or Titles edit widgets : AlbumGUI and Image Editor : - Meta+C and Meta+T LightTable : - right sidebar : Meta+C and Meta+T - left sidebar : Shift+Meta+C and Shift+Meta+T FIXED-IN: 4.4.0 M +2 -1 NEWS M +10 -0 app/main/digikamapp.cpp M +15 -8 app/views/digikamview.cpp M +3 -0 app/views/digikamview.h M +16 -0 libs/imageproperties/imagedescedittab.cpp M +2 -0 libs/imageproperties/imagedescedittab.h M +31 -8 utilities/imageeditor/main/imagewindow.cpp M +3 -0 utilities/imageeditor/main/imagewindow.h M +45 -0 utilities/lighttable/lighttablewindow.cpp M +5 -0 utilities/lighttable/lighttablewindow.h http://commits.kde.org/digikam/fe90d5acb2e51fef4c1032affd1d4ca59ff8ad01