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

List:       kde-commits
Subject:    extragear/pim/mailody/src
From:       Tom Albers <tomalbers () kde ! nl>
Date:       2008-08-17 10:40:49
Message-ID: 1218969649.681176.2591.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 848230 by toma:

We can not use a QDockWidget in a kontact part. So use it when we are stand alone and \
use a QSplitter when embedded.


 M  +1 -1      mailodymain.cpp  
 M  +1 -1      mailodypart.cpp  
 M  +33 -9     mainwindow.cpp  
 M  +2 -1      mainwindow.h  


--- trunk/extragear/pim/mailody/src/mailodymain.cpp #848229:848230
@@ -28,7 +28,7 @@
 {
     KStandardAction::quit(this, SLOT(onQuit()), actionCollection());
 
-    component = new MainWindow(this, actionCollection());
+    component = new MainWindow(this, actionCollection(), true /* standAlone */);
 
     setCentralWidget(component);
 
--- trunk/extragear/pim/mailody/src/mailodypart.cpp #848229:848230
@@ -55,7 +55,7 @@
     setComponentData( MailodyPartFactory::componentData() );
 
     // this should be your custom internal widget
-    component = new Mailody::MainWindow(parentWidget, actionCollection());
+    component = new Mailody::MainWindow(parentWidget, actionCollection(), false /* \
standAlone */);  
     // notify the part that this is our internal widget
     setWidget(component);
--- trunk/extragear/pim/mailody/src/mainwindow.cpp #848229:848230
@@ -84,10 +84,11 @@
 using namespace Mailody;
 using namespace Akonadi;
 
-MainWindow::MainWindow( QWidget* parent, KActionCollection *collection )
+MainWindow::MainWindow( QWidget* parent, KActionCollection *collection, bool \
standAlone )  : QWidget( parent ), m_idlePossible( false ), m_online( false )
 {
     actionCollection = collection;
+    
     Akonadi::Control::start();
     QProcess::startDetached( "akonaditray" );
 
@@ -111,8 +112,6 @@
     connect( Akonadi::AgentManager::self(), SIGNAL( instanceProgressChanged( const \
                Akonadi::AgentInstance & ) ),
              SLOT( slotAgentInstanceProgressChanged( const Akonadi::AgentInstance & \
) ) );  
-    QDockWidget* mailboxDock = new QDockWidget( i18n( "Folders" ), this );
-    mailboxDock->setObjectName( "mailboxDock" );
 
     // collection list (mailboxlist)
     //view
@@ -135,12 +134,20 @@
     m_collectionProxy->addMimeTypeFilters( list );
     m_collectionView->setModel( m_collectionProxy );
 
-    mailboxDock->setWidget( m_collectionView );
-    mailboxDock->setFeatures( QDockWidget::DockWidgetMovable | \
                QDockWidget::DockWidgetClosable );
-    //TODO: addDockWidget( Qt::LeftDockWidgetArea, mailboxDock );
-    actionCollection->addAction( "toggle_mailboxdock", \
mailboxDock->toggleViewAction() ); +    // we can only use the QDockWidget when we \
are running stand alone.... +    if ( standAlone ) {
+        QDockWidget* mailboxDock = new QDockWidget( i18n( "Folders" ), this );
+        mailboxDock->setObjectName( "mailboxDock" );
+        mailboxDock->setWidget( m_collectionView );
+        mailboxDock->setFeatures( QDockWidget::DockWidgetMovable | \
QDockWidget::DockWidgetClosable );  
+        QMainWindow* mainWindow = qobject_cast<QMainWindow*>(parent);
+        mainWindow->addDockWidget( Qt::LeftDockWidgetArea, mailboxDock );
 
+        actionCollection->addAction( "toggle_mailboxdock", \
mailboxDock->toggleViewAction() ); +    }
+
+
     /* TODO: Reimplement this.
     m_nextUnreadAction = new KAction(this);
     m_nextUnreadAction->setText(i18n("Next Unread"));
@@ -516,9 +523,25 @@
     slotToggleHTML();
 
     m_headerAndViewer->show();
-    QVBoxLayout* box = new QVBoxLayout(this);
-    box->addWidget( m_headerAndViewer );
+    m_folderSplitter = new QSplitter( this );
+    QHBoxLayout* box = new QHBoxLayout(this);
+    if ( standAlone ) {
+        box->addWidget( m_headerAndViewer );
+        // the folders are added as a QDockWidget.
+    } else {
+        m_folderSplitter->setOrientation( Qt::Horizontal );
+        m_folderSplitter->addWidget( m_collectionView );
+        m_folderSplitter->addWidget( m_headerAndViewer );
+        box->addWidget( m_folderSplitter );
 
+        QList<int> defaultsize3 = configMain.readEntry( "boxsplitter", QList<int>() \
); +        if ( defaultsize3.isEmpty() ) {
+            defaultsize3.append( 200 );
+            defaultsize3.append( 600 );
+        }
+        m_folderSplitter->setSizes( defaultsize3 );
+    }
+
     /* TODO:
     setCentralWidget( m_headerAndViewer );
     setupGUI( QSize( 900, 600 ), Keys | StatusBar | ToolBar | Create | Save );
@@ -564,6 +587,7 @@
     KConfigGroup configMain =
         KGlobal::config()->group( "MainWindowSizes" );
     configMain.writeEntry( "hsplitter", m_headerAndViewer->sizes() );
+    configMain.writeEntry( "boxsplitter", m_folderSplitter->sizes() );
 
     QList<int> sizes;
     for ( int i = 0; i < m_collectionModel->columnCount(); ++i )
--- trunk/extragear/pim/mailody/src/mainwindow.h #848229:848230
@@ -71,7 +71,7 @@
     /**
     * Contructor
     */
-    MainWindow( QWidget* parent, KActionCollection *actionCollection );
+    MainWindow( QWidget* parent, KActionCollection *actionCollection, bool \
standAlone );  
     /**
      * Destructor
@@ -140,6 +140,7 @@
     void messageMenu( KActionMenu *am );
 
     QSplitter                           *m_headerAndViewer;
+    QSplitter                           *m_folderSplitter;
     KHBox                               *m_right;
     Database                            *m_db;
     TabWidget                           *m_tabWidget;


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

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