[Digikam-devel] extragear/graphics/digikam/libs/imageproperties
Gilles Caulier
caulier.gilles at free.fr
Thu Jan 19 14:55:23 GMT 2006
SVN commit 500159 by cgilles:
digikam from trunk : image properties side bar BUGFIX : and the last one ! : there are dupplicate signals/slots connection between :
- AlbumIconView and comments & tags editor
- AlbumIconView and DigikamView
... about events if an album item have been changes/deleted or if current album is cleared.
All events controls must be drived by DigikamView since we using image properties side bar instead a dialog.
I have removed obsolete methods witch _CLOSE_ the comments & tags editor !
CCMAIL: digikam-devel at kde.org
M +7 -43 imagedescedittab.cpp
M +1 -5 imagedescedittab.h
M +1 -1 imagepropertiessidebardb.cpp
--- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.cpp #500158:500159
@@ -61,7 +61,6 @@
// Local includes.
-#include "albumiconview.h"
#include "albumiconitem.h"
#include "albummanager.h"
#include "albumdb.h"
@@ -70,8 +69,9 @@
#include "tagcreatedlg.h"
#include "syncjob.h"
#include "navigatebarwidget.h"
-#include "imagedescedittab.h"
+#include "imageinfo.h"
#include "ratingwidget.h"
+#include "imagedescedittab.h"
namespace Digikam
{
@@ -118,7 +118,6 @@
commentsEdit = 0;
tagsSearchEdit = 0;
dateTimeEdit = 0;
- view = 0;
currItem = 0;
tagsView = 0;
ratingWidget = 0;
@@ -137,8 +136,6 @@
KDateTimeEdit *dateTimeEdit;
- AlbumIconView *view;
-
AlbumIconItem *currItem;
TAlbumListView *tagsView;
@@ -360,14 +357,14 @@
void ImageDescEditTab::applyChanges()
{
+ if (!d->modified)
+ return;
+
if (!d->currItem)
return;
ImageInfo* info = d->currItem->imageInfo();
- if (!d->modified)
- return;
-
info->setCaption(d->commentsEdit->text());
info->setDateTime(d->dateTimeEdit->dateTime());
info->setRating(d->ratingWidget->rating());
@@ -405,40 +402,23 @@
d->modified = false;
}
-void ImageDescEditTab::setItem(AlbumIconView *view, AlbumIconItem* currItem, int itemType)
+void ImageDescEditTab::setItem(AlbumIconItem* currItem, int itemType)
{
applyChanges();
- if (d->view)
- {
- disconnect(d->view, SIGNAL(signalItemDeleted(AlbumIconItem*)),
- this, SLOT(slotItemDeleted(AlbumIconItem*)));
-
- disconnect(d->view, SIGNAL(signalCleared()),
- this, SLOT(slotCleared()));
- }
-
- if (!currItem || !view)
+ if (!currItem)
{
d->navigateBar->setFileName();
d->commentsEdit->clear();
- d->view = 0;
d->currItem = 0;
setEnabled(false);
return;
}
setEnabled(true);
- d->view = view;
d->currItem = currItem;
d->modified = false;
- connect(d->view, SIGNAL(signalItemDeleted(AlbumIconItem*)),
- this, SLOT(slotItemDeleted(AlbumIconItem*)));
-
- connect(d->view, SIGNAL(signalCleared()),
- this, SLOT(slotCleared()));
-
ImageInfo* info = currItem->imageInfo();
KURL fileURL;
fileURL.setPath(info->filePath());
@@ -721,22 +701,6 @@
return pix;
}
-void ImageDescEditTab::slotItemDeleted(AlbumIconItem* iconItem)
-{
- if (d->currItem != iconItem)
- return;
-
- // uh oh. our current item got deleted. close
- d->currItem = 0;
- close();
-}
-
-void ImageDescEditTab::slotCleared()
-{
- // if the iconview has been cleared, bail out and close
- close();
-}
-
void ImageDescEditTab::slotRecentTags()
{
QPopupMenu menu(this);
--- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.h #500158:500159
@@ -37,7 +37,6 @@
namespace Digikam
{
-class AlbumIconView;
class AlbumIconItem;
class Album;
class TAlbum;
@@ -69,7 +68,7 @@
ImageDescEditTab(QWidget *parent, bool navBar=true);
~ImageDescEditTab();
- void setItem(AlbumIconView *view=0, AlbumIconItem* currItem=0, int itemType=0);
+ void setItem(AlbumIconItem* currItem=0, int itemType=0);
void populateTags();
signals:
@@ -105,9 +104,6 @@
void slotAlbumIconChanged(Album* a);
void slotAlbumRenamed(Album* a);
- void slotItemDeleted(AlbumIconItem* iconItem);
- void slotCleared();
-
private:
ImageDescEditTabPriv* d;
--- trunk/extragear/graphics/digikam/libs/imageproperties/imagepropertiessidebardb.cpp #500158:500159
@@ -237,7 +237,7 @@
}
else if (tab == d->desceditTab && !d->dirtyDesceditTab)
{
- d->desceditTab->setItem(d->currentView, d->currentItem, currentItemType);
+ d->desceditTab->setItem(d->currentItem, currentItemType);
d->dirtyDesceditTab = true;
}
}
More information about the Digikam-devel
mailing list