[Digikam-devel] extragear/graphics/digikam/libs/imageproperties

Gilles Caulier caulier.gilles at gmail.com
Wed Jul 8 15:08:35 BST 2009


SVN commit 993339 by cgilles:

In event filter, return parent class event filter result, not always false.
Move code from destructor to closeEvent() to prevent dumy expander box state settings saved to config file...
but it doesn't work yet...

Marcel, Andi, why closeEvent() is never called here ?

CCMAIL: digikam-devel at kde.org



 M  +17 -11    imagedescedittab.cpp  
 M  +1 -0      imagedescedittab.h  


--- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.cpp #993338:993339
@@ -406,19 +406,24 @@
     KConfigGroup group        = config->group(QString("Tag List View"));
     d->toggleAutoTags         = (TagFilterView::ToggleAutoTags)(group.readEntry("Toggle Auto Tags",
                                                                (int)TagFilterView::NoToggleAuto));
-    group                     = config->group("Image Properties SideBar");
-    d->tabWidget->setCurrentIndex(group.readEntry("ImageDescEditTab Tab",
+    KConfigGroup group2       = config->group("Image Properties SideBar");
+    d->tabWidget->setCurrentIndex(group2.readEntry("ImageDescEditTab Tab",
                                   (int)ImageDescEditTabPriv::DESCRIPTIONS));
-    d->templateViewer->readSettings(group);
+    d->templateViewer->readSettings(group2);
 }
 
 ImageDescEditTab::~ImageDescEditTab()
 {
+    delete d;
+}
+
+void ImageDescEditTab::closeEvent(QCloseEvent* e)
+{
     // FIXME: this slot seems to be called several times, which can also be seen when changing the metadata of
     // an image and then switching to another one, because you'll get the dialog created by slotChangingItems()
     // twice, and this seems to be exactly the problem when called here.
     // We should disable the slot here at the moment, otherwise digikam crashes.
-//    slotChangingItems();
+    //slotChangingItems();
 
     /*
     AlbumList tList = AlbumManager::instance().allTAlbums();
@@ -432,12 +437,14 @@
     KConfigGroup group        = config->group(QString("Tag List View"));
     group.writeEntry("Toggle Auto Tags", (int)(d->toggleAutoTags));
     group.sync();
-    group                     = config->group("Image Properties SideBar");
-    group.writeEntry("ImageDescEditTab Tab", d->tabWidget->currentIndex());
-    d->templateViewer->writeSettings(group);
-    group.sync();
+    KConfigGroup group2       = config->group("Image Properties SideBar");
+    group2.writeEntry("ImageDescEditTab Tab", d->tabWidget->currentIndex());
+    d->templateViewer->writeSettings(group2);
+    group2.sync();
 
-    delete d;
+    kDebug() << "-------------> Close Event called !!!";
+
+    KVBox::closeEvent(e);
 }
 
 bool ImageDescEditTab::singleSelection() const
@@ -765,9 +772,8 @@
                 return true;
             }
         }
-        return false;
     }
-    return false;
+    return KVBox::eventFilter(o, e);
 }
 
 void ImageDescEditTab::populateTags()
--- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.h #993338:993339
@@ -77,6 +77,7 @@
 protected:
 
     bool eventFilter(QObject *o, QEvent *e);
+    void closeEvent(QCloseEvent*);
 
 private:
 



More information about the Digikam-devel mailing list