summaryrefslogtreecommitdiffstats
path: root/src/libcommuni/examples/quick/qml/main.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcommuni/examples/quick/qml/main.qml')
-rw-r--r--src/libcommuni/examples/quick/qml/main.qml80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/libcommuni/examples/quick/qml/main.qml b/src/libcommuni/examples/quick/qml/main.qml
new file mode 100644
index 0000000..8c431ad
--- /dev/null
+++ b/src/libcommuni/examples/quick/qml/main.qml
@@ -0,0 +1,80 @@
+/*
+ * 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.Controls 1.0
+import Communi 3.0
+
+ApplicationWindow {
+ id: window
+
+ visible: true
+ title: qsTr("Communi %1 QtQuick example").arg(irc.version())
+
+ width: 800
+ height: 480
+
+ minimumWidth: connectPage.implicitWidth
+ minimumHeight: connectPage.implicitHeight
+
+ color: Qt.darker(palette.base, 1.06)
+
+ SystemPalette { id: palette }
+
+ Irc { id: irc }
+ IrcCommand { id: cmd }
+
+ ConnectPage {
+ id: connectPage
+ anchors.fill: parent
+ visible: !connection.active
+ onAccepted: {
+ chatPage.currentBuffer = serverBuffer
+ connection.sendCommand(cmd.createJoin(channel))
+ connection.open()
+ }
+ onRejected: Qt.quit()
+ }
+
+ ChatPage {
+ id: chatPage
+ anchors.fill: parent
+ visible: connection.active
+ bufferModel: IrcBufferModel {
+ id: bufferModel
+ sortMethod: Irc.SortByTitle
+ connection: IrcConnection {
+ id: connection
+ host: connectPage.host
+ port: connectPage.port
+ secure: connectPage.secure
+ saslMechanism: connectPage.sasl ? supportedSaslMechanisms[0] : ""
+ nickName: connectPage.nickName
+ realName: connectPage.realName
+ userName: connectPage.userName
+ password: connectPage.password
+ }
+ onMessageIgnored: serverBuffer.receiveMessage(message)
+ function quit() {
+ bufferModel.clear()
+ connection.quit(qsTr("Communi %1 QtQuick example").arg(irc.version()))
+ connection.close()
+ }
+ }
+ serverBuffer: IrcBuffer {
+ id: serverBuffer
+ sticky: true
+ persistent: true
+ name: connection.displayName
+ Component.onCompleted: bufferModel.add(serverBuffer)
+ }
+ }
+
+ Component.onDestruction: bufferModel.quit()
+}