diff --git a/app/qml/Device.qml b/app/qml/DevicePage.qml similarity index 100% rename from app/qml/Device.qml rename to app/qml/DevicePage.qml diff --git a/app/qml/FindDevicesPage.qml b/app/qml/FindDevicesPage.qml new file mode 100644 index 000000000..622ad4209 --- /dev/null +++ b/app/qml/FindDevicesPage.qml @@ -0,0 +1,67 @@ +/* + * Copyright 2016 Aleix Pol Gonzalez + * + * This program 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 2 of + * the License or (at your option) version 3 or any later version + * accepted by the membership of KDE e.V. (or its successor approved + * by the membership of KDE e.V.), which shall act as a proxy + * defined in Section 14 of version 3 of the license. + * + * This program 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 this program. If not, see . + */ + +import QtQuick 2.2 +import QtQuick.Controls 1.1 +import QtQuick.Layouts 1.1 +import org.kde.kirigami 1.0 as Kirigami +import org.kde.kdeconnect 1.0 + +Kirigami.Page +{ + title: i18n("Pair") + ScrollView { + anchors.fill: parent + ListView { + section { + property: "status" + delegate: Label { + text: switch (parseInt(section)) + { + case DevicesModel.Paired: + return i18n("Paired") + case DevicesModel.Reachable: + return i18n("Reachable") + case (DevicesModel.Reachable | DevicesModel.Paired): + return i18n("Paired & Reachable") + } + + } + } + + model: DevicesSortProxyModel { + sourceModel: DevicesModel { displayFilter: DevicesModel.Reachable } + } + delegate: Kirigami.BasicListItem { + width: ListView.view.width + icon: iconName + label: display + "\n" + toolTip + enabled: !(status & DevicesModel.Paired) + onClicked: { + root.pageStack.clear() + root.pageStack.push( + "qrc:/qml/DevicePage.qml", + {currentDevice: device} + ); + } + } + } + } +} diff --git a/app/qml/main.qml b/app/qml/main.qml index 132b08f93..8df64e082 100644 --- a/app/qml/main.qml +++ b/app/qml/main.qml @@ -31,47 +31,41 @@ Kirigami.ApplicationWindow width: 400 height: 500 - pageStack.initialPage: Kirigami.Page { + globalDrawer: Kirigami.GlobalDrawer { title: i18n("KDE Connect") - ScrollView { + titleIcon: "kdeconnect" +// bannerImageSource: "/home/apol/devel/kde5/share/wallpapers/Next/contents/images/1024x768.png" + + content: ListView { anchors.fill: parent - ListView { - id: devicesView - - section { - property: "status" - delegate: Label { - text: switch (parseInt(section)) - { - case DevicesModel.Paired: - return i18n("Paired") - case DevicesModel.Reachable: - return i18n("Reachable") - case (DevicesModel.Reachable | DevicesModel.Paired): - return i18n("Paired & Reachable") - } - - } + model: DevicesSortProxyModel { + sourceModel: DevicesModel { displayFilter: DevicesModel.Paired } + } + header: Kirigami.BasicListItem { + label: i18n ("Find devices...") + icon: "list-add" + onClicked: { + root.pageStack.clear() + root.pageStack.push("qrc:/qml/FindDevicesPage.qml"); } + } - model: DevicesSortProxyModel { - sourceModel: DevicesModel { - id: connectDeviceModel - displayFilter: DevicesModel.Reachable - } - } - delegate: Kirigami.BasicListItem { - width: ListView.view.width - icon: iconName - label: display + "\n" + toolTip - onClicked: { - root.pageStack.push( - "qrc:/qml/Device.qml", - {currentDevice: device} - ); - } + delegate: Kirigami.BasicListItem { + width: ListView.view.width + icon: iconName + label: display + "\n" + toolTip + enabled: status & DevicesModel.Reachable + checked: root.pageStack.currentDevice == device + onClicked: { + root.pageStack.clear() + root.pageStack.push( + "qrc:/qml/DevicePage.qml", + {currentDevice: device} + ); } } } } + + pageStack.initialPage: FindDevicesPage {} } diff --git a/app/resources.qrc b/app/resources.qrc index df128d27d..f9e4832b9 100644 --- a/app/resources.qrc +++ b/app/resources.qrc @@ -3,6 +3,7 @@ qml/main.qml qml/mpris.qml qml/mousepad.qml - qml/Device.qml + qml/DevicePage.qml + qml/FindDevicesPage.qml