aboutsummaryrefslogtreecommitdiff
path: root/src/main.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.qml')
-rw-r--r--src/main.qml110
1 files changed, 82 insertions, 28 deletions
diff --git a/src/main.qml b/src/main.qml
index 1981f4f..a622c18 100644
--- a/src/main.qml
+++ b/src/main.qml
@@ -1,8 +1,8 @@
/*
* This file is part of Remote Support Desktop
* https://gitlab.das-netzwerkteam.de/RemoteWebApp/remote-support-desktop
- * Copyright 2020-2021 Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
- * Copyright 2020-2021 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ * Copyright 2020, 2021 Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
+ * Copyright 2020, 2021 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* SPDX-License-Identifier: GPL-2.0-or-later
*
* This program is free software; you can redistribute it and/or modify
@@ -32,7 +32,6 @@ import QtQuick.Controls.Styles 1.4
import QtQuick.Dialogs 1.2
import QtQuick.Controls.Material 2.3
import "scenes" as Scenes
-//import "ListItem.qml"
/*!
The main.qml file contains the window, with its header, sidebar, toast and main_content.
@@ -59,7 +58,7 @@ ApplicationWindow {
function minimizeWindow() {
showMinimized();
- console.log("Miniming window now...");
+ console.log("Minimizing window now...");
}
function showWindow() {
@@ -67,25 +66,25 @@ ApplicationWindow {
console.log("Opening window now...");
}
- function main_content_pop(item, operation) {
+ function main_content_pop(item) {
if(item) {
if(item.search(main_content.currentItem.objectName) >= 0) return
}
- return main_content.pop(item, operation)
+ return main_content.pop(item)
}
- function main_content_push(item, operation) {
+ function main_content_push(item) {
if(item) {
if(item.search(main_content.currentItem.objectName) >= 0) return
}
- return main_content.push(item, operation)
+ return main_content.push(item)
}
- function main_content_replace(item, operation) {
+ function main_content_replace(item) {
if(item) {
if(item.search(main_content.currentItem.objectName) >= 0) return
}
- return main_content.replace(item, operation)
+ return main_content.replace(item)
}
MessageDialog {
@@ -108,14 +107,14 @@ ApplicationWindow {
Connections {
target: mainqmladaptor
- onShowToastSignal: {
- toast.show(text, durationMs)
+ function onShowToastSignal(text, durationMs, type) {
+ toast.show(text, durationMs, type)
}
}
Connections {
target: mainqmladaptor
- onShowMessageDialogChanged: {
+ function onShowMessageDialogChanged(show) {
message_dialog.visible = show
}
}
@@ -154,21 +153,21 @@ ApplicationWindow {
Connections {
target: mainqmladaptor
- onMessageDialogTextChanged: {
+ function onMessageDialogTextChanged(text) {
message_dialog.text = text
}
}
Connections {
target: mainqmladaptor
- onMessageDialogTitleChanged: {
+ function onMessageDialogTitleChanged(title) {
message_dialog.title = title
}
}
Connections {
target: mainqmladaptor
- onMessageDialogIconChanged: {
+ function onMessageDialogIconChanged(iconindex) {
message_dialog.icon = iconindex
}
}
@@ -183,9 +182,12 @@ ApplicationWindow {
*/
Drawer {
id: sidebar_drawer
- y: top_menu_bar_frame.height
+ objectName: "sidebar_drawer"
- width: !inPortrait ? Math.min(300, Math.max(200, window.width * 0.333)) : (window.width * 0.5)
+ y: top_menu_bar_frame.height
+ width: !inPortrait ?
+ Math.min(300, Math.max(200, window.width * 0.333)) :
+ (window.width * 0.5)
height: window.height - top_menu_bar_frame.height
modal: inPortrait
@@ -195,6 +197,9 @@ ApplicationWindow {
margins: -2
visible: !inPortrait
+ signal rwaHostSelected(string host_uuid)
+ property bool rwaHostIsSelected: false
+
ListView {
id: sidebar_listview
boundsBehavior: Flickable.StopAtBounds
@@ -203,17 +208,48 @@ ApplicationWindow {
anchors.fill: parent
model: mainModel
+ header: Rectangle {
+ height: 50
+ width: parent.width
+ color: Material.background
+
+ ComboBox {
+ id: server_chooser
+ objectName: "server_chooser"
+
+ padding: 0
+ width: parent.width
+ height: 56 - y
+ y: -6
+
+ model: mainqmladaptor.rwaHostModel
+ textRole: "alias"
+
+ onCurrentIndexChanged: {
+ var rwa_host = mainqmladaptor.rwaHostModel
+ if (rwa_host[currentIndex] !== undefined) {
+ sidebar_drawer.rwaHostSelected(rwa_host[currentIndex].uuid)
+ displayText = rwa_host[currentIndex].alias
+ }
+ }
+
+
+ }
+ }
+
footer: ItemDelegate {
id: footer
text: " " + qsTr("Settings")
width: parent.width
+ enabled: false
onClicked: {
var scene_url = "scenes/Scene_placeholder.qml"
header_text.text = qsTr("Settings")
- if(inPortrait) sidebar_drawer.close()
+ if (inPortrait) sidebar_drawer.close()
- main_content_replace(scene_url, StackView.Transition)
+ if (scene_url.search(main_content.currentItem.objectName) >= 0) return
+ main_content.replace(scene_url, StackView.Transition)
}
MenuSeparator {
@@ -225,34 +261,47 @@ ApplicationWindow {
VisualItemModel {
id: mainModel
+
ListItem {
text: " " + qsTr("Remote Control")
- scene_url: "scenes/Scene_remote_control.qml"
+ scene_url: "scenes/remote_control/Scene_remote_control.qml"
onListItemClick: {
header_text.text = qsTr("Allow remote control")
- if(inPortrait) sidebar_drawer.close()
+ if (inPortrait) sidebar_drawer.close()
- main_content_replace(scene_url, StackView.Transition)
+ if (scene_url.search(main_content.currentItem.objectName) >= 0) return
+ main_content.replace(scene_url, StackView.Transition)
}
+
+ // Disabled till a RWAHost object is selected.
+ enabled: sidebar_drawer.rwaHostIsSelected
}
ListItem {
text: " " + qsTr("Remote View")
scene_url: "scenes/Scene_remote_view.qml"
onListItemClick: {
header_text.text = qsTr("Allow remote view")
- if(inPortrait) sidebar_drawer.close()
+ if (inPortrait) sidebar_drawer.close()
- main_content_replace(scene_url, StackView.Transition)
+ if (scene_url.search(main_content.currentItem.objectName) >= 0) return
+ main_content.replace(scene_url, StackView.Transition)
}
+
+ // Disabled till a RWAHost object is selected.
+ //enabled: sidebar_drawer.rwaHostIsSelected
+
+ // But remote view is not implemented yet
+ enabled: false
}
ListItem {
text: " " + qsTr("Add RWA-Server")
- scene_url: "scenes/add_server_wizard/Scene_step_1.qml"
+ scene_url: "scenes/add_rwahost_wizard/Scene_step_1.qml"
onListItemClick: {
header_text.text = qsTr("Server addition wizard")
- if(inPortrait) sidebar_drawer.close()
+ if (inPortrait) sidebar_drawer.close()
- main_content_push(scene_url, StackView.ReplaceTransition)
+ if (scene_url.search(main_content.currentItem.objectName) >= 0) return
+ main_content.push(scene_url, StackView.ReplaceTransition)
}
}
}
@@ -362,3 +411,8 @@ ApplicationWindow {
}
}
}
+
+/*##^## Designer {
+ D{i:14;anchors_width:650}
+}
+ ##^##*/