diff --git a/resources/etc/OpenBoard.config b/resources/etc/OpenBoard.config index 7cd2dfa7..30bfa413 100644 --- a/resources/etc/OpenBoard.config +++ b/resources/etc/OpenBoard.config @@ -88,6 +88,8 @@ Username= [Document] EmptyGroupNames=@Invalid() ThumbnailWidth=150 +SortKind=0 +SortOrder=0 [IntranetPodcast] Author= diff --git a/resources/forms/documents.ui b/resources/forms/documents.ui index b324318a..a81ddaba 100644 --- a/resources/forms/documents.ui +++ b/resources/forms/documents.ui @@ -92,17 +92,17 @@ - Alphabetical order + Creation date - Creation date + Update date - Update date + Alphabetical order diff --git a/src/core/UBSettings.cpp b/src/core/UBSettings.cpp index dc9e5702..48dbcab8 100644 --- a/src/core/UBSettings.cpp +++ b/src/core/UBSettings.cpp @@ -104,6 +104,9 @@ QPointer UBSettings::sAppSettings = 0; const int UBSettings::maxThumbnailWidth = 400; const int UBSettings::defaultThumbnailWidth = 150; +const int UBSettings::defaultSortKind = 0; +const int UBSettings::defaultSortOrder = 0; + const int UBSettings::defaultLibraryIconSize = 80; const int UBSettings::defaultGipWidth = 150; @@ -425,7 +428,9 @@ void UBSettings::init() // removed in version 4.4.b.2 mUserSettings->remove("Podcast/RecordMicrophone"); - documentThumbnailWidth = new UBSetting(this, "Document", "ThumbnailWidth", UBSettings::defaultThumbnailWidth); + documentThumbnailWidth = new UBSetting(this, "Document", "ThumbnailWidth", UBSettings::defaultThumbnailWidth); + documentSortKind = new UBSetting(this, "Document", "SortKind", UBSettings::defaultSortKind); + documentSortOrder = new UBSetting(this, "Document", "SortOrder", UBSettings::defaultSortOrder); libraryShowDetailsForLocalItems = new UBSetting(this, "Library", "ShowDetailsForLocalItems", false); diff --git a/src/core/UBSettings.h b/src/core/UBSettings.h index 314b80ce..695d621c 100644 --- a/src/core/UBSettings.h +++ b/src/core/UBSettings.h @@ -215,6 +215,8 @@ class UBSettings : public QObject static const int maxThumbnailWidth; static const int defaultThumbnailWidth; + static const int defaultSortKind; + static const int defaultSortOrder; static const int defaultLibraryIconSize; static const int defaultImageWidth; @@ -372,6 +374,8 @@ class UBSettings : public QObject UBSetting* favoritesNativeToolUris; UBSetting* documentThumbnailWidth; + UBSetting* documentSortKind; + UBSetting* documentSortOrder; UBSetting* imageThumbnailWidth; UBSetting* videoThumbnailWidth; UBSetting* shapeThumbnailWidth; diff --git a/src/document/UBDocumentController.cpp b/src/document/UBDocumentController.cpp index b004756d..22500b24 100644 --- a/src/document/UBDocumentController.cpp +++ b/src/document/UBDocumentController.cpp @@ -1979,7 +1979,13 @@ void UBDocumentController::setupViews() mSortFilterProxyModel->setSourceModel(model); - sortDocuments(UBDocumentController::Alphabetical, UBDocumentController::ASC); + int sortKind = UBSettings::settings()->documentSortKind->get().toInt(); + int sortOrder = UBSettings::settings()->documentSortOrder->get().toInt(); + mUserHasChangedSortOrder = true; + sortDocuments(sortKind, sortOrder); + + mDocumentUI->sortKind->setCurrentIndex(sortKind); + mDocumentUI->sortOrder->setCurrentIndex(sortOrder); mDocumentUI->documentTreeView->setModel(mSortFilterProxyModel); @@ -1995,7 +2001,7 @@ void UBDocumentController::setupViews() //set sizes (left and right sides of the splitter) for the splitter here because it cannot be done in the form editor. const int leftSplitterSize = 100; - const int rightSplitterSize = 1600; + const int rightSplitterSize = 900; QList splitterSizes = { leftSplitterSize, rightSplitterSize }; mDocumentUI->splitter->setSizes(splitterSizes);