Commit 629094b8 authored by DoinLakeFlyer's avatar DoinLakeFlyer

parent eac7e5db
...@@ -7,9 +7,13 @@ ...@@ -7,9 +7,13 @@
* *
****************************************************************************/ ****************************************************************************/
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Dialogs 1.3
Item { Item {
property string title
property var buttons: StandardButton.Ok
width: childrenRect.width width: childrenRect.width
height: childrenRect.height height: childrenRect.height
......
...@@ -18,7 +18,10 @@ import QGroundControl.Palette 1.0 ...@@ -18,7 +18,10 @@ import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0 import QGroundControl.ScreenTools 1.0
Popup { Popup {
id: root property var dialogComponent
property var dialogProperties
id: popupRoot
anchors.centerIn: parent anchors.centerIn: parent
width: mainFlickable.width + (padding * 2) width: mainFlickable.width + (padding * 2)
height: mainFlickable.height + (padding * 2) height: mainFlickable.height + (padding * 2)
...@@ -26,68 +29,66 @@ Popup { ...@@ -26,68 +29,66 @@ Popup {
modal: true modal: true
focus: true focus: true
property var pal: QGroundControl.globalPalette property var _pal: QGroundControl.globalPalette
property real frameSize: ScreenTools.defaultFontPixelWidth property real _frameSize: ScreenTools.defaultFontPixelWidth
property string _dialogTitle
property real _contentMargin: ScreenTools.defaultFontPixelHeight / 2
property real _popupDoubleInset: ScreenTools.defaultFontPixelHeight * 2
property real _maxAvailableWidth: parent.width - _popupDoubleInset
property real _maxAvailableHeight: parent.height - _popupDoubleInset
background: Item { background: Item {
Rectangle { Rectangle {
anchors.left: parent.left anchors.left: parent.left
anchors.top: parent.top anchors.top: parent.top
width: frameSize width: _frameSize
height: frameSize height: _frameSize
color: pal.text color: _pal.text
visible: enabled visible: enabled
} }
Rectangle { Rectangle {
anchors.right: parent.right anchors.right: parent.right
anchors.top: parent.top anchors.top: parent.top
width: frameSize width: _frameSize
height: frameSize height: _frameSize
color: pal.text color: _pal.text
visible: enabled visible: enabled
} }
Rectangle { Rectangle {
anchors.left: parent.left anchors.left: parent.left
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
width: frameSize width: _frameSize
height: frameSize height: _frameSize
color: pal.text color: _pal.text
visible: enabled visible: enabled
} }
Rectangle { Rectangle {
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
width: frameSize width: _frameSize
height: frameSize height: _frameSize
color: pal.text color: _pal.text
visible: enabled visible: enabled
} }
Rectangle { Rectangle {
anchors.margins: root.padding anchors.margins: popupRoot.padding
anchors.fill: parent anchors.fill: parent
color: pal.window color: _pal.window
} }
} }
property string title Component.onCompleted: {
property var buttons _dialogTitle = dialogComponentLoader.item.title
property var dialogComponent setupDialogButtons(dialogComponentLoader.item.buttons)
}
property real _contentMargin: ScreenTools.defaultFontPixelHeight / 2
property real _popupDoubleInset: ScreenTools.defaultFontPixelHeight * 2
property real _maxAvailableWidth: parent.width - _popupDoubleInset
property real _maxAvailableHeight: parent.height - _popupDoubleInset
Component.onCompleted: setupDialogButtons()
QGCPalette { id: qgcPal; colorGroupEnabled: parent.enabled } QGCPalette { id: qgcPal; colorGroupEnabled: parent.enabled }
function setupDialogButtons() { function setupDialogButtons(buttons) {
acceptButton.visible = false acceptButton.visible = false
rejectButton.visible = false rejectButton.visible = false
// Accept role buttons // Accept role buttons
...@@ -210,8 +211,10 @@ Popup { ...@@ -210,8 +211,10 @@ Popup {
x: _contentMargin x: _contentMargin
sourceComponent: dialogComponent sourceComponent: dialogComponent
focus: true focus: true
property bool acceptAllowed: acceptButton.visible
property bool rejectAllowed: rejectButton.visible property var dialogProperties: popupRoot.dialogProperties
property bool acceptAllowed: acceptButton.visible
property bool rejectAllowed: rejectButton.visible
} }
} }
} }
......
...@@ -229,13 +229,13 @@ ApplicationWindow { ...@@ -229,13 +229,13 @@ ApplicationWindow {
} }
} }
function showPopupDialog(component, title, buttons) { function showPopupDialog(component, properties) {
var popup = popupDialogContainterComponent.createObject(mainWindow, { "title": title, "buttons": buttons, "dialogComponent": component}) var dialog = popupDialogContainerComponent.createObject(mainWindow, { dialogComponent: component, dialogProperties: properties })
popup.open() dialog.open()
} }
Component { Component {
id: popupDialogContainterComponent id: popupDialogContainerComponent
QGCPopupDialogContainer { } QGCPopupDialogContainer { }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment