Bug 131743

Summary: Comments and tag edit widgets should retain focus when changing image
Product: [Applications] digikam Reporter: Tomas Tichy <t.tichy>
Component: Usability-ErgonomyAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: jgoerzen, kdebug
Priority: NOR    
Version: 0.9.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 0.9.1
Sentry Crash Report:

Description Tomas Tichy 2006-08-02 20:56:26 UTC
Version:           0.9.0-beta1 (using KDE KDE 3.5.3)
Installed from:    SuSE RPMs
OS:                Linux

Common usage pattern of Digikam is: Dowload images from camera and after that tag and add comments to all images from the album. But the new sidebar have usability flaw in adding comments. If you finish editing comment in Comments widget and press PGDOWN for next image, the widget and the whole sidebar lose focus and there is no easy way how to get back to the edit widget with keyboard. You must hit TAB many times or you must move your hand from the keyboard to mouse and back.   
 I suggest that the sidebar with last selected widged should retain focus when changing images with PGUP/PGDOWN. When you are typing many comments, it is very bad for usability to have to use mouse between them. 
 There should be also shortcuts for editing comment, date & time and rating, which will greatly improve usability of Digikam with keyboard.
Comment 1 caulier.gilles 2006-08-17 01:57:42 UTC
Note : Rating shortcuts already exist : CTRL+SHIFT+0/1/2/3/4/5

Gilles Caulier
Comment 2 jgoerzen 2006-11-23 16:32:14 UTC
I agree.  I was about to submit a bug saying it wasn't even possible to move between photos using only the keyboard.  I still don't see where the PgDn shortcut is documented -- it certainly doesn't appear when hovering over the next item arrow, now does it appear in the digikam shortcuts settings box.
Comment 3 caulier.gilles 2006-12-22 13:13:39 UTC
*** Bug 131632 has been marked as a duplicate of this bug. ***
Comment 4 caulier.gilles 2006-12-22 13:18:35 UTC
SVN commit 615716 by cgilles:

digikam from trunk : Always give the keyboard focus to the Comments text edit widget from Comments & Tags sidebar.
BUG: 131743




 M  +3 -1      NEWS  
 M  +0 -4      digikam/albumwidgetstack.cpp  
 M  +0 -1      digikam/mediaplayerview.cpp  
 M  +3 -0      libs/imageproperties/imagedescedittab.cpp  


--- trunk/extragear/graphics/digikam/NEWS #615715:615716
@@ -407,6 +407,8 @@
                  tags (and to 'de'select them).
 243 ==> 132309 : Wish: enhance video support in digikam.
 244 ==> 115153 : Assigns tags not only to selected images with drag and drop.
-245 ==> 
+245 ==> 131743 : Comments and tag edit widgets should retain focus when changing image.
+246 ==> 131632 : Shortcuts for better captioning workflow.
+247 ==> 
 
 ---------------------------------------------------------------------------------------------------- 
--- trunk/extragear/graphics/digikam/digikam/albumwidgetstack.cpp #615715:615716
@@ -144,9 +144,6 @@
             imagePreviewWidget()->setImagePath(url.path());
         }
     }
-
-    if (visibleWidget())
-        visibleWidget()->setFocus();
 }
 
 int AlbumWidgetStack::previewMode(void)
@@ -164,7 +161,6 @@
         setPreviewItem();
 
     raiseWidget(mode);
-    visibleWidget()->setFocus();
 }
 
 }  // namespace Digikam
--- trunk/extragear/graphics/digikam/digikam/mediaplayerview.cpp #615715:615716
@@ -240,7 +240,6 @@
         return;
 
     raiseWidget(mode);
-    visibleWidget()->setFocus();
 }
 
 }  // NameSpace Digikam
--- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.cpp #615715:615716
@@ -502,6 +502,9 @@
     updateDate();
     updateTagsView();
     update();
+
+    // See B.K.O #131632 and #131743 : always give focus to Comments widget.
+    d->commentsEdit->setFocus();
 }
 
 void ImageDescEditTab::updateTagsView()
Comment 5 caulier.gilles 2006-12-22 14:16:00 UTC
SVN commit 615731 by cgilles:

digikam from trunk : Always give the keyboard focus to the Comments text edit widget from Comments & Tags when we change the active sidebar tab.
CCBUGS: 131743




 M  +61 -59    imagedescedittab.cpp  
 M  +1 -0      imagedescedittab.h  
 M  +9 -5      imagepropertiessidebardb.cpp  


--- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.cpp #615730:615731
@@ -251,7 +251,7 @@
     d->dateTimeEdit->installEventFilter(this);
     d->ratingWidget->installEventFilter(this);
     d->tagsView->installEventFilter(this);
-    d->commentsEdit->setFocus();
+    setFocusToComments();
     updateRecentTags();
 
     // Connect to album manager -----------------------------
@@ -317,53 +317,6 @@
     delete d;
 }
 
-bool ImageDescEditTab::eventFilter(QObject *, QEvent *e)
-{
-    if ( e->type() == QEvent::KeyPress )
-    {
-        QKeyEvent *k = (QKeyEvent *)e;
-        if (k->state() == Qt::ControlButton &&
-            (k->key() == Qt::Key_Enter || k->key() == Qt::Key_Return))
-        {
-            emit signalNextItem();
-            return true;
-        }
-        else if (k->state() == Qt::ShiftButton &&
-                 (k->key() == Qt::Key_Enter || k->key() == Qt::Key_Return))
-        {
-            emit signalPrevItem();
-            return true;
-        }
-
-        return false;
-    }
-    
-    return false;
-}
-
-void ImageDescEditTab::populateTags()
-{
-    d->tagsView->clear();
-
-    AlbumList tList = AlbumManager::instance()->allTAlbums();
-    for (AlbumList::iterator it = tList.begin(); it != tList.end(); ++it)
-    {
-        TAlbum *tag = (TAlbum*)(*it);
-        slotAlbumAdded(tag);
-    }
-}
-
-void ImageDescEditTab::slotModified()
-{
-    d->modified = true;
-    d->applyBtn->setEnabled(true);
-}
-
-void ImageDescEditTab::assignRating(int rating)
-{
-    d->ratingWidget->setRating(rating);
-}
-
 void ImageDescEditTab::slotApplyAllChanges()
 {
     if (!d->modified)
@@ -401,28 +354,28 @@
 
     if (AlbumSettings::instance())
     {
-	bool dirty = false;
+        bool dirty = false;
         DMetadata metadata(d->currInfo->filePath());
 
         if (AlbumSettings::instance()->getSaveComments())
         {
             // Store comments in image as JFIF comments, Exif comments, and Iptc Comments.
             metadata.setImageComment(d->commentsEdit->text());
-	    dirty = true;
+            dirty = true;
         }
 
         if (AlbumSettings::instance()->getSaveDateTime())
         {
             // Store Image Date & Time as Exif and Iptc tags.
             metadata.setImageDateTime(d->dateTimeEdit->dateTime(), false);
-	    dirty = true;
+            dirty = true;
         }
 
         if (AlbumSettings::instance()->getSaveIptcRating())
         {
             // Store Image rating as Iptc tag.
             metadata.setImageRating(d->ratingWidget->rating());
-	    dirty = true;
+            dirty = true;
         }
 
         if (AlbumSettings::instance()->getSaveIptcTags())
@@ -433,7 +386,7 @@
                 (*it).remove(0, 1);
     
             metadata.setImageKeywords(oldKeywords, tagPaths);
-	    dirty = true;
+            dirty = true;
         }
 
         if (AlbumSettings::instance()->getSaveIptcPhotographerId())
@@ -441,7 +394,7 @@
             // Store Photograph indentity into Iptc tags.
             metadata.setImagePhotographerId(AlbumSettings::instance()->getIptcAuthor(),
                                             AlbumSettings::instance()->getIptcAuthorTitle());
-	    dirty = true;
+            dirty = true;
         }
 
         if (AlbumSettings::instance()->getSaveIptcCredits())
@@ -450,14 +403,14 @@
             metadata.setImageCredits(AlbumSettings::instance()->getIptcCredit(),
                                      AlbumSettings::instance()->getIptcSource(),
                                      AlbumSettings::instance()->getIptcCopyright());
-	    dirty = true;
+            dirty = true;
         }
 
-	if (dirty)
-	{
+        if (dirty)
+        {
             metadata.applyChanges();
             ImageAttributesWatch::instance()->fileMetadataChanged(d->currInfo->kurl());
-	}
+        }
     }
 
     d->modified = false;
@@ -502,11 +455,60 @@
     updateDate();
     updateTagsView();
     update();
+}
 
-    // See B.K.O #131632 and #131743 : always give focus to Comments widget.
+bool ImageDescEditTab::eventFilter(QObject *, QEvent *e)
+{
+    if ( e->type() == QEvent::KeyPress )
+    {
+        QKeyEvent *k = (QKeyEvent *)e;
+        if (k->state() == Qt::ControlButton &&
+            (k->key() == Qt::Key_Enter || k->key() == Qt::Key_Return))
+        {
+            emit signalNextItem();
+            return true;
+        }
+        else if (k->state() == Qt::ShiftButton &&
+                 (k->key() == Qt::Key_Enter || k->key() == Qt::Key_Return))
+        {
+            emit signalPrevItem();
+            return true;
+        }
+
+        return false;
+    }
+    
+    return false;
+}
+
+void ImageDescEditTab::populateTags()
+{
+    d->tagsView->clear();
+
+    AlbumList tList = AlbumManager::instance()->allTAlbums();
+    for (AlbumList::iterator it = tList.begin(); it != tList.end(); ++it)
+    {
+        TAlbum *tag = (TAlbum*)(*it);
+        slotAlbumAdded(tag);
+    }
+}
+
+void ImageDescEditTab::slotModified()
+{
+    d->modified = true;
+    d->applyBtn->setEnabled(true);
+}
+
+void ImageDescEditTab::setFocusToComments()
+{
     d->commentsEdit->setFocus();
 }
 
+void ImageDescEditTab::assignRating(int rating)
+{
+    d->ratingWidget->setRating(rating);
+}
+
 void ImageDescEditTab::updateTagsView()
 {
     d->tagsView->blockSignals(true);
--- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.h #615730:615731
@@ -56,6 +56,7 @@
     void assignRating(int rating);
     void setItem(ImageInfo *info=0, int itemType=0);
     void populateTags();
+    void setFocusToComments();
 
 signals:
 
--- trunk/extragear/graphics/digikam/libs/imageproperties/imagepropertiessidebardb.cpp #615730:615731
@@ -41,13 +41,14 @@
 #include "themeengine.h"
 #include "albumiconitem.h"
 #include "albumiconview.h"
+#include "navigatebarwidget.h"
+#include "imagedescedittab.h"
+#include "imageattributeswatch.h"
 #include "imagepropertiestab.h"
 #include "imagepropertiesmetadatatab.h"
 #include "imagepropertiescolorstab.h"
-#include "imagedescedittab.h"
-#include "navigatebarwidget.h"
 #include "imagepropertiessidebardb.h"
-#include "imageattributeswatch.h"
+#include "imagepropertiessidebardb.moc"
 
 namespace Digikam
 {
@@ -225,7 +226,7 @@
     setCursor(KCursor::waitCursor());
 
     // No database data available, for example in the case of image editor is 
-    // launched from camera GUI.
+    // started from camera GUI.
     if (!d->currentInfo)
     {
         if (tab == m_propertiesTab && !m_dirtyPropertiesTab)
@@ -285,6 +286,10 @@
         }
     }
 
+    // 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();
+
     unsetCursor();
 }
 
@@ -345,4 +350,3 @@
 
 }  // NameSpace Digikam
 
-#include "imagepropertiessidebardb.moc"
Comment 6 Brad Templeton 2006-12-22 19:53:36 UTC
This is fine with me, though I could see other people annoyed if their focus changes.  Perhaps a right solution is to just keep keyboard focus where it was on the prior image.   Including the caption of course.  Or is that what the 2nd patch does?.  There are some keyboard shortcuts to actual letters (like 'a' for zoom, digits for rotate etc.)

In general, if you are going to have text boxes like the caption and search box, having ordinary letters as action keys when focus is on "the picture" is going to cause some confusion, as people type and find themselves accidentally rotating or vice versa (not as harmful.)   Keyboard focus should perhaps be less subtle (now it's a cursor and a thickening of the border of the comment box.
Comment 7 Mikolaj Machowski 2007-01-01 17:20:06 UTC
Uh, uh. I always steals focus which makes keyboard navigation in Digikam completely impossible.
Comment 8 Marcel Wiesweg 2007-01-01 22:40:40 UTC
Reopen because of regression:
As soon as the Comments/Tags sidebar tab has been visible once, keyboard focus will always be on the comments widget. 
Thats a problem because:
- the focus is gone even if another sidebar tab is visible
- keyboard navigation in icon view is impossible
- shortcuts dont work anymore (deleting a picture with Del)

Suggestion:
Keep focus on comments widget only if it had the focus, and the next picture was chosen with Page Up/Down?
Comment 9 Mikolaj Machowski 2007-01-02 00:33:03 UTC
> Suggestion:
> Keep focus on comments widget only if it had the focus, and the next
> picture was chosen with Page Up/Down?


I am for it. But this policy should also apply for all other widgets in
all tabs. Plus some smart way to change "major" focus between panel,
album view and album tree ("minor" focus would be changing between
appropriately panel widgets, images and albums).

m.
Comment 10 caulier.gilles 2007-01-02 23:35:30 UTC
Other problem with current implementation : if you take focus using mouse wheel on icon view or album tree view, the focus on Comment edit widget is lost.

Idem if you enable the icon tool tip feature and you move the mouse over a thumnail.

Nota : if comment & tab side is visible and comment edit widget has the focus, you can change the current selected thumb from album view to use page-up/page-down...

Gilles
Comment 11 Brad Templeton 2007-01-03 00:27:33 UTC
The main thing required is a reliable flow.  You can sort of get this by pressing Alt-C after going to next photo (pgdown) but that's not too exciting.  You might allow people to define their own shortcut for commenting or even a "next and caption" shortcut.

My preference is for fast captioning with no need to ever take hands off the keyboard to use the mouse, which is served by a "next and caption" shortcut.
Comment 12 caulier.gilles 2007-01-03 10:32:20 UTC
From #8 : Suggestion from Marcel to keep focus on comments widget only if it had the focus : yes this is a possible solution...

Gilles
Comment 13 caulier.gilles 2007-01-03 10:32:37 UTC
SVN commit 619377 by cgilles:

digikam from trunk : Image editor Transform shortcuts : use CTRL instead SHIFT to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +5 -5      editorwindow.cpp  


--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindow.cpp #619376:619377
@@ -354,11 +354,11 @@
     d->flipAction = new KActionMenu(i18n("Flip"), "flip", actionCollection(), "editorwindow_flip");
     d->flipAction->setDelayed(false);
 
-    d->flipHorzAction = new KAction(i18n("Horizontally"), 0, SHIFT+Key_Asterisk,
+    d->flipHorzAction = new KAction(i18n("Horizontally"), 0, CTRL+Key_Asterisk,
                                    m_canvas, SLOT(slotFlipHoriz()),
                                    actionCollection(), "editorwindow_fliphorizontal");
 
-    d->flipVertAction = new KAction(i18n("Vertically"), 0, SHIFT+Key_Slash,
+    d->flipVertAction = new KAction(i18n("Vertically"), 0, CTRL+Key_Slash,
                                    m_canvas, SLOT(slotFlipVert()),
                                    actionCollection(), "editorwindow_flipvertical");
                                    
@@ -373,15 +373,15 @@
     d->rotateAction->setDelayed(false);
 
     d->rotate90Action  = new KAction(i18n("90 Degrees"),
-                                    0, SHIFT+Key_9, m_canvas, SLOT(slotRotate90()),
+                                    0, CTRL+Key_9, m_canvas, SLOT(slotRotate90()),
                                     actionCollection(),
                                     "rotate_90");
     d->rotate180Action = new KAction(i18n("180 Degrees"),
-                                    0, SHIFT+Key_8, m_canvas, SLOT(slotRotate180()),
+                                    0, CTRL+Key_8, m_canvas, SLOT(slotRotate180()),
                                     actionCollection(),
                                     "rotate_180");
     d->rotate270Action = new KAction(i18n("270 Degrees"),
-                                    0, SHIFT+Key_7, m_canvas, SLOT(slotRotate270()),
+                                    0, CTRL+Key_7, m_canvas, SLOT(slotRotate270()),
                                     actionCollection(),
                                     "rotate_270");
 
Comment 14 caulier.gilles 2007-01-03 10:33:45 UTC
SVN commit 619378 by cgilles:

kipi-plugins from trunk : JPEGLossLess shortcuts : use CTRL instead SHIFT to prevent conflict with new rule from Comments Text edit widget focus from digiKam right side bar.

CCBUGS: 131743




 M  +5 -5      plugin_jpeglossless.cpp  


--- trunk/extragear/libs/kipi-plugins/jpeglossless/plugin_jpeglossless.cpp #619377:619378
@@ -92,7 +92,7 @@
 
     m_action_RotateImage->insert( new KAction(i18n("90 Degrees"),
                                   0,
-                                  SHIFT+Key_9,
+                                  CTRL+Key_9,
                                   this,
                                   SLOT(slotRotate()),
                                   actionCollection(),
@@ -100,7 +100,7 @@
 
     m_action_RotateImage->insert( new KAction(i18n("180 Degrees"),
                                   0,
-                                  SHIFT+Key_8,
+                                  CTRL+Key_8,
                                   this,
                                   SLOT(slotRotate()),
                                   actionCollection(),
@@ -108,7 +108,7 @@
 
     m_action_RotateImage->insert( new KAction(i18n("270 Degrees"),
                                   0,
-                                  SHIFT+Key_7,
+                                  CTRL+Key_7,
                                   this,
                                   SLOT(slotRotate()),
                                   actionCollection(),
@@ -121,7 +121,7 @@
 
     m_action_FlipImage->insert( new KAction(i18n("Horizontally"),
                                 0,
-                                SHIFT+Key_Asterisk,
+                                CTRL+Key_Asterisk,
                                 this,
                                 SLOT(slotFlip()),
                                 actionCollection(),
@@ -129,7 +129,7 @@
 
     m_action_FlipImage->insert( new KAction(i18n("Vertically"),
                                 0,
-                                SHIFT+Key_Slash,
+                                CTRL+Key_Slash,
                                 this,
                                 SLOT(slotFlip()),
                                 actionCollection(),
Comment 15 caulier.gilles 2007-01-03 10:53:29 UTC
SVN commit 619384 by cgilles:

digikam from trunk : Image editor Zoom Auto-Fit shortcut : use "CTRL+SHIFT+A" instead "A" to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +1 -1      editorwindow.cpp  


--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindow.cpp #619383:619384
@@ -303,7 +303,7 @@
     d->zoomMinusAction = KStdAction::zoomOut(m_canvas, SLOT(slotDecreaseZoom()),
                                             actionCollection(), "editorwindow_zoomminus");
     d->zoomFitAction = new KToggleAction(i18n("Zoom &AutoFit"), "viewmagfit",
-                                        Key_A, this, SLOT(slotToggleAutoZoom()),
+                                        CTRL+SHIFT+Key_A, this, SLOT(slotToggleAutoZoom()),
                                         actionCollection(), "editorwindow_zoomfit");
 
 #if KDE_IS_VERSION(3,2,0)
Comment 16 caulier.gilles 2007-01-03 10:58:21 UTC
From #8 : shortcuts dont work anymore (deleting a picture with Del) : for this one we can use CTRL+Del instead Del. Of course it's not really homogenous with other KDE applications...

Gilles
Comment 17 caulier.gilles 2007-01-03 11:10:51 UTC
SVN commit 619391 by cgilles:

digikam from trunk : Image editor Curve Tool shortcut : use "CTRL+U" instead "SHIFT+C" to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_adjustcurves_ui.rc  
 M  +6 -8      imageplugin_adjustcurves.cpp  


--- trunk/extragear/graphics/digikamimageplugins/adjustcurves/digikamimageplugin_adjustcurves_ui.rc #619390:619391
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_adjustcurves" >
+<kpartgui version="3" name="digikamimageplugin_adjustcurves" >
 
  <MenuBar>
 
@@ -18,7 +18,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+C" name="imageplugin_adjustcurves" />
+  <Action name="imageplugin_adjustcurves" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/adjustcurves/imageplugin_adjustcurves.cpp #619390:619391
@@ -1,10 +1,9 @@
 /* ============================================================
- * File  : imageplugin_adjustcurves.cpp
- * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
- * Date  : 2004-12-01
+ * Authors: Gilles Caulier <caulier dot gilles at kdemail dot net>
+ * Date   : 2004-12-01
  * Description : 
  * 
- * Copyright 2004-2006 by Gilles Caulier
+ * Copyright 2004-2007 by Gilles Caulier
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -32,6 +31,7 @@
 #include "bannerwidget.h"
 #include "adjustcurves.h"
 #include "imageplugin_adjustcurves.h"
+#include "imageplugin_adjustcurves.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_adjustcurves,
                             KGenericFactory<ImagePlugin_AdjustCurves>("digikamimageplugin_adjustcurves"));
@@ -40,7 +40,8 @@
                                                    const QStringList &)
                         : Digikam::ImagePlugin(parent, "ImagePlugin_AdjustCurves")
 {
-    m_curvesAction = new KAction(i18n("Curves Adjust..."), "adjustcurves", 0, 
+    m_curvesAction = new KAction(i18n("Curves Adjust..."), "adjustcurves", 
+			 CTRL+Key_U, 
                          this, SLOT(slotCurvesAdjust()),
                          actionCollection(), "imageplugin_adjustcurves");
 
@@ -67,6 +68,3 @@
     dlg.exec();
     delete headerFrame;
 }
-
-
-#include "imageplugin_adjustcurves.moc"
Comment 18 caulier.gilles 2007-01-03 11:13:55 UTC
SVN commit 619393 by cgilles:

digikam from trunk : Image editor Curve Tool shortcut : use "CTRL+M" instead "CTRL+U" to be homgenous with Photoshop shortcuts.

CCBUGS: 131743




 M  +1 -1      imageplugin_adjustcurves.cpp  


--- trunk/extragear/graphics/digikamimageplugins/adjustcurves/imageplugin_adjustcurves.cpp #619392:619393
@@ -41,7 +41,7 @@
                         : Digikam::ImagePlugin(parent, "ImagePlugin_AdjustCurves")
 {
     m_curvesAction = new KAction(i18n("Curves Adjust..."), "adjustcurves", 
-			 CTRL+Key_U, 
+			 CTRL+Key_M,         // NOTE: Photoshop 7 use CTRL+M.
                          this, SLOT(slotCurvesAdjust()),
                          actionCollection(), "imageplugin_adjustcurves");
 
Comment 19 caulier.gilles 2007-01-03 11:17:22 UTC
SVN commit 619394 by cgilles:

digikam from trunk : Image editor Level Tool shortcut : use "CTRL+L" instead "SHIFT+L" to prevent conflict with new rule from Comments Text edit widget focus from right side bar and to be homogenous with Photoshop shortcuts.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_adjustlevels_ui.rc  
 M  +6 -6      imageplugin_adjustlevels.cpp  


--- trunk/extragear/graphics/digikamimageplugins/adjustlevels/digikamimageplugin_adjustlevels_ui.rc #619393:619394
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_adjustlevels" >
+<kpartgui version="3" name="digikamimageplugin_adjustlevels" >
 
  <MenuBar>
 
@@ -18,7 +18,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+L" name="imageplugin_adjustlevels" />
+  <Action name="imageplugin_adjustlevels" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/adjustlevels/imageplugin_adjustlevels.cpp #619393:619394
@@ -1,10 +1,9 @@
 /* ============================================================
- * File  : imageplugin_adjustlevels.cpp
- * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
- * Date  : 2004-06-04
+ * Authors: Gilles Caulier <caulier dot gilles at kdemail dot net>
+ * Date   : 2004-06-04
  * Description : 
  * 
- * Copyright 2004-2005 by Gilles Caulier
+ * Copyright 2004-2007 by Gilles Caulier
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -32,6 +31,7 @@
 #include "bannerwidget.h"
 #include "adjustlevels.h"
 #include "imageplugin_adjustlevels.h"
+#include "imageplugin_adjustlevels.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_adjustlevels,
                             KGenericFactory<ImagePlugin_AdjustLevels>("digikamimageplugin_adjustlevels"))
@@ -40,7 +40,8 @@
                                                    const QStringList &)
                         : Digikam::ImagePlugin(parent, "ImagePlugin_AdjustLevels")
 {
-    m_levelsAction = new KAction(i18n("Levels Adjust..."), "adjustlevels", 0, 
+    m_levelsAction = new KAction(i18n("Levels Adjust..."), "adjustlevels", 
+                         CTRL+Key_L,         // NOTE: Photoshop 7 use CTRL+L. 
                          this, SLOT(slotLevelsAdjust()),
                          actionCollection(), "imageplugin_adjustlevels");
 
@@ -68,4 +69,3 @@
     delete headerFrame;    
 }
 
-#include "imageplugin_adjustlevels.moc"
Comment 20 caulier.gilles 2007-01-03 11:28:35 UTC
SVN commit 619404 by cgilles:

digikam from trunk : Image editor AntiVignetting Tool shortcut : "SHIFT+V" and "CTRL+V" cannot be use here to prevent conflict with new rule from Comments Text edit widget focus from right side bar. I remove the default keyboard shorcut for this tool.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_antivignetting_ui.rc  


--- trunk/extragear/graphics/digikamimageplugins/antivignetting/digikamimageplugin_antivignetting_ui.rc #619403:619404
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_antivignetting" >
+<kpartgui version="3" name="digikamimageplugin_antivignetting" >
 
  <MenuBar>
 
@@ -15,7 +15,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+V" name="imageplugin_antivignetting" />
+  <Action name="imageplugin_antivignetting" />
  </ActionProperties>
 
 </kpartgui>
Comment 21 caulier.gilles 2007-01-03 11:34:13 UTC
SVN commit 619407 by cgilles:

digikam from trunk : Image editor White Balance Tool shortcut : use "CTRL+W" instead "SHIFT+W" to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_whitebalance_ui.rc  
 M  +4 -5      imageplugin_whitebalance.cpp  


--- trunk/extragear/graphics/digikamimageplugins/whitebalance/digikamimageplugin_whitebalance_ui.rc #619406:619407
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_whitebalance" >
+<kpartgui version="3" name="digikamimageplugin_whitebalance" >
 
  <MenuBar>
  
@@ -18,7 +18,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+W" name="imageplugin_whitebalance" />
+  <Action name="imageplugin_whitebalance" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/whitebalance/imageplugin_whitebalance.cpp #619406:619407
@@ -1,10 +1,9 @@
 /* ============================================================
- * File  : imageplugin_whitebalance.cpp
  * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
  * Date  : 2005-03-11
  * Description : 
  * 
- * Copyright 2005 by Gilles Caulier
+ * Copyright 2005-2007 by Gilles Caulier
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -32,6 +31,7 @@
 #include "bannerwidget.h"
 #include "imageeffect_whitebalance.h"
 #include "imageplugin_whitebalance.h"
+#include "imageplugin_whitebalance.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_whitebalance,
                             KGenericFactory<ImagePlugin_WhiteBalance>("digikamimageplugin_whitebalance"));
@@ -39,7 +39,8 @@
 ImagePlugin_WhiteBalance::ImagePlugin_WhiteBalance(QObject *parent, const char*, const QStringList &)
                         : Digikam::ImagePlugin(parent, "ImagePlugin_WhiteBalance")
 {
-    m_whitebalanceAction = new KAction(i18n("White Balance..."), "whitebalance", 0, 
+    m_whitebalanceAction = new KAction(i18n("White Balance..."), "whitebalance", 
+                               CTRL+Key_W, 
                                this, SLOT(slotWhiteBalance()),
                                actionCollection(), "imageplugin_whitebalance");
     
@@ -66,5 +67,3 @@
     dlg.exec();
     delete headerFrame; 
 }
-
-#include "imageplugin_whitebalance.moc"
Comment 22 caulier.gilles 2007-01-03 11:41:54 UTC
SVN commit 619410 by cgilles:

digikam from trunk : Image editor Channel Mixer Tool shortcut : use "CTRL+H" instead "SHIFT+M" to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_channelmixer_ui.rc  
 M  +5 -5      imageplugin_channelmixer.cpp  


--- trunk/extragear/graphics/digikamimageplugins/channelmixer/digikamimageplugin_channelmixer_ui.rc #619409:619410
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_channelmixer" >
+<kpartgui version="3" name="digikamimageplugin_channelmixer" >
 
  <MenuBar>
 
@@ -18,7 +18,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+M" name="imageplugin_channelmixer" />
+  <Action name="imageplugin_channelmixer" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/channelmixer/imageplugin_channelmixer.cpp #619409:619410
@@ -1,7 +1,6 @@
 /* ============================================================
- * File  : imageplugin_channelmixer.cpp
- * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
- * Date  : 2005-02-26
+ * Authors: Gilles Caulier <caulier dot gilles at kdemail dot net>
+ * Date   : 2005-02-26
  * Description : 
  * 
  * Copyright 2005 by Gilles Caulier
@@ -32,6 +31,7 @@
 #include "bannerwidget.h"
 #include "channelmixer.h"
 #include "imageplugin_channelmixer.h"
+#include "imageplugin_channelmixer.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_channelmixer,
                             KGenericFactory<ImagePlugin_ChannelMixer>("digikamimageplugin_channelmixer"))
@@ -40,7 +40,8 @@
                                                    const QStringList &)
                         : Digikam::ImagePlugin(parent, "ImagePlugin_ChannelMixer")
 {
-    m_channelMixerAction = new KAction(i18n("Channel Mixer..."), "channelmixer", 0, 
+    m_channelMixerAction = new KAction(i18n("Channel Mixer..."), "channelmixer", 
+                               CTRL+Key_H, 
                                this, SLOT(slotChannelMixer()),
                                actionCollection(), "imageplugin_channelmixer");
 
@@ -68,4 +69,3 @@
     delete headerFrame; 
 }
 
-#include "imageplugin_channelmixer.moc"
Comment 23 caulier.gilles 2007-01-03 12:47:43 UTC
SVN commit 619423 by cgilles:

digikam from trunk : Image editor InsertText Tool shortcut : use "CTRL+T" instead "SHIFT+T" to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_inserttext_ui.rc  
 M  +6 -6      imageplugin_inserttext.cpp  


--- trunk/extragear/graphics/digikamimageplugins/inserttext/digikamimageplugin_inserttext_ui.rc #619422:619423
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_inserttext" >
+<kpartgui version="3" name="digikamimageplugin_inserttext" >
 
  <MenuBar>
 
@@ -15,7 +15,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+T" name="imageplugin_inserttext" />
+  <Action name="imageplugin_inserttext" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/inserttext/imageplugin_inserttext.cpp #619422:619423
@@ -1,10 +1,9 @@
 /* ============================================================
- * File  : imageplugin_inserttext.cpp
- * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
- * Date  : 2005-01-20
+ * Authors: Gilles Caulier <caulier dot gilles at kdemail dot net>
+ * Date   : 2005-01-20
  * Description : 
  * 
- * Copyright 2005 by Gilles Caulier
+ * Copyright 2005-2007 by Gilles Caulier
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -32,6 +31,7 @@
 #include "bannerwidget.h"
 #include "imageeffect_inserttext.h"
 #include "imageplugin_inserttext.h"
+#include "imageplugin_inserttext.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_inserttext,
                             KGenericFactory<ImagePlugin_InsertText>("digikamimageplugin_inserttext"));
@@ -39,7 +39,8 @@
 ImagePlugin_InsertText::ImagePlugin_InsertText(QObject *parent, const char*, const QStringList &)
                       : Digikam::ImagePlugin(parent, "ImagePlugin_InsertText")
 {
-    m_insertTextAction = new KAction(i18n("Insert Text..."), "inserttext", 0, 
+    m_insertTextAction = new KAction(i18n("Insert Text..."), "inserttext", 
+                         CTRL+Key_T, 
                          this, SLOT(slotInsertText()),
                          actionCollection(), "imageplugin_inserttext");
 
@@ -67,4 +68,3 @@
     delete headerFrame;
 }
 
-#include "imageplugin_inserttext.moc"
Comment 24 caulier.gilles 2007-01-03 12:48:10 UTC
SVN commit 619424 by cgilles:

digikam from trunk : Image editor AddBorder Tool shortcut : use "CTRL+B" instead "SHIFT+B" to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_border_ui.rc  
 M  +6 -5      imageplugin_border.cpp  


--- trunk/extragear/graphics/digikamimageplugins/border/digikamimageplugin_border_ui.rc #619423:619424
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="3" name="digikamimageplugin_border" >
+<kpartgui version="4" name="digikamimageplugin_border" >
 
  <MenuBar>
 
@@ -15,7 +15,7 @@
  </ToolBar>
  
  <ActionProperties>
-     <Action shortcut="Shift+B" name="imageplugin_border" />
+     <Action name="imageplugin_border" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/border/imageplugin_border.cpp #619423:619424
@@ -1,9 +1,9 @@
 /* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
- * Date  : 2005-01-20
+ * Authors: Gilles Caulier <caulier dot gilles at kdemail dot net>
+ * Date   : 2005-01-20
  * Description : 
  * 
- * Copyright 2005-2006 by Gilles Caulier
+ * Copyright 2005-2007 by Gilles Caulier
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -31,6 +31,7 @@
 #include "bannerwidget.h"
 #include "imageeffect_border.h"
 #include "imageplugin_border.h"
+#include "imageplugin_border.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_border,
                             KGenericFactory<ImagePlugin_Border>("digikamimageplugin_border"));
@@ -38,7 +39,8 @@
 ImagePlugin_Border::ImagePlugin_Border(QObject *parent, const char*, const QStringList &)
                   : Digikam::ImagePlugin(parent, "ImagePlugin_Border")
 {
-    m_borderAction = new KAction(i18n("Add Border..."), "bordertool", 0, 
+    m_borderAction = new KAction(i18n("Add Border..."), "bordertool", 
+                         CTRL+Key_B, 
                          this, SLOT(slotBorder()),
                          actionCollection(), "imageplugin_border");
 
@@ -66,4 +68,3 @@
     delete headerFrame;    
 }
 
-#include "imageplugin_border.moc"
Comment 25 caulier.gilles 2007-01-03 13:04:55 UTC
SVN commit 619427 by cgilles:

digikam from trunk : Image editor Refocus Tool shortcut : use "CTRL+F" instead "SHIFT+F" to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_refocus_ui.rc  
 M  +6 -6      imageplugin_refocus.cpp  


--- trunk/extragear/graphics/digikamimageplugins/refocus/digikamimageplugin_refocus_ui.rc #619426:619427
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_refocus" >
+<kpartgui version="3" name="digikamimageplugin_refocus" >
 
  <MenuBar>
 
@@ -15,7 +15,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+F" name="imageplugin_refocus" />
+  <Action name="imageplugin_refocus" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/refocus/imageplugin_refocus.cpp #619426:619427
@@ -1,10 +1,9 @@
 /* ============================================================
- * File  : imageplugin_refocus.cpp
- * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
- * Date  : 2005-04-29
+ * Authors: Gilles Caulier <caulier dot gilles at kdemail dot net>
+ * Date   : 2005-04-29
  * Description : 
  * 
- * Copyright 2005 by Gilles Caulier
+ * Copyright 2005-2007 by Gilles Caulier
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -32,6 +31,7 @@
 #include "bannerwidget.h"
 #include "imageeffect_refocus.h"
 #include "imageplugin_refocus.h"
+#include "imageplugin_refocus.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_refocus,
                             KGenericFactory<ImagePlugin_Refocus>("digikamimageplugin_refocus"));
@@ -39,7 +39,8 @@
 ImagePlugin_Refocus::ImagePlugin_Refocus(QObject *parent, const char*, const QStringList &)
                    : Digikam::ImagePlugin(parent, "ImagePlugin_Refocus")
 {
-    m_refocusAction = new KAction(i18n("Refocus..."), "refocus", 0, 
+    m_refocusAction = new KAction(i18n("Refocus..."), "refocus", 
+                          CTRL+Key_F, 
                           this, SLOT(slotRefocus()),
                           actionCollection(), "imageplugin_refocus");
                 
@@ -67,4 +68,3 @@
     delete headerFrame;
 }
 
-#include "imageplugin_refocus.moc"
Comment 26 caulier.gilles 2007-01-03 13:12:51 UTC
SVN commit 619432 by cgilles:

digikam from trunk : Image editor Inpainting Tool shortcut : use "CTRL+E" instead "SHIFT+I" to prevent conflict with new rule from Comments Text edit widget focus from right side bar.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_inpainting_ui.rc  
 M  +6 -6      imageplugin_inpainting.cpp  


--- trunk/extragear/graphics/digikamimageplugins/inpainting/digikamimageplugin_inpainting_ui.rc #619431:619432
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_inpainting" >
+<kpartgui version="3" name="digikamimageplugin_inpainting" >
 
  <MenuBar>
 
@@ -15,7 +15,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+I" name="imageplugin_inpainting" />
+  <Action name="imageplugin_inpainting" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/inpainting/imageplugin_inpainting.cpp #619431:619432
@@ -1,10 +1,9 @@
 /* ============================================================
- * File  : imageplugin_inpainting.cpp
- * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
- * Date  : 2005-03-30
+ * Authors: Gilles Caulier <caulier dot gilles at kdemail dot net>
+ * Date   : 2005-03-30
  * Description : 
  * 
- * Copyright 2005 by Gilles Caulier
+ * Copyright 2005-2007 by Gilles Caulier
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -31,6 +30,7 @@
 
 #include "imageeffect_inpainting.h"
 #include "imageplugin_inpainting.h"
+#include "imageplugin_inpainting.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_inpainting,
                             KGenericFactory<ImagePlugin_InPainting>("digikamimageplugin_inpainting"));
@@ -38,7 +38,8 @@
 ImagePlugin_InPainting::ImagePlugin_InPainting(QObject *parent, const char*, const QStringList &)
                       : Digikam::ImagePlugin(parent, "ImagePlugin_InPainting")
 {
-    m_inPaintingAction = new KAction(i18n("Inpainting..."), "inpainting", 0, 
+    m_inPaintingAction = new KAction(i18n("Inpainting..."), "inpainting",
+                             CTRL+Key_E, 
                              this, SLOT(slotInPainting()),
                              actionCollection(), "imageplugin_inpainting");
     
@@ -64,4 +65,3 @@
     DigikamInPaintingImagesPlugin::ImageEffect_InPainting::inPainting(parentWidget());
 }
 
-#include "imageplugin_inpainting.moc"
Comment 27 caulier.gilles 2007-01-03 13:15:15 UTC
SVN commit 619433 by cgilles:

digikam from trunk : Image editor LensDistorsion Tool shortcut : "SHIFT+D" and "CTRL+D" cannot be used here to prevent conflict with new rule from Comments Text edit widget focus from right side bar. I remove the default keyboard shorcut for this tool.

CCBUGS: 131743




 M  +2 -2      digikamimageplugin_lensdistortion_ui.rc  
 M  +3 -6      imageplugin_lensdistortion.cpp  


--- trunk/extragear/graphics/digikamimageplugins/lensdistortion/digikamimageplugin_lensdistortion_ui.rc #619432:619433
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="2" name="digikamimageplugin_lensdistortion" >
+<kpartgui version="3" name="digikamimageplugin_lensdistortion" >
 
  <MenuBar>
 
@@ -15,7 +15,7 @@
  </ToolBar>
  
  <ActionProperties>
-  <Action shortcut="Shift+D" name="imageplugin_lensdistortion" />
+  <Action name="imageplugin_lensdistortion" />
  </ActionProperties>
 
 </kpartgui>
--- trunk/extragear/graphics/digikamimageplugins/lensdistortion/imageplugin_lensdistortion.cpp #619432:619433
@@ -1,10 +1,9 @@
 /* ============================================================
- * File  : imageplugin_lensdistortion.cpp
  * Author: Gilles Caulier <caulier dot gilles at kdemail dot net>
  * Date  : 2004-12-27
  * Description : 
  * 
- * Copyright 2004-2005 by Gilles Caulier
+ * Copyright 2004-2007 by Gilles Caulier
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -32,12 +31,13 @@
 #include "bannerwidget.h"
 #include "imageeffect_lensdistortion.h"
 #include "imageplugin_lensdistortion.h"
+#include "imageplugin_lensdistortion.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_lensdistortion,
                             KGenericFactory<ImagePlugin_LensDistortion>("digikamimageplugin_lensdistortion"));
 
 ImagePlugin_LensDistortion::ImagePlugin_LensDistortion(QObject *parent, const char*, const QStringList &)
-                            : Digikam::ImagePlugin(parent, "ImagePlugin_LensDistortion")
+                          : Digikam::ImagePlugin(parent, "ImagePlugin_LensDistortion")
 {
     m_lensdistortionAction = new KAction(i18n("Lens Distortion Correction..."), "lensdistortion", 0, 
                                  this, SLOT(slotLensDistortion()),
@@ -66,6 +66,3 @@
     dlg.exec();
     delete headerFrame;
 }
-
-
-#include "imageplugin_lensdistortion.moc"
Comment 28 caulier.gilles 2007-01-03 13:46:38 UTC
SVN commit 619446 by cgilles:

digikam from trunk : fix Image editor AddBorder Tool default shortcut from CTRL+B to CTRL+F (like Frame). Note "CTRL+B" will be use to "Color Balance" Tool like with Photoshop.

CCBUGS: 131743




 M  +1 -1      imageplugin_border.cpp  


--- trunk/extragear/graphics/digikamimageplugins/border/imageplugin_border.cpp #619445:619446
@@ -40,7 +40,7 @@
                   : Digikam::ImagePlugin(parent, "ImagePlugin_Border")
 {
     m_borderAction = new KAction(i18n("Add Border..."), "bordertool", 
-                         CTRL+Key_B, 
+                         CTRL+Key_F, 
                          this, SLOT(slotBorder()),
                          actionCollection(), "imageplugin_border");
 
Comment 29 caulier.gilles 2007-01-03 13:50:20 UTC
SVN commit 619450 by cgilles:

digikam from trunk : Image editor AntiVignetting Tool shortcut : "SHIFT+V" and "CTRL+V" cannot be use here to prevent conflict with new rule from Comments Text edit widget focus from right side bar. I remove the default keyboard shorcut for this tool.

CCBUGS: 131743




 M  +4 -4      imageplugin_core.cpp  


--- trunk/extragear/graphics/digikam/imageplugins/imageplugin_core.cpp #619449:619450
@@ -5,7 +5,7 @@
  * Description : digiKam image editor plugin core
  *
  * Copyright 2004-2005 by Renchi Raju and Gilles Caulier
- * 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
@@ -48,6 +48,7 @@
 #include "imageeffect_autocorrection.h"
 #include "imageeffect_iccproof.h"
 #include "imageplugin_core.h"
+#include "imageplugin_core.moc"
 
 K_EXPORT_COMPONENT_FACTORY( digikamimageplugin_core,
                             KGenericFactory<ImagePlugin_Core>("digikam"));
@@ -81,7 +82,8 @@
                       this, SLOT(slotHSL()),
                       actionCollection(), "implugcore_hsl");
 
-    m_RGBAction = new KAction(i18n("Color Balance..."), "adjustrgb", 0,
+    m_RGBAction = new KAction(i18n("Color Balance..."), "adjustrgb", 
+                      CTRL+Key_B,      // NOTE: Photoshop 7 use CTRL+B.
                       this, SLOT(slotRGB()),
                       actionCollection(), "implugcore_rgb");
 
@@ -265,5 +267,3 @@
     iface.convertOriginalColorDepth(64);
     parentWidget()->unsetCursor();
 }
-
-#include "imageplugin_core.moc"
Comment 30 caulier.gilles 2007-01-03 14:22:38 UTC
Marcel,

I have polished all Keyboard shortcuts in editor to be compatible with Sidebar comments & tab and to be homogenous with PhotoShop 7 shortcuts (this version work fine in my computer using cross over office 5.0 (never tested Photoshop CS under linux)

Still Only the "Delete" shortcut in conflict...

About to do "Keep focus on comments widget only if it had the focus", if you have a patch to fix it, let's me hear...

Gilles
Comment 31 Fabien 2007-01-03 14:27:32 UTC
About #16 (deleting pictures with del). It's not only not homogeneous with other KDE applications but also with any software : most softwares under all operating systems use the Del key to delete an element.
I hope it will still be possible to delete pictures using the Del key, at least when the focus is in the thumbnail panel...
Comment 32 caulier.gilles 2007-01-10 09:09:04 UTC
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
Comment 33 Fabien 2007-01-12 18:12:51 UTC
I finally took time to test the latest svn version :)

Some comments :
- if I change the comment then switch to another picture, the modifications are taken in account even if I don't press the "Apply Changes" button. Expected behavior with this new button would be for me to not change anything except if button depressed. Or I don't see why there's this button :)
I also found it a bit "dangerous" as it's too easy to change the comment (I know it's meant for that, but maybe it's too much :) ) without wanting to do it...

- do you think it would be possible to not have the focus in the comment panel in any way (eg : if we don't click in this panel) ?
I found it not very convenient to not be able to navigate in the thumbnails using arrows + not possible to delete a picture with del

IMHO, the best, *if possible*, would be like before :
- no focus by default in the comment sidebar
- BUT, when there's the focus, keep it when switching to the next picture (using mouse of PageUp/PageDown). I guess that corresponds to the original request.
Comment 34 Mikolaj Machowski 2007-01-12 21:40:10 UTC
> IMHO, the best, *if possible*, would be like before :
> - no focus by default in the comment sidebar
> - BUT, when there's the focus, keep it when switching to the next
> picture (using mouse of PageUp/PageDown). I guess that corresponds to
> the original request. _______________________________________________


Yes, yes, yes. Focus should be retained where it was - keep to
thumbnails part, or comments, or data, or tags.

m.
Comment 35 caulier.gilles 2007-01-15 07:36:27 UTC
Sound like a "focus proxy" to implemente. I wil take a look.

Gilles
Comment 36 caulier.gilles 2007-01-31 16:11:20 UTC
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);
Comment 37 caulier.gilles 2007-01-31 16:15:10 UTC
I tag like duplicate this file with #131632. Fine solution is to implement a shortcut to toggle GUi in "Captionning Mode". Please continue this thread in #131632.

Gilles Caulier

*** This bug has been marked as a duplicate of 131632 ***