From c72539d2cf1dfa43a0a874ea4877d6047ba3dcb8 Mon Sep 17 00:00:00 2001 From: Michael Bohlender Date: Tue, 21 Jun 2016 16:44:43 +0200 Subject: create OverlayDialog component and use it everywhere --- .../package/contents/ui/EditAccountDialog.qml | 30 ++--------- components/package/contents/ui/FocusComposer.qml | 28 ++--------- .../package/contents/ui/NewAccountDialog.qml | 27 ++-------- components/package/contents/ui/OverlayDialog.qml | 58 ++++++++++++++++++++++ components/qmldir | 1 + 5 files changed, 71 insertions(+), 73 deletions(-) create mode 100644 components/package/contents/ui/OverlayDialog.qml (limited to 'components') diff --git a/components/package/contents/ui/EditAccountDialog.qml b/components/package/contents/ui/EditAccountDialog.qml index 26934c94..887f50e1 100644 --- a/components/package/contents/ui/EditAccountDialog.qml +++ b/components/package/contents/ui/EditAccountDialog.qml @@ -23,48 +23,26 @@ import org.kde.kirigami 1.0 as Kirigami import org.kube.framework.settings 1.0 as KubeSettings import org.kube.framework.domain 1.0 as KubeFramework -import org.kube.framework.theme 1.0 +import org.kube.components 1.0 as KubeComponents -Item { +KubeComponents.OverlayDialog { id: root property variant uiSource property variant accountId - Rectangle { - id: background - - anchors.fill: parent - - color: "black" - opacity: 0.9 - } - - MouseArea { - anchors.fill: parent - onClicked: { - root.destroy() - } - } - - Rectangle { + Item { id: dialog anchors.centerIn: parent height: root.height * 0.8 width: root.width * 0.8 - color: Kirigami.Theme.backgroundColor - - MouseArea { - anchors.fill: parent - } - Loader { anchors.fill: parent source: root.uiSource - onLoaded: item.accountId = root.accountId + onLoaded: item.accountId = root.accountId } } } diff --git a/components/package/contents/ui/FocusComposer.qml b/components/package/contents/ui/FocusComposer.qml index 5eec09d8..4d5499d9 100644 --- a/components/package/contents/ui/FocusComposer.qml +++ b/components/package/contents/ui/FocusComposer.qml @@ -21,41 +21,21 @@ import QtQuick.Layouts 1.1 import org.kde.kirigami 1.0 as Kirigami -Item { +import org.kube.components 1.0 as KubeComponents + +KubeComponents.OverlayDialog { id: root function loadMessage(message, loadAsDraft) { composer.loadMessage(message, loadAsDraft); } - - Rectangle { - anchors.fill: parent - - color: "black" - opacity: 0.6 - } - - MouseArea { - anchors.fill: parent - - onClicked: { - root.destroy() - } - } - - Rectangle { + Item { anchors.centerIn: parent height: root.height * 0.8 width: root.width * 0.8 - color: Kirigami.Theme.backgroundColor - - MouseArea { - anchors.fill: parent - } - ColumnLayout { anchors { diff --git a/components/package/contents/ui/NewAccountDialog.qml b/components/package/contents/ui/NewAccountDialog.qml index fd1eeaec..3be72a78 100644 --- a/components/package/contents/ui/NewAccountDialog.qml +++ b/components/package/contents/ui/NewAccountDialog.qml @@ -23,38 +23,19 @@ import org.kde.kirigami 1.0 as Kirigami import org.kube.framework.settings 1.0 as KubeSettings import org.kube.framework.domain 1.0 as KubeFramework +import org.kube.components 1.0 as KubeComponents -Item { +KubeComponents.OverlayDialog { id: root - Rectangle { - id: background - anchors.fill: parent - - color: "black" - opacity: 0.6 - } - - MouseArea { - anchors.fill: parent - onClicked: { - root.destroy() - } - } - - Rectangle { + Item { id: dialog + anchors.centerIn: parent height: root.height * 0.8 width: root.width * 0.8 - color: Kirigami.Theme.backgroundColor - - MouseArea { - anchors.fill: parent - } - ToolBar { id: toolBar anchors { diff --git a/components/package/contents/ui/OverlayDialog.qml b/components/package/contents/ui/OverlayDialog.qml new file mode 100644 index 00000000..1138c78c --- /dev/null +++ b/components/package/contents/ui/OverlayDialog.qml @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2016 Michael Bohlender + * + * 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 3 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, see . + */ + +import QtQuick 2.4 +import QtQuick.Controls 1.4 +import QtQuick.Layouts 1.1 + +import org.kde.kirigami 1.0 as Kirigami + +import org.kube.framework.settings 1.0 as KubeSettings +import org.kube.framework.domain 1.0 as KubeFramework + +Item { + id: root + + Rectangle { + id: background + anchors.fill: parent + + color: "black" + opacity: 0.6 + } + + MouseArea { + anchors.fill: parent + onClicked: { + root.destroy() + } + } + + Rectangle { + id: dialog + anchors.centerIn: parent + + height: root.height * 0.8 + width: root.width * 0.8 + + color: Kirigami.Theme.backgroundColor + + MouseArea { + anchors.fill: parent + } + } +} \ No newline at end of file diff --git a/components/qmldir b/components/qmldir index 8064f9d1..a294cbd3 100644 --- a/components/qmldir +++ b/components/qmldir @@ -8,3 +8,4 @@ Settings 1.0 Settings.qml AccountSwitcher 1.0 AccountSwitcher.qml NewAccountDialog 1.0 NewAccountDialog.qml EditAccountDialog 1.0 EditAccountDialog.qml +OverlayDialog 1.0 OverlayDialog.qml -- cgit v1.2.3