Skip to content
Snippets Groups Projects
Dialog.qml 1.99 KiB
Newer Older
import QtQuick 2.0
import QtQuick.Layouts 1.0
import QtQuick.Controls 1.0

ColumnLayout {
    id: dialog

    anchors.fill: parent
    anchors.margins: 12
    spacing: 8
    visible: false

    property alias icon: icon.source
    property alias primaryText: primaryText.text
    property alias informativeText: informativeText.text
akiraohgaki's avatar
akiraohgaki committed
    property alias detailedText: detailedText.text
    property alias content: content.children
    property alias acceptButton: acceptButton
    property alias rejectButton: rejectButton

    function open() {
        dialog.visible = true;
    }

    function close() {
        dialog.visible = false;
    }

    RowLayout {
        Layout.fillWidth: true
        Layout.fillHeight: true
        spacing: parent.spacing
        Image {
            id: icon
            source: ""
akiraohgaki's avatar
akiraohgaki committed
            Layout.implicitWidth: 32
            Layout.implicitHeight: 32
akiraohgaki's avatar
akiraohgaki committed
            visible: source.toString() ? true : false
        }
        ColumnLayout {
            Layout.fillWidth: true
            spacing: parent.spacing
            Label {
                id: primaryText
                text: ""
                font.bold: true
                visible: text ? true : false
            }
            Label {
                id: informativeText
                text: ""
                visible: text ? true : false
            }
akiraohgaki's avatar
akiraohgaki committed
            Label {
                id: detailedText
                text: ""
                visible: text ? true : false
            }
            Item {
                id: content
                Layout.fillWidth: true
                Layout.fillHeight: true
            }
        }
    }

    RowLayout {
        Layout.fillWidth: true
        spacing: parent.spacing
        Item {
            Layout.fillWidth: true
        }
        Button {
            id: acceptButton
            text: ""
            visible: text ? true : false
        }
        Button {
            id: rejectButton
            text: ""
            visible: text ? true : false
        }
    }
}