[Bug 145236] New: small wishes for the light-table

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] New: small wishes for the light-table

Arnd Baecker
------- 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=145236         
           Summary: small wishes for the light-table
           Product: digikam
           Version: unspecified
          Platform: Debian stable
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: wishlist
          Priority: NOR
         Component: Light Table
        AssignedTo: digikam-devel kde org
        ReportedBy: arnd.baecker web de


Version:            (using KDE KDE 3.5.5)
Installed from:    Debian stable Packages

Some more small (or big?) wishes

a) The switching of the synchronization of previews works
   very nice.
   It would be very convenient (i.e. much faster) for quick
   adjustments, that for example
   CTRL-slider (and CTRL-middle-mouse-button move)
   would just do the unsynchronized operation?
b) A way to go through pairs of images of the thumb-bar
   one after-another, i.e.
   [ image 1] [ image 2]
   are displayed side by side; then pressing
   (for example) Page-Up would show
   [ image 2] [image 3]

could be used such that
   Page-Up leads to the prese
c) left-double click on thumb: insert into left panel
   right-double click on thumb: inser into right panel
d) keyboard navigation in the thumbs-display?


P.S.: Is there a way to more directly enter bugs in the B.K.O for
the same component than to go through the whole sequence
(of specifying KDE version, OS, ...) every time again?
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Arnd Baecker
------- 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=145236         
arnd.baecker web de changed:

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



------- Additional Comments From arnd.baecker web de  2007-05-09 18:19 -------
Umpf, this one got garbled before submission
(did I already mention that I really do hate this B.K.O ????)
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Gilles Caulier-4
In reply to this post by Arnd Baecker
------- 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=145236         




------- Additional Comments From caulier.gilles gmail com  2007-05-10 20:47 -------
SVN commit 663291 by cgilles:

digikam from trunk: Light Table : use CTRL+R and CTRL+L to place thumbbar item on Right or Left panel.
CCBUGS: 145236


 M  +2 -2      lighttablewindow.cpp  


--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.cpp #663290:663291
 @ -377,12 +377,12  @
     // -- Standard 'File' menu actions ---------------------------------------------
 
     d->setItemLeftAction = new KAction(i18n("Show item on left panel"), "previous",
-                                       0, this, SLOT(slotSetItemLeft()),
+                                       CTRL+Key_L, this, SLOT(slotSetItemLeft()),
                                        actionCollection(), "lighttable_setitemleft");
     d->setItemLeftAction->setEnabled(false);
 
     d->setItemRightAction = new KAction(i18n("Show item on right panel"), "next",
-                                       0, this, SLOT(slotSetItemRight()),
+                                       CTRL+Key_R, this, SLOT(slotSetItemRight()),
                                        actionCollection(), "lighttable_setitemright");
     d->setItemRightAction->setEnabled(false);
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Gilles Caulier-4
In reply to this post by Arnd Baecker
------- 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=145236         




------- Additional Comments From caulier.gilles gmail com  2007-05-10 21:30 -------
SVN commit 663302 by cgilles:

digikam from trunk : Light Table : added "File/Delete" option in main menu
CCBUGS: 145236


 M  +10 -10    project/digikam.kdevelop  
 M  +49 -40    utilities/lighttable/lighttablewindow.cpp  
 M  +1 -0      utilities/lighttable/lighttablewindow.h  
 M  +3 -1      utilities/lighttable/lighttablewindowui.rc  


--- trunk/extragear/graphics/digikam/project/digikam.kdevelop #663301:663302
 @ -12,10 +12,10  @
     </keywords>
     <projectdirectory>./</projectdirectory>
     <absoluteprojectpath>false</absoluteprojectpath>
-    <description/>
+    <description></description>
     <ignoreparts/>
     <projectname>digikam</projectname>
-    <defaultencoding/>
+    <defaultencoding></defaultencoding>
   </general>
   <kdevfileview>
     <groups>
 @ -75,10 +75,10  @
     <general>
       <dbgshell>libtool</dbgshell>
       <programargs/>
-      <gdbpath/>
-      <configGdbScript/>
-      <runShellScript/>
-      <runGdbScript/>
+      <gdbpath></gdbpath>
+      <configGdbScript></configGdbScript>
+      <runShellScript></runShellScript>
+      <runGdbScript></runGdbScript>
       <breakonloadinglibs>true</breakonloadinglibs>
       <separatetty>false</separatetty>
       <floatingtoolbar>false</floatingtoolbar>
 @ -113,12 +113,12  @
     <run>
       <directoryradio>build</directoryradio>
       <customdirectory>/</customdirectory>
-      <mainprogram>digikam/digikam/digikam</mainprogram>
-      <programargs/>
+      <mainprogram>/home/gilles/Documents/devel/SVN/trunk/graphics/digikam/digikam/digikam</mainprogram>
+      <programargs></programargs>
       <terminal>false</terminal>
       <autocompile>false</autocompile>
       <envvars/>
-      <globaldebugarguments/>
+      <globaldebugarguments></globaldebugarguments>
       <globalcwd>../digikam</globalcwd>
       <useglobalprogram>true</useglobalprogram>
       <autoinstall>false</autoinstall>
 @ -192,7 +192,7  @
       <includePaths>.;</includePaths>
     </codecompletion>
     <creategettersetter>
-      <prefixGet/>
+      <prefixGet></prefixGet>
       <prefixSet>set</prefixSet>
       <prefixVariable>m_,_</prefixVariable>
       <parameterName>theValue</parameterName>
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.cpp #663301:663302
 @ -75,43 +75,40  @
 
     LightTableWindowPriv()
     {
-        fullScreenHideToolBar               = true;
-        fullScreen                          = false;
-        removeFullScreenButton              = false;
-        cancelSlideShow                     = false;
-        star0                               = 0;
-        star1                               = 0;
-        star2                               = 0;
-        star3                               = 0;
-        star4                               = 0;
-        star5                               = 0;
-        accelerators                        = 0;
-        leftSidebar                         = 0;
-        rightSidebar                        = 0;
-        previewView                         = 0;
-        barView                             = 0;
-        hSplitter                           = 0;
-        vSplitter                           = 0;
-        syncPreviewAction                   = 0;
-        autoSyncPreviewAction               = 0;
-        clearListAction                     = 0;
-        setItemLeftAction                   = 0;
-        setItemRightAction                  = 0;
-        removeItemAction                    = 0;
-        fileDeleteAction                    = 0;
-        slideShowAction                     = 0;
-        fullScreenAction                    = 0;
-        fileDeletePermanentlyAction         = 0;
-        fileDeletePermanentlyDirectlyAction = 0;
-        fileTrashDirectlyAction             = 0;
-        donateMoneyAction                   = 0;
-        zoomFitToWindowAction               = 0;
-        zoomTo100percents                   = 0;
-        zoomPlusAction                      = 0;
-        zoomMinusAction                     = 0;
-        statusProgressBar                   = 0;
-        leftZoomBar                         = 0;  
-        rightZoomBar                        = 0;  
+        fullScreenHideToolBar  = true;
+        fullScreen             = false;
+        removeFullScreenButton = false;
+        cancelSlideShow        = false;
+        star0                  = 0;
+        star1                  = 0;
+        star2                  = 0;
+        star3                  = 0;
+        star4                  = 0;
+        star5                  = 0;
+        accelerators           = 0;
+        leftSidebar            = 0;
+        rightSidebar           = 0;
+        previewView            = 0;
+        barView                = 0;
+        hSplitter              = 0;
+        vSplitter              = 0;
+        syncPreviewAction      = 0;
+        autoSyncPreviewAction  = 0;
+        clearListAction        = 0;
+        setItemLeftAction      = 0;
+        setItemRightAction     = 0;
+        removeItemAction       = 0;
+        fileDeleteAction       = 0;
+        slideShowAction        = 0;
+        fullScreenAction       = 0;
+        donateMoneyAction      = 0;
+        zoomFitToWindowAction  = 0;
+        zoomTo100percents      = 0;
+        zoomPlusAction         = 0;
+        zoomMinusAction        = 0;
+        statusProgressBar      = 0;
+        leftZoomBar            = 0;  
+        rightZoomBar           = 0;  
     }
 
     bool                      fullScreenHideToolBar;
 @ -137,9 +134,6  @
     KAction                  *fileDeleteAction;
     KAction                  *slideShowAction;
     KAction                  *donateMoneyAction;
-    KAction                  *fileDeletePermanentlyAction;
-    KAction                  *fileDeletePermanentlyDirectlyAction;
-    KAction                  *fileTrashDirectlyAction;
     KAction                  *zoomPlusAction;
     KAction                  *zoomMinusAction;
     KAction                  *zoomTo100percents;
 @ -394,7 +388,14  @
     d->clearListAction = new KAction(i18n("Clear all items"), "editshred",
                                      0, this, SLOT(slotClearItemsList()),
                                      actionCollection(), "lighttable_clearlist");
+    d->clearListAction->setEnabled(false);
 
+    d->fileDeleteAction = new KAction(i18n("Move to Trash"), "edittrash",
+                                     Key_Delete,
+                                     this, SLOT(slotDeleteItem()),
+                                     actionCollection(), "lighttable_filedelete");
+    d->fileDeleteAction->setEnabled(false);
+
     KStdAction::quit(this, SLOT(close()), actionCollection(), "lighttable_exit");
 
     // -- Standard 'View' menu actions ---------------------------------------------
 @ -609,6 +610,7  @
         d->setItemRightAction->setEnabled(true);
         d->removeItemAction->setEnabled(true);
         d->clearListAction->setEnabled(true);
+        d->fileDeleteAction->setEnabled(true);
     }
     else
     {
 @ -616,6 +618,7  @
         d->setItemRightAction->setEnabled(false);
         d->removeItemAction->setEnabled(false);
         d->clearListAction->setEnabled(false);
+        d->fileDeleteAction->setEnabled(false);
     }
 
     d->previewView->checkForSelection(info);
 @ -690,6 +693,12  @
     d->barView->clear();
 }
 
+void LightTableWindow::slotDeleteItem()
+{
+    if (d->barView->currentItemImageInfo())
+        slotDeleteItem(d->barView->currentItemImageInfo());
+}
+
 void LightTableWindow::slotDeleteItem(ImageInfo* info)
 {
     bool ask         = true;
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.h #663301:663302
 @ -105,6 +105,7  @
     void slotToggleSyncPreview();
 
     void slotEditItem(ImageInfo*);
+    void slotDeleteItem();
     void slotDeleteItem(ImageInfo*);
     void slotItemSelected(ImageInfo*);
 
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindowui.rc #663301:663302
 @ -1,5 +1,5  @
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui version="10" name="lighttablewindow" >
+<gui version="11" name="lighttablewindow" >
 
 <MenuBar>
 
 @ -10,6 +10,8  @
         <Action name="lighttable_removeitem" />
         <Action name="lighttable_clearlist" />
         <Separator/>
+        <Action name="lighttable_filedelete" />
+        <Separator/>
         <Action name="lighttable_exit" />
     </Menu>
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Gilles Caulier-4
In reply to this post by Arnd Baecker
------- 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=145236         




------- Additional Comments From caulier.gilles gmail com  2007-05-12 08:49 -------
SVN commit 663723 by cgilles:

digikam from trunk: Light Table : re-synchronize preview properlly when "Sync Left/Right" panel option is toogle on.
CCBUGS: 145236



 M  +4 -0      lighttableview.cpp  
 M  +1 -1      lighttablewindow.cpp  


--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttableview.cpp #663722:663723
 @ -143,6 +143,10  @
 void LightTableView::setSyncPreview(bool sync)
 {
     d->syncPreview = sync;
+
+    // Left panel like a reference to resync preview.
+    if (d->syncPreview)    
+        slotLeftContentsMoved(d->leftPreview->contentsX(), d->leftPreview->contentsY());
 }
 
 void LightTableView::slotDecreaseZoom()
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.cpp #663722:663723
 @ -1230,7 +1230,7  @
 {
     d->zoomPlusAction->setEnabled(d->syncPreviewAction->isChecked());
     d->zoomMinusAction->setEnabled(d->syncPreviewAction->isChecked());
-    d->previewView->setSyncPreview(d->syncPreviewAction->isChecked());
+    d->previewView->setSyncPreview(d->syncPreviewAction->isChecked());    
 }
 
 void LightTableWindow::slotToggleOnSyncPreview(bool t)
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Gilles Caulier-4
In reply to this post by Arnd Baecker
------- 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=145236         




------- Additional Comments From caulier.gilles gmail com  2007-05-12 21:37 -------
SVN commit 663963 by cgilles:

digiKam from trunk : Light Table : Add "Navigate by Pair" option.

In this mode drag & drop is disable between thumbbar and left/right panels.
The options to set amnually the item on Left or Right panel are also disable (main menu and pop-up menu)

The light table will set automaticly the left item with the current item selected on thumbbar and the right item
is the next item on thumbbar.

CCBUGS: 145236


 M  +26 -7     lighttablebar.cpp  
 M  +4 -0      lighttablebar.h  
 M  +23 -9     lighttablepreview.cpp  
 M  +2 -0      lighttablepreview.h  
 M  +6 -0      lighttableview.cpp  
 M  +1 -0      lighttableview.h  
 M  +47 -2     lighttablewindow.cpp  
 M  +1 -0      lighttablewindow.h  
 M  +3 -1      lighttablewindowui.rc  


--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablebar.cpp #663962:663963
 @ -56,7 +56,8  @
 {
     setMouseTracking(true);
     readToolTipSettings();
-    m_toolTip = new LightTableBarToolTip(this);
+    m_toolTip        = new LightTableBarToolTip(this);
+    m_navigateByPair = false;
 
     connect(ThemeEngine::instance(), SIGNAL(signalThemeChanged()),
             this, SLOT(slotUpdate()));
 @ -95,6 +96,11  @
     delete m_toolTip;
 }
 
+void LightTableBar::setNavigateByPair(bool b)
+{
+    m_navigateByPair = b;
+}
+
 void LightTableBar::slotImageRatingChanged(Q_LLONG imageId)
 {
     for (ThumbBarItem *item = firstItem(); item; item = item->next())
 @ -124,6 +130,13  @
         popmenu.insertItem(SmallIcon("previous"), i18n("Show on left panel"), 10);
         popmenu.insertItem(SmallIcon("next"), i18n("Show on right panel"), 11);
         popmenu.insertItem(SmallIcon("editimage"), i18n("Edit"), 12);
+        
+        if (m_navigateByPair)
+        {
+            popmenu.setItemEnabled(10, false);    
+            popmenu.setItemEnabled(11, false);    
+        }
+
         popmenu.insertSeparator();
         popmenu.insertItem(SmallIcon("fileclose"), i18n("Remove"), 13);
         popmenu.insertItem(SmallIcon("editshred"), i18n("Clear all"), 14);
 @ -219,13 +232,16  @
 
 void LightTableBar::setOnLeftPanel(const ImageInfo* info)
 {
-    if (!info) return;
-
     for (ThumbBarItem *item = firstItem(); item; item = item->next())
     {
         LightTableBarItem *ltItem = dynamic_cast<LightTableBarItem*>(item);
         if (ltItem)
-            ltItem->setOnLeftPanel(ltItem->info()->id() == info->id());
+        {
+            if (info)
+                ltItem->setOnLeftPanel(ltItem->info()->id() == info->id());
+            else
+                ltItem->setOnLeftPanel(false);
+        }
     }
 
     triggerUpdate();
 @ -233,13 +249,16  @
 
 void LightTableBar::setOnRightPanel(const ImageInfo* info)
 {
-    if (!info) return;
-
     for (ThumbBarItem *item = firstItem(); item; item = item->next())
     {
         LightTableBarItem *ltItem = dynamic_cast<LightTableBarItem*>(item);
         if (ltItem)
-            ltItem->setOnRightPanel(ltItem->info()->id() == info->id());
+        {
+            if (info)
+                ltItem->setOnRightPanel(ltItem->info()->id() == info->id());
+            else
+                ltItem->setOnRightPanel(false);
+        }
     }
 
     triggerUpdate();
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablebar.h #663962:663963
 @ -72,6 +72,8  @
 
     void removeItem(const ImageInfo* info);
 
+    void setNavigateByPair(bool b);
+
 signals:
 
     void signalLightTableBarItemSelected(ImageInfo*);
 @ -104,6 +106,8  @
 
 private:
 
+    bool                  m_navigateByPair;
+
     QPixmap               m_ratingPixmap;
 
     LightTableBarToolTip *m_toolTip;
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablepreview.cpp #663962:663963
 @ -91,6 +91,7  @
         hasPrev              = false;
         hasNext              = false;
         selected             = false;
+        dragAndDropEnabled   = true;
         currentFitWindowZoom = 0;
         previewSize          = 1024;
     }
 @ -98,6 +99,7  @
     bool               hasPrev;
     bool               hasNext;
     bool               selected;
+    bool               dragAndDropEnabled;
 
     int                previewSize;
 
 @ -172,6 +174,11  @
     delete d;
 }
 
+void LightTablePreview::setDragAndDropEnabled(bool b)
+{
+    d->dragAndDropEnabled = b;
+}
+
 void LightTablePreview::setImage(const QImage& image)
 {  
     d->preview = image;
 @ -647,15 +654,18  @
     d->path      = QString();
     d->imageInfo = 0;
 
-    QPixmap pix(visibleWidth(), visibleHeight());
-    pix.fill(ThemeEngine::instance()->baseColor());
-    QPainter p(&pix);
-    p.setPen(QPen(ThemeEngine::instance()->textRegColor()));
-    p.drawText(0, 0, pix.width(), pix.height(),
-               Qt::AlignCenter|Qt::WordBreak,
-               i18n("Drag and drop here an item"));
-    p.end();
-    setImage(pix.convertToImage());
+    if (d->dragAndDropEnabled)
+    {
+        QPixmap pix(visibleWidth(), visibleHeight());
+        pix.fill(ThemeEngine::instance()->baseColor());
+        QPainter p(&pix);
+        p.setPen(QPen(ThemeEngine::instance()->textRegColor()));
+        p.drawText(0, 0, pix.width(), pix.height(),
+                Qt::AlignCenter|Qt::WordBreak,
+                i18n("Drag and drop here an item"));
+        p.end();
+        setImage(pix.convertToImage());
+    }
 
     updateZoomAndSize(true);
     emit signalPreviewLoaded(false);
 @ -671,6 +681,8  @
 
 void LightTablePreview::contentsDragMoveEvent(QDragMoveEvent *e)
 {
+    if (!d->dragAndDropEnabled) return;
+
     KURL::List      urls;
     KURL::List      kioURLs;        
     QValueList<int> albumIDs;
 @ -686,6 +698,8  @
 
 void LightTablePreview::contentsDropEvent(QDropEvent *e)
 {
+    if (!d->dragAndDropEnabled) return;
+
     KURL::List      urls;
     KURL::List      kioURLs;        
     QValueList<int> albumIDs;
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablepreview.h #663962:663963
 @ -68,6 +68,8  @
 
     void setSelected(bool sel);
 
+    void setDragAndDropEnabled(bool b);
+
 signals:
 
     void signalDroppedItems(const ImageInfoList&);
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttableview.cpp #663962:663963
 @ -149,6 +149,12  @
         slotLeftContentsMoved(d->leftPreview->contentsX(), d->leftPreview->contentsY());
 }
 
+void LightTableView::setNavigateByPair(bool b)
+{
+    d->leftPreview->setDragAndDropEnabled(!b);
+    d->rightPreview->setDragAndDropEnabled(!b);
+}
+
 void LightTableView::slotDecreaseZoom()
 {
     if (!d->syncPreview) return;
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttableview.h #663962:663963
 @ -51,6 +51,7  @
     ~LightTableView();
 
     void   setSyncPreview(bool sync);
+    void   setNavigateByPair(bool b);
 
     void   setLeftImageInfo(ImageInfo* info=0);
     void   setRightImageInfo(ImageInfo* info=0);
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.cpp #663962:663963
 @ -113,6 +113,7  @
         backwardAction         = 0;
         firstAction            = 0;
         lastAction             = 0;
+        navigateByPairAction   = 0;
     }
 
     bool                      autoSyncPreview;
 @ -152,6 +153,7  @
 
     KToggleAction            *fullScreenAction;
     KToggleAction            *syncPreviewAction;
+    KToggleAction            *navigateByPairAction;
 
     KAccel                   *accelerators;
 
 @ -464,6 +466,12  @
                                             actionCollection(), "lighttable_syncpreview");
     d->syncPreviewAction->setEnabled(false);
 
+    d->navigateByPairAction = new KToggleAction(i18n("Navigate by Pair"), "kcmsystem",
+                                            CTRL+SHIFT+Key_P, this,
+                                            SLOT(slotToggleNavigateByPair()),
+                                            actionCollection(), "lighttable_navigatebypair");
+    d->navigateByPairAction->setEnabled(false);
+
     d->zoomPlusAction = KStdAction::zoomIn(d->previewView, SLOT(slotIncreaseZoom()),
                                           actionCollection(), "lighttable_zoomplus");
     d->zoomPlusAction->setEnabled(false);
 @ -685,6 +693,8  @
         d->forwardAction->setEnabled(true);
         d->firstAction->setEnabled(true);
         d->lastAction->setEnabled(true);
+        d->syncPreviewAction->setEnabled(true);
+        d->navigateByPairAction->setEnabled(true);
 
         LightTableBarItem* curr = d->barView->findItemByInfo(info);
         if (curr)
 @ -700,6 +710,26  @
                 d->forwardAction->setEnabled(false);
                 d->lastAction->setEnabled(false);
             }
+
+            if (d->navigateByPairAction->isChecked())
+            {
+                d->setItemLeftAction->setEnabled(false);
+                d->setItemRightAction->setEnabled(false);
+  
+                d->barView->setOnLeftPanel(info);
+                slotSetItemOnLeftPanel(info);
+
+                LightTableBarItem* next = dynamic_cast<LightTableBarItem*>(curr->next());
+                if (next)
+                {
+                    d->barView->setOnRightPanel(next->info());
+                    slotSetItemOnRightPanel(next->info());
+                }
+                else
+                {
+                    slotSetItemOnRightPanel(0);
+                }
+            }
         }
     }
     else
 @ -714,6 +744,8  @
         d->forwardAction->setEnabled(false);
         d->firstAction->setEnabled(false);
         d->lastAction->setEnabled(false);
+        d->syncPreviewAction->setEnabled(false);
+        d->navigateByPairAction->setEnabled(false);
     }
 
     d->previewView->checkForSelection(info);
 @ -762,13 +794,19  @
 void LightTableWindow::slotSetItemOnLeftPanel(ImageInfo* info)
 {
     d->previewView->setLeftImageInfo(info);
-    d->leftSidebar->itemChanged(info);
+    if (info)
+        d->leftSidebar->itemChanged(info);
+    else
+        d->leftSidebar->slotNoCurrentItem();
 }
 
 void LightTableWindow::slotSetItemOnRightPanel(ImageInfo* info)
 {
     d->previewView->setRightImageInfo(info);
-    d->rightSidebar->itemChanged(info);
+    if (info)
+        d->rightSidebar->itemChanged(info);
+    else
+        d->rightSidebar->slotNoCurrentItem();
 }
 
 void LightTableWindow::slotClearItemsList()
 @ -1274,5 +1312,12  @
     d->barView->setSelected( d->barView->lastItem() );
 }
 
+void LightTableWindow::slotToggleNavigateByPair()
+{
+    d->barView->setNavigateByPair(d->navigateByPairAction->isChecked());
+    d->previewView->setNavigateByPair(d->navigateByPairAction->isChecked());
+    slotItemSelected(d->barView->currentItemImageInfo());
+}
+
 }  // namespace Digikam
 
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.h #663962:663963
 @ -112,6 +112,7  @
 
     void slotToggleOnSyncPreview(bool);
     void slotToggleSyncPreview();
+    void slotToggleNavigateByPair();
 
     void slotEditItem();
     void slotEditItem(ImageInfo*);
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindowui.rc #663962:663963
 @ -1,5 +1,5  @
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui version="15" name="lighttablewindow" >
+<gui version="17" name="lighttablewindow" >
 
 <MenuBar>
 
 @ -26,6 +26,7  @
         <Action name="lighttable_slideshow" />
         <Separator/>
         <Action name="lighttable_syncpreview" />
+        <Action name="lighttable_navigatebypair" />
         <Separator/>
         <Action name="lighttable_zoomplus" />
         <Action name="lighttable_zoomminus" />
 @ -63,6 +64,7  @
      <Separator/>    
      <Action name="lighttable_setitemleft" />
      <Action name="lighttable_setitemright" />
+     <Action name="lighttable_navigatebypair" />    
      <Separator/>    
      <Action name="lighttable_zoomfit2window" />
      <Action name="lighttable_zoomfit2select" />
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Bug 145236] small wishes for the light-table

Arnd Baecker
> digiKam from trunk : Light Table : Add "Navigate by Pair" option.

Great!!

Two small issues:
- if you zoom in (and optionally pan), and then move
  to the next pair, the zoom gets reset. I think it should
  stay at the previous position
- if you remove an item from the thumb-bar,
  the left panel is emptied, even though (usually) a valid
  pair exists.

  BTW: what about having a short-cut key to remove an item
  from the thumbbar?
  (DEL is used,  maybe D/d ?)

Many thanks, Arnd
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Arnd Baecker
In reply to this post by Arnd Baecker
------- 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=145236         




------- Additional Comments From arnd.baecker web de  2007-05-12 21:58 -------
> digiKam from trunk : Light Table : Add "Navigate by Pair" option.


Great!!

Two small issues:
- if you zoom in (and optionally pan), and then move
  to the next pair, the zoom gets reset. I think it should
  stay at the previous position
- if you remove an item from the thumb-bar,
  the left panel is emptied, even though (usually) a valid
  pair exists.

  BTW: what about having a short-cut key to remove an item
  from the thumbbar?
  (DEL is used,  maybe D/d ?)

Many thanks, Arnd
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Gilles Caulier-4
In reply to this post by Arnd Baecker
------- 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=145236         




------- Additional Comments From caulier.gilles gmail com  2007-05-13 09:54 -------
SVN commit 664131 by cgilles:

digikam from trunk : Light Table : do not lost zoom level synchronization between Left and Right panels using "NAvigate by Pair" function.
CCBUGS: 145236


 M  +4 -4      lighttableview.cpp  
 M  +14 -11    lighttablewindow.cpp  


--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttableview.cpp #664130:664131
 @ -329,22 +329,22  @
 
 void LightTableView::slotLeftPreviewLoaded(bool success)
 {
-    emit signalLeftPreviewLoaded(success);
-
     checkForSyncPreview();
     d->leftLoading = false;
     slotRightContentsMoved(d->rightPreview->contentsX(),
                            d->rightPreview->contentsY());
+
+    emit signalLeftPreviewLoaded(success);
 }
 
 void LightTableView::slotRightPreviewLoaded(bool success)
 {
-    emit signalRightPreviewLoaded(success);
-
     checkForSyncPreview();
     d->rightLoading = false;
     slotLeftContentsMoved(d->leftPreview->contentsX(),
                           d->leftPreview->contentsY());
+
+    emit signalRightPreviewLoaded(success);
 }
 
 void LightTableView::checkForSyncPreview()
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.cpp #664130:664131
 @ -666,6 +666,20  @
     LightTableBarItem *item = d->barView->findItemByInfo(d->previewView->leftImageInfo());
     if (item) item->setOnLeftPanel(true);
     d->barView->update();
+
+    if (d->navigateByPairAction->isChecked() && item)
+    {
+        LightTableBarItem* next = dynamic_cast<LightTableBarItem*>(item->next());
+        if (next)
+        {
+            d->barView->setOnRightPanel(next->info());
+            slotSetItemOnRightPanel(next->info());
+        }
+        else
+        {
+            slotSetItemOnRightPanel(0);
+        }
+    }
 }
 
 void LightTableWindow::slotRightPreviewLoaded(bool b)
 @ -718,17 +732,6  @
   
                 d->barView->setOnLeftPanel(info);
                 slotSetItemOnLeftPanel(info);
-
-                LightTableBarItem* next = dynamic_cast<LightTableBarItem*>(curr->next());
-                if (next)
-                {
-                    d->barView->setOnRightPanel(next->info());
-                    slotSetItemOnRightPanel(next->info());
-                }
-                else
-                {
-                    slotSetItemOnRightPanel(0);
-                }
             }
         }
     }
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Gilles Caulier-4
In reply to this post by Arnd Baecker
------- 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=145236         




------- Additional Comments From caulier.gilles gmail com  2007-05-13 18:20 -------
SVN commit 664297 by cgilles:

digikam from trunk : Light Table :
- when thumbbar is empty, enable properlly all menu options when new item are inserted.
- when "Navigate by Pair" option is enable and when an item is removed from thumbbar, reorganize properlly the pair.
CCBUGS: 145236



 M  +16 -6     lighttablewindow.cpp  


--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.cpp #664296:664297
 @ -596,14 +596,23  @
     {
         if (!d->barView->findItemByInfo(*it))
         {
-            LightTableBarItem *item = new LightTableBarItem(d->barView, *it);
-            if (*it == imageInfoCurrent)
-            {
-                d->barView->setSelectedItem(item);
-            }
+            new LightTableBarItem(d->barView, *it);
         }
     }  
 
+    if (imageInfoCurrent)
+    {
+        LightTableBarItem *ltItem = dynamic_cast<LightTableBarItem*>(d->barView->findItemByInfo(imageInfoCurrent));
+        if (ltItem)
+            d->barView->setSelectedItem(ltItem);
+    }
+    else
+    {
+        LightTableBarItem *ltItem = dynamic_cast<LightTableBarItem*>(d->barView->firstItem());
+        if (ltItem)
+            d->barView->setSelectedItem(ltItem);
+    }
+
     // if window is iconified, show it
     if (isMinimized())
     {
 @ -921,7 +930,8  @
     }
 
     d->barView->removeItem(info);
-    d->previewView->checkForSelection(d->barView->currentItemImageInfo());
+    d->barView->setSelected(d->barView->currentItem());
+    //d->previewView->checkForSelection(d->barView->currentItemImageInfo());
 }
 
 void LightTableWindow::slotEditItem()
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 145236] small wishes for the light-table

Gilles Caulier-4
In reply to this post by Arnd Baecker
------- 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=145236         
caulier.gilles gmail com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |CLOSED



------- Additional Comments From caulier.gilles gmail com  2007-05-13 18:21 -------
All is fixed now. i close this file.

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel