From dd638f207a7d793b6c857fe7718a449ab7032663 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCgler?= Date: Wed, 20 Feb 2013 05:32:48 +0100 Subject: [PATCH] Page with Dialogs in ComponentsApplet --- .../contents/ui/DialogContent.qml | 53 +++++++++ .../contents/ui/DialogsPage.qml | 112 ++++++++++++++++++ .../contents/ui/testcomponents.qml | 5 + 3 files changed, 170 insertions(+) create mode 100644 applets/testcomponentsapplet/contents/ui/DialogContent.qml create mode 100644 applets/testcomponentsapplet/contents/ui/DialogsPage.qml diff --git a/applets/testcomponentsapplet/contents/ui/DialogContent.qml b/applets/testcomponentsapplet/contents/ui/DialogContent.qml new file mode 100644 index 000000000..00e29ddbc --- /dev/null +++ b/applets/testcomponentsapplet/contents/ui/DialogContent.qml @@ -0,0 +1,53 @@ +/* + * Copyright 2013 Sebastian Kügler + * + * 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) any later version. + * + * 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.0 +import QtQuick.Window 2.0 + +import org.kde.plasma.core 0.1 as PlasmaCore +import org.kde.plasma.components 0.1 as PlasmaComponents +import org.kde.plasma.extras 0.1 as PlasmaExtras +import org.kde.qtextracomponents 0.1 as QtExtras + +// DialogContent + +Item { + id: dialogsPage + width: 400 + height: 300 + signal closeMe() + Rectangle { + color: "green" + anchors.margins: 24 + anchors.fill: parent + } + PlasmaComponents.TextArea { + anchors { left: parent.left; right: parent.right; top: parent.top; } + //width: parent.width + height: _h*2 + } + PlasmaComponents.Button { + id: thanks + anchors { right: parent.right; bottom: parent.bottom; } + iconSource: "dialog-ok" + text: "Thanks." + //onClicked: dialogsPage.parent.visible = false; + onClicked: closeMe() + } +} + diff --git a/applets/testcomponentsapplet/contents/ui/DialogsPage.qml b/applets/testcomponentsapplet/contents/ui/DialogsPage.qml new file mode 100644 index 000000000..aa9cc9db9 --- /dev/null +++ b/applets/testcomponentsapplet/contents/ui/DialogsPage.qml @@ -0,0 +1,112 @@ +/* + * Copyright 2013 Sebastian Kügler + * + * 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) any later version. + * + * 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.0 +import QtQuick.Window 2.0 + +import org.kde.plasma.core 0.1 as PlasmaCore +import org.kde.plasma.components 0.1 as PlasmaComponents +import org.kde.plasma.extras 0.1 as PlasmaExtras +import org.kde.qtextracomponents 0.1 as QtExtras + +// DialogsPage + +PlasmaComponents.Page { + id: dialogsPage + anchors { + fill: parent + margins: _s + } + Column { + spacing: _s/2 + anchors.fill: parent + PlasmaExtras.Title { + width: parent.width + text: "Dialogs" + } + Row { + height: _h + spacing: _s + PlasmaComponents.Button { + text: "PlasmaCore.Dialog" + iconSource: "dialog-ok-apply" + checkable: true + onCheckedChanged: pcDialog.visible = checked + } + PlasmaComponents.Label { + text: pcDialog.visible ? "shown" : "hidden" + } + + PlasmaCore.Dialog { + id: pcDialog + windowFlags: Qt.Popup + mainItem: dContent2 + DialogContent { + id: dContent2 + onCloseMe: { + pcDialog.close() + //pcDialog.visible = false + } + } + } + } + Row { + height: _h + spacing: _s + PlasmaComponents.Button { + id: radio + checkable: true + iconSource: "dialog-ok" + text: "QtQuick2.Window" + } + Window { + id: qWindow + visible: radio.checked + width: childrenRect.width + height: childrenRect.height + color: Qt.rgba(0,0,0,0) +// Column { +// width: dialogsPage.width/2 +// PlasmaComponents.TextArea { +// //anchors { left: parent.left; right: parent.right; top: parent.top; } +// width: parent.width +// height: _h*2 +// } +// +// PlasmaComponents.Button { +// id: thanks +// iconSource: "dialog-ok" +// text: "Thanks." +// onClicked: selectionDialog.visible = false; +// } +// } + DialogContent { + id: dContent + onCloseMe: { + qWindow.visible = false + } + } + } + + PlasmaComponents.Label { + text: qWindow.visible ? "shown" : "hidden" + } + } + } +} + diff --git a/applets/testcomponentsapplet/contents/ui/testcomponents.qml b/applets/testcomponentsapplet/contents/ui/testcomponents.qml index e048da53a..b21506e83 100644 --- a/applets/testcomponentsapplet/contents/ui/testcomponents.qml +++ b/applets/testcomponentsapplet/contents/ui/testcomponents.qml @@ -46,6 +46,7 @@ Item { } height: _h + PlasmaComponents.TabButton { tab: dialogsPage; iconSource: "preferences-system-windows"} PlasmaComponents.TabButton { tab: buttonsPage; iconSource: "preferences-desktop-theme"} PlasmaComponents.TabButton { tab: iconsPage; iconSource: "preferences-desktop-icons"} PlasmaComponents.TabButton { tab: plasmoidPage; iconSource: "plasma"} @@ -63,6 +64,10 @@ Item { //currentTab: tabBar.currentTab + DialogsPage { + id: dialogsPage + } + ButtonsPage { id: buttonsPage }