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);