Bug 149469 - excessive trash confirmation dialogs after album is deleted
Summary: excessive trash confirmation dialogs after album is deleted
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Albums-Trash (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-02 11:08 UTC by David Bremner
Modified: 2017-08-14 08:35 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 0.9.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Bremner 2007-09-02 11:08:33 UTC
Version:           0.9.2-final (using KDE KDE 3.5.7)
Installed from:    Debian testing/unstable Packages

I delete some photos, clicking on "Do not ask again".  This is fine, until I move an album to trash, at which point the confirmation dialog shows up for the next photo I delete.  
Note that I am not complaining about the confirmation dialog for the album trashing, but the fact that it makes digikam forget about the "do not ask again" checkbox.
Comment 1 Marcel Wiesweg 2007-09-02 15:19:58 UTC
SVN commit 707624 by mwiesweg:

Only save "Do not show again" if the checkbox has been visible

BUG: 149469


 M  +7 -1      deletedialog.cpp  
 M  +1 -0      deletedialog.h  


--- trunk/extragear/graphics/digikam/libs/dialogs/deletedialog.cpp #707623:707624
@@ -179,6 +179,7 @@
 DeleteDialog::DeleteDialog(QWidget *parent) 
             : KDialog(parent),
              m_saveShouldDeleteUserPreference(true),
+             m_saveDoNotShowAgain(false),
              m_trashGuiItem(i18n("&Send to Trash"), "trashcan_full")
 {
     setButtons(Ok | Cancel);
@@ -226,7 +227,11 @@
     {
         settings->setUseTrash(!shouldDelete());
     }
-    settings->setShowTrashDeleteDialog(!m_widget->ddDoNotShowAgain->isChecked());
+    if (m_saveDoNotShowAgain)
+    {
+        kDebug() << "setShowTrashDeleteDialog " << !m_widget->ddDoNotShowAgain->isChecked() << endl;
+        settings->setShowTrashDeleteDialog(!m_widget->ddDoNotShowAgain->isChecked());
+    }
 
     settings->saveSettings();
 
@@ -249,6 +254,7 @@
             // access the widget directly, signals will be fired to DeleteDialog and DeleteWidget
             m_widget->ddShouldDelete->setChecked(false);
             m_widget->ddCheckBoxStack->raiseWidget(m_widget->ddDoNotShowAgain);
+            m_saveDoNotShowAgain = true;
             break;
         case DeleteDialogMode::NoChoiceDeletePermanently:
             m_widget->ddShouldDelete->setChecked(true);
--- trunk/extragear/graphics/digikam/libs/dialogs/deletedialog.h #707623:707624
@@ -138,6 +138,7 @@
 private:
 
     bool          m_saveShouldDeleteUserPreference;
+    bool          m_saveDoNotShowAgain;
 
     KGuiItem      m_trashGuiItem;
 
Comment 2 Marcel Wiesweg 2007-09-02 15:20:56 UTC
SVN commit 707625 by mwiesweg:

Backport fix for 149469
CCBUGS: 149469


 M  +6 -1      deletedialog.cpp  
 M  +1 -0      deletedialog.h  


--- branches/extragear/kde3/graphics/digikam/libs/dialogs/deletedialog.cpp #707624:707625
@@ -188,6 +188,7 @@
                           true // use separator between buttons and the main widget
                          ),
               m_saveShouldDeleteUserPreference(true),
+              m_saveDoNotShowAgain(false),
               m_trashGuiItem(i18n("&Send to Trash"), "trashcan_full")
 {
     m_widget = new DeleteWidget(this, "delete_dialog_widget");
@@ -233,7 +234,10 @@
     {
         settings->setUseTrash(!shouldDelete());
     }
-    settings->setShowTrashDeleteDialog(!m_widget->ddDoNotShowAgain->isChecked());
+    if (m_saveDoNotShowAgain)
+    {
+        settings->setShowTrashDeleteDialog(!m_widget->ddDoNotShowAgain->isChecked());
+    }
 
     settings->saveSettings();
 
@@ -256,6 +260,7 @@
             // access the widget directly, signals will be fired to DeleteDialog and DeleteWidget
             m_widget->ddShouldDelete->setChecked(false);
             m_widget->ddCheckBoxStack->raiseWidget(m_widget->ddDoNotShowAgain);
+            m_saveDoNotShowAgain = true;
             break;
         case DeleteDialogMode::NoChoiceDeletePermanently:
             m_widget->ddShouldDelete->setChecked(true);
--- branches/extragear/kde3/graphics/digikam/libs/dialogs/deletedialog.h #707624:707625
@@ -125,6 +125,7 @@
 private:
 
     bool          m_saveShouldDeleteUserPreference;
+    bool          m_saveDoNotShowAgain;
 
     KGuiItem      m_trashGuiItem;