From e29da7011da7cb2cb96b963df8097bc3905d1f2e Mon Sep 17 00:00:00 2001 From: David Faure Date: Tue, 23 Nov 2004 21:40:50 +0000 Subject: [PATCH] Fixed "Folder Menu not updated after enabling Expiration for a Folder", approved by Ingo. BUG: 92918 svn path=/branches/KDE_3_3_BRANCH/kdepim/; revision=365627 --- kmfoldertree.cpp | 10 +++------- kmmainwidget.cpp | 14 +++++++++++++- kmmainwidget.h | 2 ++ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/kmfoldertree.cpp b/kmfoldertree.cpp index 79980d84c..48ac648a3 100644 --- a/kmfoldertree.cpp +++ b/kmfoldertree.cpp @@ -241,13 +241,9 @@ void KMFolderTreeItem::properties() if ( !mFolder ) return; - KMFolderDialog *props; - - props = new KMFolderDialog( mFolder, mFolder->parent(), static_cast( listView() ), - i18n("Properties of Folder %1").arg( mFolder->label() ) ); - props->exec(); - //Nothing here the above exec() may actually delete this KMFolderTreeItem - return; + KMFolderTree* tree = static_cast( listView() ); + tree->mainWidget()->modifyFolder( this ); + //Nothing here the above may actually delete this KMFolderTreeItem } //============================================================================= diff --git a/kmmainwidget.cpp b/kmmainwidget.cpp index 19534f735..a29f6ec05 100644 --- a/kmmainwidget.cpp +++ b/kmmainwidget.cpp @@ -887,7 +887,19 @@ void KMMainWidget::slotModifyFolder() if (!mFolderTree) return; KMFolderTreeItem *item = static_cast( mFolderTree->currentItem() ); if ( item ) - item->properties(); + modifyFolder( item ); +} + +//----------------------------------------------------------------------------- +void KMMainWidget::modifyFolder( KMFolderTreeItem* folderItem ) +{ + KMFolder* folder = folderItem->folder(); + KMFolderTree* folderTree = static_cast( folderItem->listView() ); + KMFolderDialog *props = new KMFolderDialog( folder, folder->parent(), folderTree, + i18n("Properties of Folder %1").arg( folder->label() ) ); + props->exec(); + delete props; + updateFolderMenu(); } //----------------------------------------------------------------------------- diff --git a/kmmainwidget.h b/kmmainwidget.h index 381ed0a4a..30ae116f1 100644 --- a/kmmainwidget.h +++ b/kmmainwidget.h @@ -142,6 +142,8 @@ public: KMSystemTray *systray() const; + void modifyFolder( KMFolderTreeItem* folderItem ); + public slots: void slotMoveMsgToFolder( KMFolder *dest); void slotTrashMsg(); // move to trash