|
|
@@ -1,9 +1,10 @@
|
|
|
import QtQuick 2.5
|
|
|
import QtQuick.Controls 1.4
|
|
|
import QtQuick.Controls.Styles 1.4
|
|
|
-import QtWebSockets 1.0
|
|
|
|
|
|
import "./simplify.js" as Simplify
|
|
|
+import "components" as Comps
|
|
|
+
|
|
|
|
|
|
ApplicationWindow {
|
|
|
id: aw
|
|
|
@@ -12,116 +13,16 @@ ApplicationWindow {
|
|
|
height: 540
|
|
|
color: "#fffffe"
|
|
|
|
|
|
- property alias canvas: canvas
|
|
|
- Timer {
|
|
|
- interval: 800; running: true; repeat: true
|
|
|
- onTriggered: {
|
|
|
- if (socket.status != WebSocket.Open){//Reconnect
|
|
|
- socket.active = false
|
|
|
- socket.active = true
|
|
|
- console.log(Date().toString())
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- WebSocket {
|
|
|
-
|
|
|
- property int total_slides: 5
|
|
|
-
|
|
|
+ Comps.WebSocket {
|
|
|
id: socket
|
|
|
- url: "wss://wscasa.especificosba.com.ar"
|
|
|
- onTextMessageReceived: {
|
|
|
- var obj = JSON.parse(message)
|
|
|
- switch (obj.type) {
|
|
|
- case "diapo":
|
|
|
- canvas.clean_path()
|
|
|
- item1.curPDF = obj.PDF
|
|
|
- item1.curImage = obj.slide //automagically change_image
|
|
|
- if (obj.total_slides === undefined)
|
|
|
- total_slides = 3
|
|
|
- else
|
|
|
- total_slides = obj.total_slides
|
|
|
-
|
|
|
- break
|
|
|
- case "preg":
|
|
|
- item1.addPreg(obj.text)
|
|
|
- break
|
|
|
- case "deletepreg":
|
|
|
- item1.pregs = []
|
|
|
- break
|
|
|
- case "draw":
|
|
|
- break
|
|
|
- default:
|
|
|
- console.log(JSON.stringify(obj))
|
|
|
- }
|
|
|
- }
|
|
|
- function send_obj(obj) {
|
|
|
- sendTextMessage(JSON.stringify(obj))
|
|
|
- }
|
|
|
-
|
|
|
- function set_preg() {
|
|
|
- send_obj({
|
|
|
- type: "initpreg"
|
|
|
- })
|
|
|
- }
|
|
|
- function unset_preg() {
|
|
|
- send_obj({
|
|
|
- type: "stoppreg"
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- function prev_diapo() {
|
|
|
- var curImage = Math.max(item1.curImage - 1, 1)
|
|
|
- send_obj({
|
|
|
- type: "command",
|
|
|
- commandtype: "diapo",
|
|
|
- PDF: item1.curPDF,
|
|
|
- slide: curImage
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- function next_diapo() {
|
|
|
- var curImage = Math.min(item1.curImage + 1, total_slides)
|
|
|
- send_obj({
|
|
|
- type: "command",
|
|
|
- commandtype: "diapo",
|
|
|
- PDF: item1.curPDF,
|
|
|
- slide: curImage
|
|
|
- })
|
|
|
- }
|
|
|
- function clear_path() {
|
|
|
- send_obj({
|
|
|
- type: "command",
|
|
|
- commandtype: "clean"
|
|
|
- })
|
|
|
- canvas.clean_path()
|
|
|
- }
|
|
|
- function send_drawing(d) {
|
|
|
-
|
|
|
- send_obj({
|
|
|
- type: "command",
|
|
|
- commandtype: "draw",
|
|
|
- points: d,
|
|
|
- color: canvas.curColor
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- onStatusChanged: {
|
|
|
- //FIXME implement
|
|
|
- if (socket.status == WebSocket.Open) {
|
|
|
- wsStatus.text = qsTr("Conectado")
|
|
|
- } else {
|
|
|
- wsStatus.text = qsTr("Desconectado\nReconectando..")
|
|
|
- }
|
|
|
- }
|
|
|
- active: true
|
|
|
}
|
|
|
-
|
|
|
+ property alias t_slides: socket.tot_slides
|
|
|
Item {
|
|
|
id: item1
|
|
|
width: parent.width
|
|
|
height: parent.height
|
|
|
|
|
|
+
|
|
|
property alias mouseArea1: mouseArea1
|
|
|
property alias button3: button3
|
|
|
property int curImage: 1
|
|
|
@@ -129,28 +30,27 @@ ApplicationWindow {
|
|
|
|
|
|
property string curPDF: "EBA"
|
|
|
anchors.fill: parent
|
|
|
-
|
|
|
onCurPDFChanged: {
|
|
|
canvas.change_image(curPDF, curImage)
|
|
|
diapoStatus.text = qsTr("%1/%2 (%3 preg)").arg(curImage).arg(
|
|
|
- socket.total_slides).arg(pregs.length)
|
|
|
+ t_slides).arg(pregs.length)
|
|
|
}
|
|
|
onPregsChanged: {
|
|
|
diapoStatus.text = qsTr("%1/%2 (%3 preg)").arg(curImage).arg(
|
|
|
- socket.total_slides).arg(pregs.length)
|
|
|
+ t_slides).arg(pregs.length)
|
|
|
}
|
|
|
|
|
|
onCurImageChanged: {
|
|
|
canvas.change_image(curPDF, curImage)
|
|
|
diapoStatus.text = qsTr("%1/%2 (%3 preg)").arg(curImage).arg(
|
|
|
- socket.total_slides).arg(pregs.length)
|
|
|
+ t_slides).arg(pregs.length)
|
|
|
}
|
|
|
function addPreg(p) {
|
|
|
if (pregs.indexOf(p) !== -1) {
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
pregs.push(p)
|
|
|
+ curImageChanged();
|
|
|
}
|
|
|
|
|
|
Grid {
|
|
|
@@ -282,12 +182,12 @@ ApplicationWindow {
|
|
|
width: canvas.width
|
|
|
height: canvas.height
|
|
|
onPressed: {
|
|
|
- if (socket.status !== WebSocket.Open)
|
|
|
+ if (!socket.isOpen())
|
|
|
return
|
|
|
canvas.start_path()
|
|
|
}
|
|
|
onPositionChanged: {
|
|
|
- if (socket.status !== WebSocket.Open)
|
|
|
+ if (!socket.isOpen())
|
|
|
return
|
|
|
|
|
|
canvas.add_point({
|
|
|
@@ -296,7 +196,7 @@ ApplicationWindow {
|
|
|
})
|
|
|
}
|
|
|
onReleased: {
|
|
|
- if (socket.status !== WebSocket.Open)
|
|
|
+ if (!socket.isOpen())
|
|
|
return
|
|
|
canvas.finish_path()
|
|
|
}
|
|
|
@@ -327,7 +227,7 @@ ApplicationWindow {
|
|
|
fillMode: Image.PreserveAspectFit
|
|
|
|
|
|
}
|
|
|
- enabled: socket.status == WebSocket.Open && (item1.curImage > 1)
|
|
|
+ enabled: socket.isOpen() && (item1.curImage > 1)
|
|
|
onClicked : socket.prev_diapo()
|
|
|
}
|
|
|
MouseArea {
|
|
|
@@ -339,8 +239,7 @@ ApplicationWindow {
|
|
|
source: "qrc:///images/fwd.png"
|
|
|
fillMode: Image.PreserveAspectFit
|
|
|
}
|
|
|
- enabled: socket.status == WebSocket.Open
|
|
|
- && (item1.curImage < socket.total_slides)
|
|
|
+ enabled: socket.isOpen() && (item1.curImage < t_slides)
|
|
|
onClicked: socket.next_diapo()
|
|
|
}
|
|
|
|
|
|
@@ -473,7 +372,7 @@ ApplicationWindow {
|
|
|
width: parent.width
|
|
|
id: button3
|
|
|
text: qsTr("Limpiar")
|
|
|
- enabled: socket.status == WebSocket.Open
|
|
|
+ enabled: socket.isOpen()
|
|
|
onClicked: socket.clear_path()
|
|
|
}
|
|
|
|