From c3f0f379ae07186c053d3e09275481721ae5864c Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Tue, 8 Sep 2020 21:05:48 +0200 Subject: [PATCH] The sort button now display the selected sort role --- src/qml/NavigationActionBar.qml | 14 +++++++++++++- src/qml/SortMenu.qml | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/qml/NavigationActionBar.qml b/src/qml/NavigationActionBar.qml index 65fe54aa..96a0def4 100644 --- a/src/qml/NavigationActionBar.qml +++ b/src/qml/NavigationActionBar.qml @@ -137,15 +137,20 @@ ColumnLayout { onClicked: showArtist() }, FlatButtonWithToolTip { + id: sortMenuButton + objectName: 'sortMenuButton' visible: enableSorting && !showCreateRadioButton - text: i18nc("Sort By Menu", "Sort By") + text: (sortMenu.sortRoleName !== "" ? sortMenu.sortRoleName : i18nc("Sort By Menu Title with no sort selected", "Sort")) + display: AbstractButton.TextOnly icon.name: "view-sort" onClicked: { sortMenu.sortOrder = navigationBar.sortOrder sortMenu.open() } + Layout.preferredWidth: textSize.width + Kirigami.Units.smallSpacing * 2 + SortMenu { id: sortMenu @@ -153,6 +158,13 @@ ColumnLayout { onSortRoleChanged: if (viewManager) viewManager.sortRoleChanged(sortRole) } + + TextMetrics { + id: textSize + + text: sortMenuButton.text + font: sortMenuButton.font + } }, FlatButtonWithToolTip { objectName: 'showFilterButton' diff --git a/src/qml/SortMenu.qml b/src/qml/SortMenu.qml index 46665cf1..475fc3b8 100644 --- a/src/qml/SortMenu.qml +++ b/src/qml/SortMenu.qml @@ -11,6 +11,7 @@ Menu { id: sortMenu property int sortRole + property string sortRoleName property var sortRoles property var sortRoleNames property var sortOrder @@ -27,6 +28,7 @@ Menu { if (sortRoles[i] === sortMenu.sortRole && sortMenu.sortOrderNames.length >= (i * 2 + 1)) { ascendingSortOrder.text = sortMenu.sortOrderNames[i * 2] descendingSortOrder.text = sortMenu.sortOrderNames[i * 2 + 1] + sortMenu.sortRoleName = sortMenu.sortRoleNames[i] } } } -- GitLab