diff --git a/autotests/qmltests/tst_NavigationActionBar.qml b/autotests/qmltests/tst_NavigationActionBar.qml --- a/autotests/qmltests/tst_NavigationActionBar.qml +++ b/autotests/qmltests/tst_NavigationActionBar.qml @@ -21,7 +21,11 @@ FocusScope { - property bool expandedFilterView: false + Item { + id: persistentSettings + + property bool expandedFilterView: false + } function i18nc(string1,string2) { return string2 @@ -34,19 +38,15 @@ property int defaultFontPointSize: 12 property int filterClearButtonMargin: layoutVerticalMargin property int ratingStarSize: 15 + property int navigationBarHeight: 100 + property int navigationBarFilterHeight: 44 } SystemPalette { id: myPalette colorGroup: SystemPalette.Active } - Binding { - target: navigationActionBar1 - property: "expandedFilterView" - value: expandedFilterView - } - NavigationActionBar { id: navigationActionBar1 @@ -115,13 +115,13 @@ SignalSpy { id: filterViewChangedSpy1 target: navigationActionBar1 - signalName: "filterViewChanged" + signalName: "expandedFilterViewChanged" } SignalSpy { id: filterViewChangedSpy2 target: navigationActionBar2 - signalName: "filterViewChanged" + signalName: "expandedFilterViewChanged" } SignalSpy { @@ -149,7 +149,7 @@ filterViewChangedSpy2.clear(); showArtistSpy1.clear(); showArtistSpy2.clear(); - expandedFilterView = false; + persistentSettings.expandedFilterView = false; } function test_goBack() { @@ -199,29 +199,25 @@ compare(replaceAndPlaySpy2.count, 0); compare(goBackSpy1.count, 0); compare(goBackSpy2.count, 0); - compare(filterViewChangedSpy1.count, 0); + compare(filterViewChangedSpy1.count, 1); compare(filterViewChangedSpy2.count, 0); compare(showArtistSpy1.count, 0); compare(showArtistSpy2.count, 0); var showFilterButtonItem1 = findChild(navigationActionBar1, "showFilterButton"); verify(showFilterButtonItem1 !== null, "valid showFilterButton") mouseClick(showFilterButtonItem1); - compare(filterViewChangedSpy1.count, 1); + compare(filterViewChangedSpy1.count, 2); var signalArgument1 = filterViewChangedSpy1.signalArguments[0]; - expandedFilterView = signalArgument1[0]; - compare(expandedFilterView,true); + compare(navigationActionBar1.expandedFilterView, true); compare(navigationActionBar1.state,'expanded') var showFilterButtonItem2 = findChild(navigationActionBar2, "showFilterButton"); verify(showFilterButtonItem2 !== null, "valid showFilterButton") mouseClick(showFilterButtonItem2); compare(filterViewChangedSpy2.count, 1); var signalArgument2 = filterViewChangedSpy2.signalArguments[0]; - compare(signalArgument2[0],false) - expandedFilterView = signalArgument2[0]; - compare(expandedFilterView,false) - compare(navigationActionBar1.expandedFilterView, false) - compare(navigationActionBar1.state,'collapsed') + compare(navigationActionBar2.expandedFilterView, false) + compare(navigationActionBar2.state, 'collapsed') } function test_replaceAndPlay() { @@ -265,7 +261,7 @@ } function test_filterRating() { - expandedFilterView = true; + persistentSettings.expandedFilterView = true; wait(200); var ratingFilterItem1 = findChild(navigationActionBar1, "ratingFilter"); verify(ratingFilterItem1 !== null, "valid ratingFilter") diff --git a/src/qml/ContentView.qml b/src/qml/ContentView.qml --- a/src/qml/ContentView.qml +++ b/src/qml/ContentView.qml @@ -307,14 +307,6 @@ } onGoBack: viewManager.goBack() - - Binding { - target: allAlbumsView - property: 'expandedFilterView' - value: persistentSettings.expandedFilterView - } - - onFilterViewChanged: persistentSettings.expandedFilterView = expandedFilterView } } @@ -368,14 +360,6 @@ } onGoBack: viewManager.goBack() - - Binding { - target: allArtistsView - property: 'expandedFilterView' - value: persistentSettings.expandedFilterView - } - - onFilterViewChanged: persistentSettings.expandedFilterView = expandedFilterView } } @@ -441,14 +425,6 @@ image: elisaTheme.tracksIcon mainTitle: i18nc("Title of the view of all tracks", "Tracks") - - Binding { - target: allTracksView - property: 'expandedFilterView' - value: persistentSettings.expandedFilterView - } - - onFilterViewChanged: persistentSettings.expandedFilterView = expandedFilterView } } @@ -502,14 +478,6 @@ } onGoBack: viewManager.goBack() - - Binding { - target: allGenresView - property: 'expandedFilterView' - value: persistentSettings.expandedFilterView - } - - onFilterViewChanged: persistentSettings.expandedFilterView = expandedFilterView } } @@ -546,14 +514,6 @@ focus: true contentModel: elisa.fileBrowserProxyModel - - Binding { - target: localFiles - property: 'expandedFilterView' - value: persistentSettings.expandedFilterView - } - - onFilterViewChanged: persistentSettings.expandedFilterView = expandedFilterView } Behavior on opacity { @@ -764,14 +724,6 @@ } onGoBack: viewManager.goBack() - - Binding { - target: innerAlbumGridView - property: 'expandedFilterView' - value: persistentSettings.expandedFilterView - } - - onFilterViewChanged: persistentSettings.expandedFilterView = expandedFilterView } } @@ -790,14 +742,6 @@ } onGoBack: viewManager.goBack() - - Binding { - target: innerAlbumGridView - property: 'expandedFilterView' - value: persistentSettings.expandedFilterView - } - - onFilterViewChanged: persistentSettings.expandedFilterView = expandedFilterView } } @@ -843,16 +787,6 @@ } onGoBack: viewManager.goBack() - - expandedFilterView: true - - Binding { - target: albumGridView - property: 'expandedFilterView' - value: persistentSettings.expandedFilterView - } - - onFilterViewChanged: persistentSettings.expandedFilterView = expandedFilterView } } } diff --git a/src/qml/ElisaMainWindow.qml b/src/qml/ElisaMainWindow.qml --- a/src/qml/ElisaMainWindow.qml +++ b/src/qml/ElisaMainWindow.qml @@ -42,19 +42,6 @@ title: i18n("Elisa") property var goBackAction: elisa.action("go_back") - property var findAction: elisa.action("edit_find") - - Controls1.Action { - shortcut: findAction.shortcut - onTriggered: { - if ( persistentSettings.expandedFilterView == true) - { - persistentSettings.expandedFilterView = false - } else { - persistentSettings.expandedFilterView = true - } - } - } Controls1.Action { shortcut: goBackAction.shortcut diff --git a/src/qml/FileBrowserView.qml b/src/qml/FileBrowserView.qml --- a/src/qml/FileBrowserView.qml +++ b/src/qml/FileBrowserView.qml @@ -30,8 +30,6 @@ property alias contentModel: contentDirectoryView.model property alias expandedFilterView: navigationBar.expandedFilterView - signal filterViewChanged(bool expandedFilterView) - function goBack() { contentModel.openParentFolder() } @@ -86,7 +84,6 @@ onEnqueue: contentModel.enqueueToPlayList() onReplaceAndPlay: contentModel.replaceAndPlayOfPlayList() onGoBack: contentModel.openParentFolder() - onFilterViewChanged: fileView.filterViewChanged(expandedFilterView) onSort: contentModel.sortModel(order) } diff --git a/src/qml/GridBrowserView.qml b/src/qml/GridBrowserView.qml --- a/src/qml/GridBrowserView.qml +++ b/src/qml/GridBrowserView.qml @@ -39,7 +39,6 @@ signal open(var innerMainTitle, var innerSecondaryTitle, var innerImage, var databaseId) signal goBack() - signal filterViewChanged(bool expandedFilterView) SystemPalette { id: myPalette @@ -95,8 +94,6 @@ onGoBack: gridView.goBack() - onFilterViewChanged: gridView.filterViewChanged(expandedFilterView) - onSort: contentModel.sortModel(order) } diff --git a/src/qml/ListBrowserView.qml b/src/qml/ListBrowserView.qml --- a/src/qml/ListBrowserView.qml +++ b/src/qml/ListBrowserView.qml @@ -43,7 +43,6 @@ signal goBack() signal showArtist(var name) - signal filterViewChanged(bool expandedFilterView) SystemPalette { id: myPalette @@ -84,8 +83,6 @@ onEnqueue: contentModel.enqueueToPlayList() - onFilterViewChanged: listView.filterViewChanged(expandedFilterView) - onReplaceAndPlay: contentModel.replaceAndPlayOfPlayList() onGoBack: listView.goBack() diff --git a/src/qml/NavigationActionBar.qml b/src/qml/NavigationActionBar.qml --- a/src/qml/NavigationActionBar.qml +++ b/src/qml/NavigationActionBar.qml @@ -34,15 +34,14 @@ property alias filterText: filterTextInput.text property alias filterRating: ratingFilter.starRating property bool enableGoBack: true - property bool expandedFilterView: false + property bool expandedFilterView: persistentSettings.expandedFilterView property bool enableSorting: true property bool sortOrder signal enqueue(); signal replaceAndPlay(); signal goBack(); signal showArtist(); - signal filterViewChanged(bool expandedFilterView); signal sort(var order); Controls1.Action { @@ -52,11 +51,20 @@ onTriggered: goBack() } + property var findAction: elisa.action("edit_find") + Controls1.Action { id: showFilterAction + shortcut: findAction.shortcut text: !navigationBar.expandedFilterView ? i18nc("Show filters in the navigation bar", "Show Search Options") : i18nc("Hide filters in the navigation bar", "Hide Search Options") iconName: !navigationBar.expandedFilterView ? "go-down-search" : "go-up-search" - onTriggered: filterViewChanged(!navigationBar.expandedFilterView) + onTriggered: { + persistentSettings.expandedFilterView = !persistentSettings.expandedFilterView + expandedFilterView = persistentSettings.expandedFilterView + if (expandedFilterView) { + filterTextInput.forceActiveFocus() + } + } } Controls1.Action {