/*
 * 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" )
            }
        }
    }
}
