kdeconnect-kde/app/qml/main.qml

91 lines
2.9 KiB
QML
Raw Normal View History

2015-06-13 00:30:38 +01:00
/*
* Copyright 2015 Aleix Pol Gonzalez <aleixpol@kde.org>
*
* 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 <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import org.kde.kirigami 1.0 as Kirigami
2015-06-13 00:30:38 +01:00
import org.kde.kdeconnect 1.0
Kirigami.ApplicationWindow
2015-06-13 00:30:38 +01:00
{
id: root
visible: true
width: 400
height: 500
Kirigami.Action {
id: findDevicesAction
text: i18n ("Find devices...")
iconName: "list-add"
onTriggered: {
root.pageStack.clear()
root.pageStack.push("qrc:/qml/FindDevicesPage.qml");
}
}
globalDrawer: Kirigami.GlobalDrawer {
id: drawer
title: i18n("KDE Connect")
titleIcon: "kdeconnect"
// bannerImageSource: "/home/apol/devel/kde5/share/wallpapers/Next/contents/images/1024x768.png"
property var objects: [findDevicesAction]
Instantiator {
model: DevicesSortProxyModel {
sourceModel: DevicesModel { displayFilter: DevicesModel.Paired }
}
delegate: Kirigami.Action {
iconName: model.iconName
text: display + "\n" + toolTip
enabled: status & DevicesModel.Reachable
checked: root.pageStack.currentDevice == device
checkable: true
onTriggered: {
root.pageStack.clear()
root.pageStack.push(
"qrc:/qml/DevicePage.qml",
{currentDevice: device}
);
2015-06-13 00:30:38 +01:00
}
}
onObjectAdded: {
drawer.objects.push(object)
drawer.objects = drawer.objects
}
onObjectRemoved: {
var idx = drawer.objects.indexOf(object);
if (idx>=0) {
var removed = drawer.objects.splice(idx, 1)
drawer.objects = drawer.objects
}
}
2015-06-13 00:30:38 +01:00
}
actions: objects
2015-06-13 00:30:38 +01:00
}
contextDrawer: Kirigami.ContextDrawer {
id: contextDrawer
}
pageStack.initialPage: FindDevicesPage {}
2015-06-13 00:30:38 +01:00
}