Summary: | small wishes for the light-table | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Arnd Baecker <arnd.baecker> |
Component: | LightTable-Engine | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | CLOSED WORKSFORME | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian stable | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 0.9.2 | |
Sentry Crash Report: |
Description
Arnd Baecker
2007-05-09 18:15:50 UTC
Umpf, this one got garbled before submission (did I already mention that I really do hate this B.K.O ????) 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); 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> 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) 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 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
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); - } } } } 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() All is fixed now. i close this file. Gilles |