[Digikam-devel] extragear/graphics/digikam
Gilles Caulier
caulier.gilles at gmail.com
Mon May 7 21:06:47 BST 2007
SVN commit 662289 by cgilles:
digikam from trunk : Light Table : update contents of thumbbar and preview panels if an image has changed form album gui (for ex to use JpegLossLess kipi-plugin)
CCMAIL: digikam-devel at kde.org
M +3 -0 digikam/albumiconview.cpp
M +10 -0 utilities/lighttable/lighttableview.cpp
M +3 -0 utilities/lighttable/lighttableview.h
M +31 -41 utilities/lighttable/lighttablewindow.cpp
M +4 -1 utilities/lighttable/lighttablewindow.h
--- trunk/extragear/graphics/digikam/digikam/albumiconview.cpp #662288:662289
@@ -1074,6 +1074,9 @@
connect(ltview, SIGNAL(signalFileDeleted(const KURL&)),
this, SLOT(slotFilesModified()));
+ connect(this, SIGNAL(signalItemsUpdated(const KURL::List&)),
+ ltview, SLOT(slotItemsUpdated(const KURL::List&)));
+
ltview->loadImageInfos(list, current);
if (ltview->isHidden())
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttableview.cpp #662288:662289
@@ -236,5 +236,15 @@
d->rightPreview->setZoomFactor(z);
}
+void LightTableView::leftReload()
+{
+ d->leftPreview->reload();
+}
+
+void LightTableView::rightReload()
+{
+ d->rightPreview->reload();
+}
+
} // namespace Digikam
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttableview.h #662288:662289
@@ -71,6 +71,9 @@
bool rightMaxZoom();
bool rightMinZoom();
+ void leftReload();
+ void rightReload();
+
void fitToWindow();
signals:
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.cpp #662288:662289
@@ -95,12 +95,6 @@
fileDeletePermanentlyDirectlyAction = 0;
fileTrashDirectlyAction = 0;
donateMoneyAction = 0;
- star0 = 0;
- star1 = 0;
- star2 = 0;
- star3 = 0;
- star4 = 0;
- star5 = 0;
zoomFitToWindowAction = 0;
zoomPlusAction = 0;
zoomMinusAction = 0;
@@ -126,12 +120,6 @@
KAction *fileDeletePermanentlyAction;
KAction *fileDeletePermanentlyDirectlyAction;
KAction *fileTrashDirectlyAction;
- KAction *star0;
- KAction *star1;
- KAction *star2;
- KAction *star3;
- KAction *star4;
- KAction *star5;
KAction *zoomPlusAction;
KAction *zoomMinusAction;
KAction *zoomTo100percents;
@@ -411,27 +399,6 @@
// Provides a menu entry that allows showing/hiding the statusbar
createStandardStatusBarAction();
- // -- Rating actions ---------------------------------------------------------------
-
- d->star0 = new KAction(i18n("Assign Rating \"No Star\""), CTRL+Key_0,
- d->rightSidebar, SLOT(slotAssignRatingNoStar()),
- actionCollection(), "lighttable_ratenostar");
- d->star1 = new KAction(i18n("Assign Rating \"One Star\""), CTRL+Key_1,
- d->rightSidebar, SLOT(slotAssignRatingOneStar()),
- actionCollection(), "lighttable_rateonestar");
- d->star2 = new KAction(i18n("Assign Rating \"Two Stars\""), CTRL+Key_2,
- d->rightSidebar, SLOT(slotAssignRatingTwoStar()),
- actionCollection(), "lighttable_ratetwostar");
- d->star3 = new KAction(i18n("Assign Rating \"Three Stars\""), CTRL+Key_3,
- d->rightSidebar, SLOT(slotAssignRatingThreeStar()),
- actionCollection(), "lighttable_ratethreestar");
- d->star4 = new KAction(i18n("Assign Rating \"Four Stars\""), CTRL+Key_4,
- d->rightSidebar, SLOT(slotAssignRatingFourStar()),
- actionCollection(), "lighttable_ratefourstar");
- d->star5 = new KAction(i18n("Assign Rating \"Five Stars\""), CTRL+Key_5,
- d->rightSidebar, SLOT(slotAssignRatingFiveStar()),
- actionCollection(), "lighttable_ratefivestar");
-
// ---------------------------------------------------------------------------------
createGUI("lighttablewindowui.rc", false);
@@ -486,6 +453,37 @@
.arg(d->barView->countItems()));
}
+void LightTableWindow::slotItemsUpdated(const KURL::List& urls)
+{
+ d->barView->refreshThumbs(urls);
+
+ for (KURL::List::const_iterator it = urls.begin() ; it != urls.end() ; ++it)
+ {
+ if (d->previewView->leftImageInfo())
+ {
+ if (d->previewView->leftImageInfo()->kurl() == *it)
+ {
+ d->previewView->leftReload();
+ d->leftSidebar->itemChanged(d->previewView->leftImageInfo());
+ }
+ }
+
+ if (d->previewView->rightImageInfo())
+ {
+ if (d->previewView->rightImageInfo()->kurl() == *it)
+ {
+ d->previewView->rightReload();
+ d->rightSidebar->itemChanged(d->previewView->rightImageInfo());
+ }
+ }
+ }
+}
+
+void LightTableWindow::slotFileMetadataChanged(const KURL &/*url*/)
+{
+ // TODO ???
+}
+
void LightTableWindow::slotItemSelected(ImageInfo* info)
{
if (info)
@@ -933,14 +931,6 @@
// TODO: Apply Settings here if necessary
}
-void LightTableWindow::slotFileMetadataChanged(const KURL &url)
-{
- if (url == d->barView->currentItemImageInfo()->kurl())
- {
- // TODO
- }
-}
-
void LightTableWindow::slotLeftZoomFactorChanged(double zoom)
{
double h = (double)ThumbnailSize::Huge;
--- trunk/extragear/graphics/digikam/utilities/lighttable/lighttablewindow.h #662288:662289
@@ -38,7 +38,6 @@
#include "imageinfo.h"
class KAction;
-class KURL;
namespace Digikam
{
@@ -64,6 +63,10 @@
void signalFileDeleted(const KURL&);
+public slots:
+
+ void slotItemsUpdated(const KURL::List&);
+
private:
void closeEvent(QCloseEvent* e);
More information about the Digikam-devel
mailing list