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

List:       kde-commits
Subject:    branches/work/kmail-favorite-folder-view/kmail
From:       Volker Krause <vkrause () kde ! org>
Date:       2007-08-15 12:04:07
Message-ID: 1187179447.336592.3275.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 700381 by vkrause:

Make the favorite folder view runtime-switchable.


 M  +40 -15    kmmainwidget.cpp  
 M  +4 -0      kmmainwidget.h  


--- branches/work/kmail-favorite-folder-view/kmail/kmmainwidget.cpp #700380:700381
@@ -143,6 +143,7 @@
     QWidget(parent, name),
     mFavoriteFolderView( 0 ),
     mFolderView( 0 ),
+    mFolderViewParent( 0 ),
     mFolderViewSplitter( 0 ),
     mQuickSearchLine( 0 ),
     mShowBusySplashTimer( 0 ),
@@ -283,6 +284,7 @@
 
   mHtmlPref = reader.readBoolEntry( "htmlMail", false );
   mHtmlLoadExtPref = reader.readBoolEntry( "htmlLoadExternal", false );
+  mEnableFavoriteFolderView = GlobalSettings::self()->enableFavoriteFolderView();
 }
 
 
@@ -324,6 +326,7 @@
   bool oldLongFolderList =  mLongFolderList;
   bool oldReaderWindowActive = mReaderWindowActive;
   bool oldReaderWindowBelow = mReaderWindowBelow;
+  bool oldFavoriteFolderView = mEnableFavoriteFolderView;
 
   QString str;
   QSize siz;
@@ -337,7 +340,8 @@
 
     bool layoutChanged = ( oldLongFolderList != mLongFolderList )
                     || ( oldReaderWindowActive != mReaderWindowActive )
-                    || ( oldReaderWindowBelow != mReaderWindowBelow );
+                    || ( oldReaderWindowBelow != mReaderWindowBelow )
+                    || ( oldFavoriteFolderView != mEnableFavoriteFolderView );
 
 
     if( layoutChanged ) {
@@ -460,7 +464,8 @@
 
     bool layoutChanged = ( oldLongFolderList != mLongFolderList )
                     || ( oldReaderWindowActive != mReaderWindowActive )
-                    || ( oldReaderWindowBelow != mReaderWindowBelow );
+                    || ( oldReaderWindowBelow != mReaderWindowBelow )
+                    || ( oldFavoriteFolderView != mEnableFavoriteFolderView );
     if ( layoutChanged ) {
       activatePanners();
     }
@@ -527,7 +532,7 @@
 void KMMainWidget::createWidgets(void)
 {
   // Create the splitters according to the layout settings
-  QWidget *headerParent = 0, *folderParent = 0,
+  QWidget *headerParent = 0,
             *mimeParent = 0, *messageParent = 0;
 
   const bool opaqueResize = KGlobalSettings::opaqueResize();
@@ -539,7 +544,7 @@
     Qt::Orientation orientation = mReaderWindowBelow ? Qt::Vertical : Qt::Horizontal;
     mPanner2 = new QSplitter( orientation, mPanner1, "panner 2" );
     mPanner2->setOpaqueResize( opaqueResize );
-    folderParent = mPanner1;
+    mFolderViewParent = mPanner1;
     headerParent = mimeParent = messageParent = mPanner2;
   } else /* !mLongFolderList */ {
     // superior splitter: ( folder tree + headers ) vs. message vs. mime
@@ -548,7 +553,7 @@
     mPanner1->setOpaqueResize( opaqueResize );
     mPanner2 = new QSplitter( Qt::Horizontal, mPanner1, "panner 2" );
     mPanner2->setOpaqueResize( opaqueResize );
-    headerParent = folderParent = mPanner2;
+    headerParent = mFolderViewParent = mPanner2;
     mimeParent = messageParent = mPanner1;
   }
 
@@ -645,21 +650,20 @@
   action->plugAccel( actionCollection()->kaccel() );
 
   // create list of folders
-  QWidget *folderTreeParent = folderParent;
+  mFolderViewSplitter = new QSplitter( Qt::Vertical, mFolderViewParent );
+  mFolderViewSplitter->setOpaqueResize( KGlobalSettings::opaqueResize() );
+  mFavoriteFolderView = new KMail::FavoriteFolderView( mFolderViewSplitter );
+  QWidget *folderTreeParent = mFolderViewParent;
   if ( GlobalSettings::enableFavoriteFolderView() ) {
-    mFolderViewSplitter = new QSplitter( Qt::Vertical, folderParent );
-    mFolderViewSplitter->setOpaqueResize( KGlobalSettings::opaqueResize() );
-    mFavoriteFolderView = new KMail::FavoriteFolderView( mFolderViewSplitter );
     folderTreeParent = mFolderViewSplitter;
     mFolderView = mFolderViewSplitter;
   }
   mFolderTree = new KMFolderTree(this, folderTreeParent, "folderTree");
   if ( !GlobalSettings::enableFavoriteFolderView() ) {
-    mFolderView = mFolderTree;
-  } else {
-    connect( mFolderTree, SIGNAL(folderSelected(KMFolder*)),
-             mFavoriteFolderView, SLOT(folderTreeSelectionChanged(KMFolder*)) );
+     mFolderView = mFolderTree;
   }
+  connect( mFolderTree, SIGNAL(folderSelected(KMFolder*)),
+            mFavoriteFolderView, SLOT(folderTreeSelectionChanged(KMFolder*)) );
 
   connect(mFolderTree, SIGNAL(folderSelected(KMFolder*)),
 	  this, SLOT(folderSelected(KMFolder*)));
@@ -730,20 +734,24 @@
         SIGNAL( activated() ),
         mMsgView, SLOT( slotCopySelectedText() ));
   }
+
+  setupFolderView();
   if ( mLongFolderList ) {
     mSearchAndHeaders->reparent( mPanner2, 0, QPoint( 0, 0 ) );
     if (mMsgView) {
       mMsgView->reparent( mPanner2, 0, QPoint( 0, 0 ) );
       mPanner2->moveToLast( mMsgView );
     }
-    mFolderView->reparent( mPanner1, 0, QPoint( 0, 0 ) );
+    mFolderViewParent = mPanner1;
+    mFolderView->reparent( mFolderViewParent, 0, QPoint( 0, 0 ) );
     mPanner1->moveToLast( mPanner2 );
     mPanner1->setSizes( mPanner1Sep );
     mPanner1->setResizeMode( mFolderView, QSplitter::KeepSize );
     mPanner2->setSizes( mPanner2Sep );
     mPanner2->setResizeMode( mSearchAndHeaders, QSplitter::KeepSize );
   } else /* !mLongFolderList */ {
-    mFolderView->reparent( mPanner2, 0, QPoint( 0, 0 ) );
+    mFolderViewParent = mPanner2;
+    mFolderView->reparent( mFolderViewParent, 0, QPoint( 0, 0 ) );
     mSearchAndHeaders->reparent( mPanner2, 0, QPoint( 0, 0 ) );
     mPanner2->moveToLast( mSearchAndHeaders );
     mPanner1->moveToFirst( mPanner2 );
@@ -4016,3 +4024,20 @@
   KMCommand *command = new CreateTodoCommand( this, msg );
   command->start();
 }
+
+void KMMainWidget::setupFolderView()
+{
+  if ( GlobalSettings::self()->enableFavoriteFolderView() ) {
+    mFolderView = mFolderViewSplitter;
+    mFolderTree->reparent( mFolderViewSplitter, 0, QPoint( 0, 0 ) );
+    mFolderViewSplitter->show();
+    mFavoriteFolderView->show();
+  } else {
+    mFolderView = mFolderTree;
+    mFolderViewSplitter->hide();
+    mFavoriteFolderView->hide();
+  }
+  mFolderView->reparent( mFolderViewParent, 0, QPoint( 0, 0 ) );
+  mFolderViewParent->moveToFirst( mFolderView );
+  mFolderTree->show();
+}
--- branches/work/kmail-favorite-folder-view/kmail/kmmainwidget.h #700380:700381
@@ -442,6 +442,8 @@
    */
   QString findCurrentImapPath();
 
+  void setupFolderView();
+
 private:
   // Message actions
   KAction *mTrashAction, *mDeleteAction, *mTrashThreadAction,
@@ -494,6 +496,7 @@
   KMFolderTree *mFolderTree;
   KMail::FavoriteFolderView *mFavoriteFolderView;
   QWidget      *mFolderView;
+  QSplitter    *mFolderViewParent;
   KMReaderWin  *mMsgView;
   QSplitter    *mPanner1, *mPanner2;
   QSplitter    *mFolderViewSplitter;
@@ -524,6 +527,7 @@
   bool mHtmlPref, mHtmlLoadExtPref, mThreadPref,
        mFolderHtmlPref, mFolderHtmlLoadExtPref, mFolderThreadPref,
        mFolderThreadSubjPref, mReaderWindowActive, mReaderWindowBelow;
+  bool mEnableFavoriteFolderView;
 
 //  QPopupMenu *mMessageMenu;
   KMail::SearchWindow *mSearchWin;
[prev in list] [next in list] [prev in thread] [next in thread] 

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