diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2014-10-06 15:03:54 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2014-10-06 15:03:54 +0200 |
| commit | 529f38bd8878b6b1bea2b5457031ce936aab8d80 (patch) | |
| tree | 1193caefcad12f6a36f818048e4547e60add4398 /libcommuni/examples/quick/qml/ConnectPage.qml | |
| parent | 3b58b5536935adff242928ed9f30e1c0262fbd7c (diff) | |
| download | manager-529f38bd8878b6b1bea2b5457031ce936aab8d80.tar.gz manager-529f38bd8878b6b1bea2b5457031ce936aab8d80.zip | |
addedd communi
Diffstat (limited to 'libcommuni/examples/quick/qml/ConnectPage.qml')
| -rw-r--r-- | libcommuni/examples/quick/qml/ConnectPage.qml | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/libcommuni/examples/quick/qml/ConnectPage.qml b/libcommuni/examples/quick/qml/ConnectPage.qml new file mode 100644 index 0000000..8a7c296 --- /dev/null +++ b/libcommuni/examples/quick/qml/ConnectPage.qml @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2008-2014 The Communi Project + * + * This example is free, and not covered by the BSD license. There is no + * restriction applied to their modification, redistribution, using and so on. + * You can study them, modify them, use them in your own program - either + * completely or partially. + */ + +import QtQuick 2.1 +import QtQuick.Layouts 1.0 +import QtQuick.Controls 1.0 +import Qt.labs.settings 1.0 +import Communi 3.0 + +Item { + id: page + + property string host: hostField.text || hostField.placeholderText + property int port: portField.value + property bool secure: secureField.checked + property bool sasl: saslField.checked + property string nickName: nickNameField.text || nickNameField.placeholderText + property string realName: realNameField.text || realNameField.placeholderText + property string userName: userNameField.text || userNameField.placeholderText + property string password: passwordField.text + property string channel: channelField.text || channelField.placeholderText + + Settings { + id: settings + property alias host: hostField.text + property alias port: portField.value + property alias secure: secureField.checked + property alias sasl: saslField.checked + property alias nickName: nickNameField.text + property alias realName: realNameField.text + property alias userName: userNameField.text + property alias password: passwordField.text + property alias channel: channelField.text + } + + signal accepted() + signal rejected() + + implicitWidth: grid.implicitWidth + row.implicitWidth + implicitHeight: grid.implicitHeight + row.implicitHeight + 48 + + GridLayout { + id: grid + + width: page.width * 2 / 3 + anchors.centerIn: parent + anchors.verticalCenterOffset: -row.height + 12 + + columns: 2 + rowSpacing: 12 + columnSpacing: 12 + + Label { text: qsTr("Host:") } + TextField { + id: hostField + focus: true + Layout.fillWidth: true + placeholderText: "irc.freenode.net" + } + + Label { text: qsTr("Port:") } + RowLayout { + SpinBox { + id: portField + value: 6667 + minimumValue: 1024 + maximumValue: 65535 + Layout.fillWidth: true + } + CheckBox { + id: secureField + text: qsTr("SSL") + } + CheckBox { + id: saslField + text: qsTr("SASL") + } + } + + Label { text: qsTr("Nick name:") } + TextField { + id: nickNameField + Layout.fillWidth: true + placeholderText: "Quick" + Math.round(Math.random() * 9999) + } + + Label { text: qsTr("Real name:") } + TextField { + id: realNameField + Layout.fillWidth: true + placeholderText: qsTr("Communi %1 QtQuick example").arg(irc.version()) + } + + Label { text: qsTr("User name:") } + TextField { + id: userNameField + Layout.fillWidth: true + placeholderText: "communi" + } + + Label { text: qsTr("Password:") } + TextField { + id: passwordField + echoMode: TextInput.Password + Layout.fillWidth: true + } + + Label { text: qsTr("Channel:") } + TextField { + id: channelField + Layout.fillWidth: true + placeholderText: "#communi" + } + } + + Keys.onReturnPressed: { + if (okButton.enabled) + page.accepted() + } + + Keys.onEnterPressed: { + if (okButton.enabled) + page.accepted() + } + + Keys.onEscapePressed: { + if (cancelButton.enabled) + page.rejected() + } + + RowLayout { + id: row + + anchors.margins: 12 + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + + Item { Layout.fillWidth: true } + + Button { + id: okButton + text: qsTr("Ok") + enabled: page.visible + onClicked: page.accepted() + } + + Button { + id: cancelButton + text: qsTr("Cancel") + onClicked: page.rejected() + } + } +} |
