[Marble-commits] KDE/kdeedu/marble/src

Dennis Nienhüser earthwings at gentoo.org
Mon Sep 27 21:11:49 CEST 2010


SVN commit 1180355 by nienhueser:

Store the state of the side bar in the qt application.
RB: 5462

 M  +10 -0     ControlView.cpp  
 M  +4 -0      ControlView.h  
 M  +3 -0      QtMainWindow.cpp  


--- trunk/KDE/kdeedu/marble/src/ControlView.cpp #1180354:1180355
@@ -408,6 +408,16 @@
 #endif
 }
 
+QByteArray ControlView::sideBarState() const
+{
+    return m_splitter ? m_splitter->saveState() : QByteArray();
 }
 
+bool ControlView::setSideBarState( const QByteArray &state )
+{
+    return m_splitter ? m_splitter->restoreState( state ) : false;
+}
+
+}
+
 #include "ControlView.moc"
--- trunk/KDE/kdeedu/marble/src/ControlView.h #1180354:1180355
@@ -54,6 +54,10 @@
 
     bool sideBarShown() const { return m_control->isVisible(); }
 
+    QByteArray sideBarState() const;
+
+    bool setSideBarState( const QByteArray &state );
+
     void addPlacemarkFile( QString filename ) { m_marbleWidget->addPlacemarkFile( filename ); }
 
     QPixmap mapScreenShot() { return m_marbleWidget->mapScreenShot(); }
--- trunk/KDE/kdeedu/marble/src/QtMainWindow.cpp #1180354:1180355
@@ -844,6 +844,8 @@
          resize(settings.value("size", QSize(640, 480)).toSize());
          move(settings.value("pos", QPoint(200, 200)).toPoint());
          showFullScreen(settings.value("fullScreen", false ).toBool());
+         QByteArray sideBarState = settings.value( "sideBarState", QByteArray() ).toByteArray();
+         m_controlView->setSideBarState( sideBarState );
          if( MarbleGlobal::getInstance()->profiles() & MarbleGlobal::SmallScreen ) {
              showSideBar(settings.value("sideBar", false ).toBool());
          }
@@ -927,6 +929,7 @@
          settings.setValue( "pos", pos() );
          settings.setValue( "fullScreen", m_fullScreenAct->isChecked() );
          settings.setValue( "sideBar", m_sideBarAct->isChecked() );
+         settings.setValue( "sideBarState", m_controlView->sideBarState() );
          settings.setValue( "statusBar", m_statusBarAct->isChecked() );
          settings.setValue( "showClouds", m_showCloudsAct->isChecked() );
          settings.setValue( "workOffline", m_workOfflineAct->isChecked() );


More information about the Marble-commits mailing list