[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/kmail
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2010-11-23 11:43:04
Message-ID: 20101123114304.07692AC8A2 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1199968 by tokoe:

Use Akonadi::CollectionPropertiesDialog instead of
KMCollectionPropertiesDialog


 M  +0 -1      CMakeLists.txt  
 M  +2 -0      collectionaclpage.cpp  
 M  +2 -0      collectionaclpage.h  
 M  +1 -0      collectiongeneralpage.cpp  
 M  +1 -0      collectiongeneralpage.h  
 M  +1 -0      collectionmaintenancepage.cpp  
 M  +1 -1      collectionmaintenancepage.h  
 M  +1 -0      collectionquotapage.cpp  
 M  +1 -0      collectionquotapage.h  
 M  +1 -0      collectiontemplatespage.cpp  
 M  +2 -0      collectiontemplatespage.h  
 M  +1 -0      collectionviewpage.cpp  
 M  +1 -0      collectionviewpage.h  
 D             kmcollectionpropertiesdialog.cpp  
 D             kmcollectionpropertiesdialog.h  
 M  +36 -7     kmmainwidget.cpp  


--- trunk/KDE/kdepim/kmail/CMakeLists.txt #1199967:1199968
@@ -56,7 +56,6 @@
 if (NOT WINCE AND KDEPIM_BUILD_DESKTOP)
 
   set(kmailprivate_LIB_SRCS
-     kmcollectionpropertiesdialog.cpp
      collectionpane.cpp
      collectionannotationsattribute.cpp
      collectiontemplatespage.cpp
--- trunk/KDE/kdepim/kmail/collectionaclpage.cpp #1199967:1199968
@@ -96,6 +96,8 @@
     mAclManager( new MailCommon::AclManager( this ) ),
     mChanged( false )
 {
+  setObjectName( QLatin1String( "KMail::CollectionAclPage" ) );
+
   setPageTitle( i18n( "Access Control" ) );
   init();
 }
--- trunk/KDE/kdepim/kmail/collectionaclpage.h #1199967:1199968
@@ -72,4 +72,6 @@
     bool mChanged;
 };
 
+AKONADI_COLLECTION_PROPERTIES_PAGE_FACTORY( CollectionAclPageFactory, \
CollectionAclPage ) +
 #endif
--- trunk/KDE/kdepim/kmail/collectiongeneralpage.cpp #1199967:1199968
@@ -50,6 +50,7 @@
 CollectionGeneralPage::CollectionGeneralPage( QWidget *parent )
   : CollectionPropertiesPage( parent ), mFolderCollection( 0 )
 {
+  setObjectName( QLatin1String( "KMail::CollectionGeneralPage" ) );
   setPageTitle( i18nc( "@title:tab General settings for a folder.", "General" ) );
 }
 
--- trunk/KDE/kdepim/kmail/collectiongeneralpage.h #1199967:1199968
@@ -87,6 +87,7 @@
 
 };
 
+AKONADI_COLLECTION_PROPERTIES_PAGE_FACTORY( CollectionGeneralPageFactory, \
CollectionGeneralPage )  
 #endif /* COLLECTIONGENERALPAGE_H */
 
--- trunk/KDE/kdepim/kmail/collectionmaintenancepage.cpp #1199967:1199968
@@ -40,6 +40,7 @@
 CollectionMaintenancePage::CollectionMaintenancePage(QWidget * parent) :
   CollectionPropertiesPage( parent ), mIsNotAVirtualCollection( true )
 {
+  setObjectName( QLatin1String( "KMail::CollectionMaintenancePage" ) );
   setPageTitle(  i18n("Maintenance") );
 }
 
--- trunk/KDE/kdepim/kmail/collectionmaintenancepage.h #1199967:1199968
@@ -52,7 +52,7 @@
   QLabel *mCollectionUnread;
 };
 
+AKONADI_COLLECTION_PROPERTIES_PAGE_FACTORY( CollectionMaintenancePageFactory, \
CollectionMaintenancePage )  
-
 #endif /* COLLECTIONMAINTENANCEPAGE_H */
 
--- trunk/KDE/kdepim/kmail/collectionquotapage.cpp #1199967:1199968
@@ -48,6 +48,7 @@
 CollectionQuotaPage::CollectionQuotaPage( QWidget* parent )
   : CollectionPropertiesPage( parent )
 {
+  setObjectName( QLatin1String( "KMail::CollectionQuotaPage" ) );
   setPageTitle( i18n("Quota") );
   init();
 }
--- trunk/KDE/kdepim/kmail/collectionquotapage.h #1199967:1199968
@@ -54,6 +54,7 @@
   QuotaWidget* mQuotaWidget;
 };
 
+AKONADI_COLLECTION_PROPERTIES_PAGE_FACTORY( CollectionQuotaPageFactory, \
CollectionQuotaPage )  
 #endif /* COLLECTIONQUOTAPAGE_H */
 
--- trunk/KDE/kdepim/kmail/collectiontemplatespage.cpp #1199967:1199968
@@ -36,6 +36,7 @@
 CollectionTemplatesPage::CollectionTemplatesPage(QWidget * parent) :
     CollectionPropertiesPage( parent ), mFolderCollection( 0 )
 {
+  setObjectName( QLatin1String( "KMail::CollectionTemplatesPage" ) );
   setPageTitle( i18n( "Templates" ) );
   init();
 }
--- trunk/KDE/kdepim/kmail/collectiontemplatespage.h #1199967:1199968
@@ -55,5 +55,7 @@
   bool mIsLocalSystemFolder;
 };
 
+AKONADI_COLLECTION_PROPERTIES_PAGE_FACTORY( CollectionTemplatesPageFactory, \
CollectionTemplatesPage ) +
 #endif /* COLLECTIONTEMPLATESPAGE_H */
 
--- trunk/KDE/kdepim/kmail/collectionviewpage.cpp #1199967:1199968
@@ -47,6 +47,7 @@
 CollectionViewPage::CollectionViewPage(QWidget * parent) :
     CollectionPropertiesPage( parent ), mFolderCollection( 0 )
 {
+  setObjectName( QLatin1String( "KMail::CollectionViewPage" ) );
   setPageTitle( i18nc( "@title:tab View settings for a folder.", "View" ) );
 }
 
--- trunk/KDE/kdepim/kmail/collectionviewpage.h #1199967:1199968
@@ -74,6 +74,7 @@
   int mShowSenderReceiverValue;
 };
 
+AKONADI_COLLECTION_PROPERTIES_PAGE_FACTORY( CollectionViewPageFactory, \
CollectionViewPage )  
 #endif /* COLLECTIONVIEWPAGE_H */
 
--- trunk/KDE/kdepim/kmail/kmmainwidget.cpp #1199967:1199968
@@ -47,12 +47,19 @@
 #include "tagactionmanager.h"
 #include "foldershortcutactionmanager.h"
 #include "collectionpane.h"
-#include "kmcollectionpropertiesdialog.h"
 #if !defined(NDEBUG)
     #include <ksieveui/sievedebugdialog.h>
     using KSieveUi::SieveDebugDialog;
 #endif
 
+#include "collectionaclpage.h"
+#include "collectiongeneralpage.h"
+#include "collectionmaintenancepage.h"
+#include "collectionquotapage.h"
+#include "collectiontemplatespage.h"
+#include "collectionviewpage.h"
+
+
 #include "mailcommon/filtermanager.h"
 #include "mailcommon/mailfilter.h"
 
@@ -271,6 +278,21 @@
 
   Akonadi::AttributeFactory::registerAttribute<Akonadi::CollectionAnnotationsAttribute>();
  
+  { // make sure the pages are registered only once, since there can be multiple \
instances of KMMainWidget +    static bool pagesRegistered = false;
+
+    if ( !pagesRegistered ) {
+      Akonadi::CollectionPropertiesDialog::registerPage( new \
CollectionAclPageFactory ); +      Akonadi::CollectionPropertiesDialog::registerPage( \
new CollectionGeneralPageFactory ); +      \
Akonadi::CollectionPropertiesDialog::registerPage( new \
CollectionMaintenancePageFactory ); +      \
Akonadi::CollectionPropertiesDialog::registerPage( new CollectionQuotaPageFactory ); \
+      Akonadi::CollectionPropertiesDialog::registerPage( new \
CollectionTemplatesPageFactory ); +      \
Akonadi::CollectionPropertiesDialog::registerPage( new CollectionViewPageFactory ); +
+      pagesRegistered = true;
+    }
+  }
+
   KMainWindow *mainWin = dynamic_cast<KMainWindow*>(topLevelWidget());
   KStatusBar *sb =  mainWin ? mainWin->statusBar() : 0;
   mVacationScriptIndicator = new KMail::StatusBarLabel( sb );
@@ -4175,20 +4197,27 @@
 
 void KMMainWidget::slotCollectionProperties()
 {
-  if (!mCurrentFolder) return;
+  if ( !mCurrentFolder )
+    return;
 
   Akonadi::CollectionAttributesSynchronizationJob sync( mCurrentFolder->collection() \
                );
-  // FIXME: this hangs kmail entirely when opening the folder properties dialog!
-//  sync.exec();
   sync.start();
 
   Akonadi::CollectionFetchJob fetch( mCurrentFolder->collection(), \
Akonadi::CollectionFetchJob::Base );  fetch.exec();
 
-  Akonadi::Collection c = fetch.collections().first();
+  const Akonadi::Collection collection = fetch.collections().first();
 
-  KMCollectionPropertiesDialog* dlg = new KMCollectionPropertiesDialog( c, this );
-  dlg->setCaption( i18nc( "@title:window", "Properties of Folder %1", c.name() ) );
+  const QStringList pages = QStringList() << QLatin1String( \
"KMail::CollectionGeneralPage" ) +                                          << \
QLatin1String( "KMail::CollectionViewPage" ) +                                        \
<< QLatin1String( "Akonadi::CachePolicyPage" ) +                                      \
<< QLatin1String( "KMail::CollectionTemplatesPage" ) +                                \
<< QLatin1String( "KMail::CollectionAclPage" ) +                                      \
<< QLatin1String( "KMail::CollectionQuotaPage" ) +                                    \
<< QLatin1String( "KMail::CollectionMaintenancePage" ); +
+  Akonadi::CollectionPropertiesDialog *dlg = new \
Akonadi::CollectionPropertiesDialog( collection, pages, this ); +  dlg->setCaption( \
i18nc( "@title:window", "Properties of Folder %1", collection.name() ) );  \
dlg->resize( 500, 400 );  dlg->show();
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic