[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepim/KDE/4.14] kmail: Avoid to open 2 collection properties dialog for same collection.
From: Montel Laurent <montel () kde ! org>
Date: 2014-12-01 12:39:55
Message-ID: E1XvQGh-0004Nv-Nl () scm ! kde ! org
[Download RAW message or body]
Git commit bd4d07e2259bb7bf0f7790b4cc5956b4d7d523aa by Montel Laurent.
Committed on 01/12/2014 at 12:39.
Pushed by mlaurent into branch 'KDE/4.14'.
Avoid to open 2 collection properties dialog for same collection.
Fix signal/slot
M +2 -2 kmail/kmmainwidget.cpp
M +9 -3 kmail/manageshowcollectionproperties.cpp
M +6 -0 kmail/manageshowcollectionproperties.h
http://commits.kde.org/kdepim/bd4d07e2259bb7bf0f7790b4cc5956b4d7d523aa
diff --git a/kmail/kmmainwidget.cpp b/kmail/kmmainwidget.cpp
index 681107c..637f85c 100644
--- a/kmail/kmmainwidget.cpp
+++ b/kmail/kmmainwidget.cpp
@@ -3164,7 +3164,7 @@ void KMMainWidget::setupActions()
// slotExpireFolder() and FolderViewItem::slotShowExpiryProperties().
mExpireFolderAction = new KAction(i18n("&Expiration Settings"), this);
actionCollection()->addAction(QLatin1String("expire"), mExpireFolderAction );
- connect(mExpireFolderAction, SIGNAL(triggered(bool)), \
mManageShowCollectionProperties, SLOT(slotExpireFolder())); + \
connect(mExpireFolderAction, SIGNAL(triggered(bool)), this, \
SLOT(slotExpireFolder()));
mAkonadiStandardActionManager->interceptAction( \
Akonadi::StandardMailActionManager::MoveToTrash ); @@ -3486,7 +3486,7 @@ void \
KMMainWidget::setupActions() {
mExpireConfigAction = new KAction( i18n( "Expire..." ), this );
actionCollection()->addAction( \
QLatin1String("expire_settings"),mExpireConfigAction );
- connect( mExpireConfigAction, SIGNAL(triggered(bool)), this, \
SLOT(slotShowExpiryProperties()) ); + connect( mExpireConfigAction, \
SIGNAL(triggered(bool)), mManageShowCollectionProperties, \
SLOT(slotShowExpiryProperties()) ); }
{
diff --git a/kmail/manageshowcollectionproperties.cpp \
b/kmail/manageshowcollectionproperties.cpp index 21d0de4..b1fcdb5 100644
--- a/kmail/manageshowcollectionproperties.cpp
+++ b/kmail/manageshowcollectionproperties.cpp
@@ -70,9 +70,14 @@ void ManageShowCollectionProperties::showCollectionProperties( \
const QString &pa {
if ( !mMainWidget->currentFolder() )
return;
-
+ if (mHashDialogBox.contains(mMainWidget->currentFolder()->collection().id())) {
+ if (mHashDialogBox.value(mMainWidget->currentFolder()->collection().id())) {
+ mHashDialogBox.value(mMainWidget->currentFolder()->collection().id())->activateWindow();
+ mHashDialogBox.value(mMainWidget->currentFolder()->collection().id())->raise();
+ return;
+ }
+ }
if ( Solid::Networking::status() == Solid::Networking::Unconnected ) {
-
KMessageBox::information(
mMainWidget,
i18n( "Network is unconnected. Folder information cannot be \
updated." ) ); @@ -185,7 +190,7 @@ void \
ManageShowCollectionProperties::slotCollectionPropertiesFinished( \
KJob *job
<< QLatin1String( \
"KMail::CollectionShortcutPage" )
<< QLatin1String( \
"KMail::CollectionMaintenancePage" );
- Akonadi::CollectionPropertiesDialog *dlg = new \
Akonadi::CollectionPropertiesDialog( collection, pages, mMainWidget ); + \
QPointer<Akonadi::CollectionPropertiesDialog> dlg = new \
Akonadi::CollectionPropertiesDialog( collection, pages, mMainWidget \
);
dlg->setCaption( i18nc( "@title:window", "Properties of Folder %1", \
collection.name() ) );
@@ -194,4 +199,5 @@ void \
ManageShowCollectionProperties::slotCollectionPropertiesFinished( KJob *job \
dlg->setCurrentPage( pageToShow ); }
dlg->show();
+ mHashDialogBox.insert(collection.id(), dlg);
}
diff --git a/kmail/manageshowcollectionproperties.h \
b/kmail/manageshowcollectionproperties.h index 3f4132f..a2605a3 100644
--- a/kmail/manageshowcollectionproperties.h
+++ b/kmail/manageshowcollectionproperties.h
@@ -23,6 +23,11 @@
#include <foldercollection.h>
#include <progresswidget/progressmanager.h>
+
+namespace Akonadi {
+class CollectionPropertiesDialog;
+}
+
class KJob;
class KMMainWidget;
class ManageShowCollectionProperties : public QObject
@@ -47,6 +52,7 @@ private:
void showCollectionPropertiesContinued(const QString &pageToShow, \
QPointer<KPIM::ProgressItem> progressItem);
private:
+ QHash<Akonadi::Collection::Id, QPointer<Akonadi::CollectionPropertiesDialog> > \
mHashDialogBox; KMMainWidget *mMainWidget;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic