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

akiraohgaki's avatar
akiraohgaki committed
RowLayout {
    id: dialog

akiraohgaki's avatar
akiraohgaki committed
    visible: false
    anchors.fill: parent
    anchors.margins: 12
    spacing: 8

    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;
    }

akiraohgaki's avatar
akiraohgaki committed
    Image {
        id: icon
        source: ""
        visible: source.toString() ? true : false
        Layout.preferredWidth: 32
        Layout.preferredHeight: 32
    }

    ColumnLayout {
        Layout.fillWidth: true
        spacing: parent.spacing
akiraohgaki's avatar
akiraohgaki committed
        Label {
            id: primaryText
            text: ""
            visible: text ? true : false
            Layout.fillWidth: true
            wrapMode: Text.WrapAnywhere
            font.bold: true
akiraohgaki's avatar
akiraohgaki committed
        Label {
            id: informativeText
            text: ""
            visible: text ? true : false
            Layout.fillWidth: true
            wrapMode: Text.WrapAnywhere
        }
        Item {
            Layout.fillHeight: true
        }
        Label {
            id: detailedText
            text: ""
            visible: text ? true : false
            Layout.fillWidth: true
            wrapMode: Text.WrapAnywhere
            color: "#444444"
        }
        Item {
            id: content
            Layout.fillWidth: true
        }
        Item {
            Layout.fillHeight: true
        }
        RowLayout {
            Layout.fillWidth: true
            spacing: parent.spacing
akiraohgaki's avatar
akiraohgaki committed
            Item {
akiraohgaki's avatar
akiraohgaki committed
                Layout.fillWidth: true
akiraohgaki's avatar
akiraohgaki committed
            Button {
                id: acceptButton
                text: ""
                visible: text ? true : false
            }
akiraohgaki's avatar
akiraohgaki committed
            Button {
                id: rejectButton
akiraohgaki's avatar
akiraohgaki committed
                text: ""
                visible: text ? true : false