# HG changeset patch # User mathieub # Date 1309792100 -3600 # Node ID f8f74f1b5b4f6bc19d49a170d6ae8bb4fb120dd9 # Parent a94be56cf98f3dff20070122ae15f2d39b8fd2d5 Start in minimal mode option added in the Preferences/Appearance menu diff -r a94be56cf98f -r f8f74f1b5b4f main/MainWindow.cpp --- a/main/MainWindow.cpp Mon Jul 04 13:06:02 2011 +0100 +++ b/main/MainWindow.cpp Mon Jul 04 16:08:20 2011 +0100 @@ -749,7 +749,13 @@ action->setStatusTip(tr("Activates the Minimal Mode")); connect(action, SIGNAL(triggered()), this, SLOT(toggleViewMode())); action->setCheckable(true); - action->setChecked(m_viewManager->getMinimalModeEnabled()); + + QSettings settings; + settings.beginGroup("Preferences"); + bool mini = settings.value("start-in-mini-mode",true).toBool(); + action->setChecked(mini); + settings.endGroup(); + m_keyReference->registerShortcut(action); m_viewMenu->addAction(action); m_viewToolBar->addAction(action); @@ -925,7 +931,7 @@ m_showStatusBarAction->setChecked(true); m_viewMenu->addAction(m_showStatusBarAction); - QSettings settings; + //QSettings settings; settings.beginGroup("MainWindow"); bool sb = settings.value("showstatusbar", true).toBool(); if (!sb) { @@ -2869,8 +2875,8 @@ return; } - // Don't save size and position if in minimal mode (because we - // always start up in full mode) + // Don't save size and position if in minimal mode (in case we + //start up in full mode) bool minimal = m_viewManager->getMinimalModeEnabled(); if (!minimal) { QSettings settings; @@ -4182,6 +4188,9 @@ settings.beginGroup("MainWindow"); bool wasMinimal = m_viewManager->getMinimalModeEnabled(); + + //std::cerr << "minimal mode enabled was: " << wasMinimal << std::endl; + bool show; if (wasMinimal) { @@ -4255,16 +4264,18 @@ resizeConstrained(settings.value("size").toSize()); } else { QApplication::processEvents(); - adjustSize(); //shrinks successfully the main window but does not remove the space allocated for the central widget containing panes + adjustSize(); } settings.endGroup(); //TO-DOS: - //The Constrain Playback to Selection option is still effective when the minimal mode is activated whereas + //- The Constrain Playback to Selection option is still effective when the minimal mode is activated whereas //the functionality to modify the selection has been removed from this mode. Playback mode should switch to //normal when the minimal mode is activated and then be set up again to what it was when the full mode is //activated again. + //- after adding the minimal mode at startup option in Preferences/Appearance, the minimal mode window size + //is not optimized as before //done: //- when switching back to full mode, the pane is not shown entirely, should restore the previous size @@ -4272,5 +4283,6 @@ //- the menus which have no effects in the minimal mode should be removed (or their actions disabled) //even if this doesn't lead cause the application to crash (the actual changes are made in the hidden pane(s)) //- the menu actions which have no effects in the minimal mode should be removed or disabled + //- add Minimal mode at startup in the Preferences/Appearance } diff -r a94be56cf98f -r f8f74f1b5b4f main/MainWindow.h --- a/main/MainWindow.h Mon Jul 04 13:06:02 2011 +0100 +++ b/main/MainWindow.h Mon Jul 04 16:08:20 2011 +0100 @@ -76,6 +76,7 @@ public slots: virtual void preferenceChanged(PropertyContainer::PropertyName); virtual bool commitData(bool mayAskUser); + virtual void toggleViewMode(); //to switch between minimal and full modes protected slots: virtual void openSession(); @@ -176,7 +177,7 @@ virtual void keyReference(); virtual void newerVersionAvailable(QString); - virtual void toggleViewMode(); //to switch between minimal and full modes + //virtual void toggleViewMode(); //to switch between minimal and full modes protected: Overview *m_overview; diff -r a94be56cf98f -r f8f74f1b5b4f main/PreferencesDialog.cpp --- a/main/PreferencesDialog.cpp Mon Jul 04 13:06:02 2011 +0100 +++ b/main/PreferencesDialog.cpp Mon Jul 04 16:08:20 2011 +0100 @@ -187,6 +187,12 @@ connect(showSplash, SIGNAL(stateChanged(int)), this, SLOT(showSplashChanged(int))); + QCheckBox *startInMiniMode = new QCheckBox; + m_startInMiniMode = prefs->getStartInMiniMode(); + startInMiniMode->setCheckState(m_startInMiniMode ? Qt::Checked : Qt::Unchecked); + connect(startInMiniMode, SIGNAL(stateChanged(int)), + this, SLOT(startInMiniModeChanged(int))); + #ifndef Q_WS_MAC QComboBox *bgMode = new QComboBox; int bg = prefs->getPropertyRangeAndValue("Background Mode", &min, &max, @@ -294,6 +300,13 @@ subgrid->addWidget(showSplash, row++, 1, 1, 1); subgrid->setRowStretch(row, 10); + + subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel + ("Start In Minimal Mode"))), + row, 0); + subgrid->addWidget(startInMiniMode, row++, 1, 1, 1); + + subgrid->setRowStretch(row, 10); tab->addTab(frame, tr("&Appearance")); @@ -417,6 +430,14 @@ } void +PreferencesDialog::startInMiniModeChanged(int state) +{ + m_startInMiniMode = (state == Qt::Checked); + m_applyButton->setEnabled(true); + m_changesOnRestart = true; +} + +void PreferencesDialog::tempDirRootChanged(QString r) { m_tempDirRoot = r; @@ -479,6 +500,7 @@ prefs->setResampleQuality(m_resampleQuality); prefs->setResampleOnLoad(m_resampleOnLoad); prefs->setShowSplash(m_showSplash); + prefs->setStartInMiniMode(m_startInMiniMode); prefs->setTemporaryDirectoryRoot(m_tempDirRoot); prefs->setBackgroundMode(Preferences::BackgroundMode(m_backgroundMode)); prefs->setTimeToTextMode(Preferences::TimeToTextMode(m_timeToTextMode)); diff -r a94be56cf98f -r f8f74f1b5b4f main/PreferencesDialog.h --- a/main/PreferencesDialog.h Mon Jul 04 13:06:02 2011 +0100 +++ b/main/PreferencesDialog.h Mon Jul 04 16:08:20 2011 +0100 @@ -50,6 +50,8 @@ void viewFontSizeChanged(int sz); void showSplashChanged(int state); + void startInMiniModeChanged(int state); + void tempDirButtonClicked(); void okClicked(); @@ -76,6 +78,8 @@ int m_viewFontSize; bool m_showSplash; + bool m_startInMiniMode; + bool m_changesOnRestart; }; diff -r a94be56cf98f -r f8f74f1b5b4f main/main.cpp --- a/main/main.cpp Mon Jul 04 13:06:02 2011 +0100 +++ b/main/main.cpp Mon Jul 04 16:08:20 2011 +0100 @@ -351,6 +351,16 @@ } settings.endGroup(); + settings.beginGroup("Preferences"); + bool mini = settings.value("start-in-mini-mode",true).toBool(); + + //std::cerr << "Minimal mode at startup (true/false): " << mini << std::endl; + + if (mini) { + gui->toggleViewMode(); + } + settings.endGroup(); + gui->show(); // The MainWindow class seems to have trouble dealing with this if