[Digikam-devel] [Bug 145079] Ctrl-A, Ctrl-Shift-A don't peform proper selection actions

Gilles Caulier caulier.gilles at gmail.com
Tue May 22 15:09:51 BST 2007


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=145079         
caulier.gilles gmail com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From caulier.gilles gmail com  2007-05-22 16:09 -------
SVN commit 667318 by cgilles:

digikam from trunk : Image Editor : added Edit/SelectAll and SelectNone actions
BUG: 145079

 M  +4 -1      showfoto/showfotoui.rc  
 M  +24 -0     utilities/imageeditor/canvas/canvas.cpp  
 M  +3 -0      utilities/imageeditor/canvas/canvas.h  
 M  +4 -1      utilities/imageeditor/editor/digikamimagewindowui.rc  
 M  +22 -1     utilities/imageeditor/editor/editorwindow.cpp  
 M  +4 -0      utilities/imageeditor/editor/editorwindowprivate.h  


--- trunk/extragear/graphics/digikam/showfoto/showfotoui.rc #667317:667318
 @ -1,5 +1,5  @
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui version="21" name="showfoto" >
+<gui version="22" name="showfoto" >
 
 <MenuBar>
 
 @ -29,6 +29,9  @
         <Separator/>     
         <Action name="editorwindow_undo" /> 
         <Action name="editorwindow_redo" />      
+        <Separator/>
+        <Action name="editorwindow_selectAll" />
+        <Action name="editorwindow_selectNone" />
     </Menu>
 
     <Menu name="View" ><text>&View</text>
--- trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/canvas.cpp #667317:667318
 @ -1300,5 +1300,29  @
         d->cornerButton->hide();        
 }
 
+void Canvas::slotSelectAll()
+{
+    if (d->rubber)
+    {
+        delete d->rubber;
+        d->rubber = 0;        
+    }
+
+    d->rubber       = new QRect(d->pixmapRect);
+    d->pressedMoved = true;
+    d->tileCache.clear();
+    viewport()->setMouseTracking(true);
+    viewport()->update();
+
+    if (d->im->imageValid())
+        emit signalSelected(true);
+}
+
+void Canvas::slotSelectNone()
+{
+    reset();
+    viewport()->update();
+}
+
 }  // namespace Digikam
 
--- trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/canvas.h #667317:667318
 @ -157,6 +157,9  @
 
     void slotCopy();
 
+    void slotSelectAll();
+    void slotSelectNone();
+
 protected:
     
     void resizeEvent(QResizeEvent* e);
--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/digikamimagewindowui.rc #667317:667318
 @ -1,5 +1,5  @
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui version="17" name="digikamimagewindow" >
+<gui version="18" name="digikamimagewindow" >
 
 <MenuBar>
 
 @ -26,6 +26,9  @
         <Separator/>
         <Action name="editorwindow_undo" />
         <Action name="editorwindow_redo" />
+        <Separator/>
+        <Action name="editorwindow_selectAll" />
+        <Action name="editorwindow_selectNone" />
     </Menu>
   
     <Menu name="View" ><text>&View</text>
--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindow.cpp #667317:667318
 @ -322,6 +322,22  @
 
     m_redoAction->setEnabled(false);
 
+    d->selectAllAction = new KAction(i18n("Select All"),
+                                     0,
+                                     CTRL+Key_A,
+                                     m_canvas,
+                                     SLOT(slotSelectAll()),
+                                     actionCollection(),
+                                     "editorwindow_selectAll");
+
+    d->selectNoneAction = new KAction(i18n("Select None"),
+                                     0,
+                                     CTRL+SHIFT+Key_A,
+                                     m_canvas,
+                                     SLOT(slotSelectNone()),
+                                     actionCollection(),
+                                     "editorwindow_selectNone");
+
     // -- Standard 'View' menu actions ---------------------------------------------
 
     d->zoomPlusAction = KStdAction::zoomIn(this, SLOT(slotIncreaseZoom()),
 @ -935,7 +951,6  @
 void EditorWindow::toggleStandardActions(bool val)
 {
     d->zoomFitToWindowAction->setEnabled(val);
-    m_saveAsAction->setEnabled(val);
     d->rotateLeftAction->setEnabled(val);
     d->rotateRightAction->setEnabled(val);
     d->flipHorizAction->setEnabled(val);
 @ -944,6 +959,8  @
     d->resizeAction->setEnabled(val);
     m_fileDeleteAction->setEnabled(val);
     m_saveAsAction->setEnabled(val);
+    d->selectAllAction->setEnabled(val);
+    d->selectNoneAction->setEnabled(val);
 
     // these actions are special: They are turned off if val is false,
     // but if val is true, they may be turned on or off.
 @ -1019,6 +1036,8  @
         unplugActionAccel(d->cropAction);
         unplugActionAccel(d->filePrintAction);
         unplugActionAccel(m_fileDeleteAction);
+        unplugActionAccel(d->selectAllAction);
+        unplugActionAccel(d->selectNoneAction);
 
         toggleGUI2FullScreen();
         m_fullScreen = false;
 @ -1078,6 +1097,8  @
         plugActionAccel(d->cropAction);
         plugActionAccel(d->filePrintAction);
         plugActionAccel(m_fileDeleteAction);
+        plugActionAccel(d->selectAllAction);
+        plugActionAccel(d->selectNoneAction);
 
         toggleGUI2FullScreen();
         showFullScreen();
--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindowprivate.h #667317:667318
 @ -80,6 +80,8  @
         zoomTo100percents      = 0;
         zoomCombo              = 0;
         zoomComboAction        = 0;
+        selectAllAction        = 0;
+        selectNoneAction       = 0;
     }
 
     ~EditorWindowPriv()
 @ -112,6 +114,8  @
     KAction                   *flipHorizAction;
     KAction                   *flipVertAction;
     KAction                   *slideShowAction;
+    KAction                   *selectAllAction;
+    KAction                   *selectNoneAction;
 
     KToggleAction             *zoomFitToWindowAction;
     KToggleAction             *viewCMViewAction;



More information about the Digikam-devel mailing list