diff --git a/resources/etc/OpenBoard.config b/resources/etc/OpenBoard.config index 1f84f8bb..7a261d40 100644 --- a/resources/etc/OpenBoard.config +++ b/resources/etc/OpenBoard.config @@ -92,6 +92,7 @@ SortKind=0 SortOrder=0 SplitterLeftSize=200 SplitterRightSize=800 +ShowDateColumnOnAlphabeticalSort=false [IntranetPodcast] Author= diff --git a/resources/forms/preferences.ui b/resources/forms/preferences.ui index d9261d6d..602f7ead 100644 --- a/resources/forms/preferences.ui +++ b/resources/forms/preferences.ui @@ -7,7 +7,7 @@ 0 0 825 - 718 + 748 @@ -82,7 +82,7 @@ - 7 + 0 @@ -148,8 +148,21 @@ - - + + + + Qt::Vertical + + + + 20 + 40 + + + + + + 0 @@ -157,36 +170,56 @@ - Toolbar + Mode - - - + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 40 + 20 + + + + + + - + - Positioned at the Top (recommended for tablets) + Mode to start in: - - - - Positioned at the Bottom (recommended for white boards) - + + + + + Board + + + + + Desktop + + - - + + - Qt::Vertical - - - QSizePolicy::Fixed + Qt::Horizontal - 20 + 40 20 @@ -194,45 +227,6 @@ - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 40 - 20 - - - - - - - - Display Text Under Button - - - @@ -338,75 +332,6 @@ - - - - - 0 - 0 - - - - Mode - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 40 - 20 - - - - - - - - - - Mode to start in: - - - - - - - - Board - - - - - Desktop - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - @@ -472,14 +397,11 @@ - - + + Qt::Vertical - - QSizePolicy::Expanding - 20 @@ -488,20 +410,95 @@ - - - - Qt::Vertical + + + + + 0 + 0 + - - - 20 - 40 - + + Toolbar - + + + + + + + Positioned at the Top (recommended for tablets) + + + + + + + Positioned at the Bottom (recommended for white boards) + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 40 + 20 + + + + + + + + Display Text Under Button + + + + + - + Qt::Vertical @@ -514,11 +511,14 @@ - - + + Qt::Vertical + + QSizePolicy::Expanding + 20 @@ -527,8 +527,8 @@ - - + + Qt::Vertical @@ -540,6 +540,54 @@ + + + + + 0 + 0 + + + + Documents Mode + + + + + + + + + 0 + 0 + + + + Display date column on alphabetical sort + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + diff --git a/src/core/UBPreferencesController.cpp b/src/core/UBPreferencesController.cpp index 8f30fc91..b536ea1e 100644 --- a/src/core/UBPreferencesController.cpp +++ b/src/core/UBPreferencesController.cpp @@ -39,6 +39,7 @@ #include "core/UBDisplayManager.h" #include "board/UBBoardController.h" +#include "document/UBDocumentController.h" #include "domain/UBGraphicsScene.h" #include "board/UBDrawingController.h" #include "podcast/UBPodcastController.h" @@ -137,6 +138,9 @@ void UBPreferencesController::wire() connect(mPreferencesUI->useSystemOSKCheckBox, SIGNAL(clicked(bool)), settings->useSystemOnScreenKeyboard, SLOT(setBool(bool))); connect(mPreferencesUI->useSystemOSKCheckBox, SIGNAL(clicked(bool)), this, SLOT(systemOSKCheckBoxToggled(bool))); + connect(mPreferencesUI->showDateColumnOnAlphabeticalSort, SIGNAL(clicked(bool)), settings->showDateColumnOnAlphabeticalSort, SLOT(setBool(bool))); + connect(mPreferencesUI->showDateColumnOnAlphabeticalSort, SIGNAL(clicked(bool)), UBApplication::documentController, SLOT(refreshDateColumns())); + connect(mPreferencesUI->keyboardPaletteKeyButtonSize, SIGNAL(currentIndexChanged(const QString &)), settings->boardKeyboardPaletteKeyBtnSize, SLOT(setString(const QString &))); connect(mPreferencesUI->startModeComboBox, SIGNAL(currentIndexChanged(int)), settings->appStartMode, SLOT(setInt(int))); @@ -274,6 +278,8 @@ void UBPreferencesController::init() mPreferencesUI->useSystemOSKCheckBox->setChecked(settings->useSystemOnScreenKeyboard->get().toBool()); this->systemOSKCheckBoxToggled(mPreferencesUI->useSystemOSKCheckBox->isChecked()); + mPreferencesUI->showDateColumnOnAlphabeticalSort->setChecked(settings->showDateColumnOnAlphabeticalSort->get().toBool()); + mPreferencesUI->startModeComboBox->setCurrentIndex(settings->appStartMode->get().toInt()); mPreferencesUI->useExternalBrowserCheckBox->setChecked(settings->webUseExternalBrowser->get().toBool()); @@ -338,6 +344,8 @@ void UBPreferencesController::defaultSettings() mPreferencesUI->startModeComboBox->setCurrentIndex(0); mPreferencesUI->useSystemOSKCheckBox->setChecked(settings->useSystemOnScreenKeyboard->reset().toBool()); + mPreferencesUI->showDateColumnOnAlphabeticalSort->setChecked(settings->showDateColumnOnAlphabeticalSort->reset().toBool()); + UBApplication::documentController->refreshDateColumns(); } else if (mPreferencesUI->mainTabWidget->currentWidget() == mPreferencesUI->penTab) { diff --git a/src/core/UBSettings.cpp b/src/core/UBSettings.cpp index 75a81422..18fd0cde 100644 --- a/src/core/UBSettings.cpp +++ b/src/core/UBSettings.cpp @@ -458,6 +458,8 @@ void UBSettings::init() useSystemOnScreenKeyboard = new UBSetting(this, "App", "UseSystemOnScreenKeyboard", true); + showDateColumnOnAlphabeticalSort = new UBSetting(this, "Document", "ShowDateColumnOnAlphabeticalSort", false); + cleanNonPersistentSettings(); checkNewSettings(); } diff --git a/src/core/UBSettings.h b/src/core/UBSettings.h index 26cfac49..5ba97c93 100644 --- a/src/core/UBSettings.h +++ b/src/core/UBSettings.h @@ -413,6 +413,8 @@ class UBSettings : public QObject UBSetting* useSystemOnScreenKeyboard; + UBSetting* showDateColumnOnAlphabeticalSort; + UBSetting* magnifierDrawingMode; UBSetting* autoSaveInterval; diff --git a/src/document/UBDocumentController.cpp b/src/document/UBDocumentController.cpp index 184ff66c..58c57362 100644 --- a/src/document/UBDocumentController.cpp +++ b/src/document/UBDocumentController.cpp @@ -1989,9 +1989,7 @@ void UBDocumentController::setupViews() // sort documents according to preferences int sortKind = UBSettings::settings()->documentSortKind->get().toInt(); - int sortOrder = UBSettings::settings()->documentSortOrder->get().toInt(); - - sortDocuments(sortKind, sortOrder); + int sortOrder = UBSettings::settings()->documentSortOrder->get().toInt(); // update icon and button mDocumentUI->sortKind->setCurrentIndex(sortKind); @@ -2020,6 +2018,8 @@ void UBDocumentController::setupViews() //mDocumentUI->documentTreeView->hideColumn(1); mDocumentUI->documentTreeView->hideColumn(2); + sortDocuments(sortKind, sortOrder); + connect(mDocumentUI->sortKind, SIGNAL(activated(int)), this, SLOT(onSortKindChanged(int))); connect(mDocumentUI->sortOrder, SIGNAL(toggled(bool)), this, SLOT(onSortOrderChanged(bool))); @@ -2055,6 +2055,24 @@ void UBDocumentController::setupViews() } //N/C - NNE - 20140403 +void UBDocumentController::refreshDateColumns() +{ + if (UBSettings::settings()->documentSortKind->get().toInt() == UBDocumentController::Alphabetical) + { + if (!UBSettings::settings()->showDateColumnOnAlphabeticalSort->get().toBool()) + { + mDocumentUI->documentTreeView->hideColumn(1); + mDocumentUI->documentTreeView->hideColumn(2); + } + else + { + mDocumentUI->documentTreeView->showColumn(1); + mDocumentUI->documentTreeView->hideColumn(2); + } + } +} + + void UBDocumentController::sortDocuments(int kind, int order) { Qt::SortOrder sortOrder = Qt::AscendingOrder; @@ -2074,6 +2092,11 @@ void UBDocumentController::sortDocuments(int kind, int order) }else{ mSortFilterProxyModel->setSortRole(Qt::DisplayRole); mSortFilterProxyModel->sort(0, sortOrder); + if (!UBSettings::settings()->showDateColumnOnAlphabeticalSort->get().toBool()) + { + mDocumentUI->documentTreeView->hideColumn(1); + mDocumentUI->documentTreeView->hideColumn(2); + } } } diff --git a/src/document/UBDocumentController.h b/src/document/UBDocumentController.h index 88a1e139..283853ff 100644 --- a/src/document/UBDocumentController.h +++ b/src/document/UBDocumentController.h @@ -429,6 +429,7 @@ class UBDocumentController : public UBDocumentContainer public slots: void createNewDocument(); + void refreshDateColumns(); //issue 1629 - NNE - 20131105 void createNewDocumentInUntitledFolder();