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

Gilles Caulier caulier.gilles at gmail.com
Wed Jul 8 16:42:51 BST 2009


Marcel,

I'm agree with Andi. Sometimes it work, sometimes no.

For ex, look like re-implementation of
ImagePropertiesSideBar::closeEvent() work fine.

Andi, I think it's relevant of parent widget passed in widget constructor.

Gilles



2009/7/8 Andi Clemens <andi.clemens at gmx.net>:
> Hmm don't know. Sometimes it works, sometimes not. This is why I changed some
> calls from the destructor in the past. We had such problems before. Maybe the
> close event must be forwarded from the main window?
> So that the widget is awre of this?
>
> I had to forward the windowMoved() signal in a similar way.
>
> Andi
>
> On Wednesday 08 July 2009 16:08:35 Gilles Caulier wrote:
>> 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:
>>
>> _______________________________________________
>> Digikam-devel mailing list
>> Digikam-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/digikam-devel
>
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
>



More information about the Digikam-devel mailing list