[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/graphics/digikam/digikam
From:       Gilles Caulier <caulier.gilles () kdemail ! net>
Date:       2007-02-02 12:20:59
Message-ID: 1170418859.837236.28848.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 629340 by cgilles:

digiKam from trunk : Preview Mode pop-up menu disable Backward and Forward action if \
there is none previous and next item

 M  +2 -2      albumwidgetstack.cpp  
 M  +1 -1      albumwidgetstack.h  
 M  +4 -2      digikamview.cpp  
 M  +13 -1     imagepreviewview.cpp  
 M  +1 -1      imagepreviewview.h  


--- trunk/extragear/graphics/digikam/digikam/albumwidgetstack.cpp #629339:629340
@@ -113,7 +113,7 @@
     return d->albumIconView;
 }
 
-void AlbumWidgetStack::setPreviewItem(ImageInfo* info)
+void AlbumWidgetStack::setPreviewItem(ImageInfo* info, bool hasPrev, bool hasNext)
 {
     if (!info)
     {
@@ -146,7 +146,7 @@
             if (previewMode() == MediaPlayerMode)
                 setPreviewItem();
 
-            d->imagePreviewView->setImageInfo(info);
+            d->imagePreviewView->setImageInfo(info, hasPrev, hasNext);
 
             // NOTE: No need to toggle imediatly in PreviewImageMode here, 
             // because we will recieve a signal for that when the image preview will \
                be loaded.
--- trunk/extragear/graphics/digikam/digikam/albumwidgetstack.h #629339:629340
@@ -61,7 +61,7 @@
 
     AlbumIconView *albumIconView();
 
-    void setPreviewItem(ImageInfo* info=0);
+    void setPreviewItem(ImageInfo* info=0, bool hasPrev=false, bool hasNext=false);
     int  previewMode(void);
     void setPreviewMode(int mode);
 
--- trunk/extragear/graphics/digikam/digikam/digikamview.cpp #629339:629340
@@ -647,7 +647,7 @@
                 d->rightSideBar->takeImageInfoOwnership(true);
 
                 if (!d->albumWidgetStack->previewMode() == \
                AlbumWidgetStack::PreviewAlbumMode)
-                    d->albumWidgetStack->setPreviewItem(selectedItem->imageInfo());
+                    d->albumWidgetStack->setPreviewItem(selectedItem->imageInfo(), \
hasPrev, hasNext);  }
 
             emit signalImageSelected(list, hasPrev, hasNext);
@@ -899,7 +899,9 @@
             item = iconItem;
         }
 
-        d->albumWidgetStack->setPreviewItem(item->imageInfo());
+        bool hasPrev = d->iconView->firstItem() != item;
+        bool hasNext = d->iconView->lastItem() != item;
+        d->albumWidgetStack->setPreviewItem(item->imageInfo(), hasPrev, hasNext);
     }
     else
     {
--- trunk/extragear/graphics/digikam/digikam/imagepreviewview.cpp #629339:629340
@@ -59,10 +59,15 @@
 
     ImagePreviewViewPriv()
     {
+        hasPrev            = false;
+        hasNext            = false;
         imagePreviewWidget = 0;
         imageInfo          = 0;
     }
 
+    bool                hasPrev;
+    bool                hasNext;
+
     ImageInfo          *imageInfo;
 
     ImagePreviewWidget *imagePreviewWidget;
@@ -106,9 +111,12 @@
     setPaletteBackgroundColor(ThemeEngine::instance()->baseColor());
 }
 
-void ImagePreviewView::setImageInfo(ImageInfo* info)
+void ImagePreviewView::setImageInfo(ImageInfo* info, bool hasPrev, bool hasNext)
 {
     d->imageInfo = info;
+    d->hasPrev   = hasPrev;
+    d->hasNext   = hasNext;
+
     if (d->imageInfo)
         d->imagePreviewWidget->setImagePath(info->kurl().path()); 
     else 
@@ -151,7 +159,11 @@
 
         DPopupMenu popmenu(this);
         popmenu.insertItem(SmallIcon("back"), i18n("Back"), 10);
+        if (!d->hasPrev) popmenu.setItemEnabled(10, false);
+
         popmenu.insertItem(SmallIcon("forward"), i18n("Forward"), 11);
+        if (!d->hasNext) popmenu.setItemEnabled(11, false);
+ 
         popmenu.insertItem(SmallIcon("editimage"), i18n("Edit..."), 12);
         popmenu.insertItem(i18n("Open With"), &openWithMenu, 13);
 
--- trunk/extragear/graphics/digikam/digikam/imagepreviewview.h #629339:629340
@@ -44,7 +44,7 @@
     ImagePreviewView(QWidget *parent=0);
     ~ImagePreviewView();    
            
-    void setImageInfo(ImageInfo* info=0);
+    void setImageInfo(ImageInfo* info=0, bool hasPrev=false, bool hasNext=false);
 
 signals:
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic