harbour-wallaread/qml/pages/ServerPageSortDialog.qml

90 lines
2.7 KiB
QML

/*
* WallaRead - A Wallabag 2+ client for SailfishOS
* © 2017 Grégory Oestreicher <greg@kamago.net>
*
* This file is part of WallaRead.
*
* WallaRead is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* WallaRead is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WallaRead. If not, see <http://www.gnu.org/licenses/>.
*
*/
import QtQuick 2.0
import Sailfish.Silica 1.0
import "../js/WallaBase.js" as WallaBase
Dialog {
id: serverSortDialog
allowedOrientations: Orientation.All
canAccept: true
property variant preferences
Component.onCompleted: {
if ( preferences.sortOrder === WallaBase.ArticlesSort.Created )
sortComboBox.currentIndex = 0
else if ( preferences.sortOrder === WallaBase.ArticlesSort.Updated )
sortComboBox.currentIndex = 1
else if ( preferences.sortOrder === WallaBase.ArticlesSort.Domain )
sortComboBox.currentIndex = 2
}
onDone: {
if ( result === DialogResult.Accepted ) {
if ( sortComboBox.currentItem.text === "Created" )
preferences.sortOrder = WallaBase.ArticlesSort.Created
else if ( sortComboBox.currentItem.text === "Updated" )
preferences.sortOrder = WallaBase.ArticlesSort.Updated
else if ( sortComboBox.currentItem.text === "Domain" )
preferences.sortOrder = WallaBase.ArticlesSort.Domain
preferences.sortAsc = sortAscSwitch.checked
}
}
SilicaFlickable {
anchors.fill: parent
contentHeight: column.height
width: parent.width
Column {
id: column
width: parent.width
DialogHeader {
acceptText: qsTr( "Sort view" )
}
ComboBox {
id: sortComboBox
width: parent.width
label: qsTr( "Sort order" )
menu: ContextMenu {
MenuItem { text: "Created" }
MenuItem { text: "Updated" }
MenuItem { text: "Domain" }
}
}
TextSwitch {
id: sortAscSwitch
width: parent.width
checked: preferences.sortAsc
text: qsTr( "Sort Ascending" )
}
}
}
}