diff options
author | Adrian Kummerlaender | 2015-08-15 16:06:00 +0200 |
---|---|---|
committer | Adrian Kummerlaender | 2015-08-15 16:06:00 +0200 |
commit | d8431223d34476a17835a05d9508e92447f22479 (patch) | |
tree | 91b42009fc464be238f9afab569f62cfdf355179 /qml/CommandInput.qml | |
parent | 566e635cd798ef558f4d57fc319f0ee857869378 (diff) | |
download | MetaTerm-d8431223d34476a17835a05d9508e92447f22479.tar MetaTerm-d8431223d34476a17835a05d9508e92447f22479.tar.gz MetaTerm-d8431223d34476a17835a05d9508e92447f22479.tar.bz2 MetaTerm-d8431223d34476a17835a05d9508e92447f22479.tar.lz MetaTerm-d8431223d34476a17835a05d9508e92447f22479.tar.xz MetaTerm-d8431223d34476a17835a05d9508e92447f22479.tar.zst MetaTerm-d8431223d34476a17835a05d9508e92447f22479.zip |
Restructure QML and JS sources
`list` holds the components of the central list UI element.
`command` holds the UI and implementation parts of the command mode.
`widget` holds more or less general purpose elements that may also be of use in other circumstances.
Diffstat (limited to 'qml/CommandInput.qml')
-rw-r--r-- | qml/CommandInput.qml | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/qml/CommandInput.qml b/qml/CommandInput.qml deleted file mode 100644 index 99f5d0e..0000000 --- a/qml/CommandInput.qml +++ /dev/null @@ -1,146 +0,0 @@ -import QtQuick 2.0 -import QtQuick.Layouts 1.1 -import Qt.labs.settings 1.0 - -import "commands.js" as Commands - -Item { - id: item - - signal executed - - visible: false - - Layout.preferredHeight: container.height - - Settings { - id: settings - category: "command" - - property string background : "black" - property int fontSize : 12 - property string fontFamily : "Monospace" - property string fontColor : "white" - property string errorColor : "red" - } - - onVisibleChanged: container.reset() - - function focus(prefix) { - visible = true; - command.text = prefix; - command.forceActiveFocus(); - } - - function unfocus() { - visible = false; - } - - Rectangle { - anchors { - top: parent.top - left: parent.left - right: parent.right - } - - height: container.height - - color: settings.background - - ColumnLayout { - id: container - - function reset() { - command.initialize(); - output.initialize(); - } - - TextInput { - id: command - - Layout.fillWidth: true - - font { - family: settings.fontFamily - pointSize: settings.fontSize - } - - color: settings.fontColor - selectionColor: settings.fontColor - selectedTextColor: settings.background - selectByMouse: true - - function initialize() { - text = ''; - } - - onAccepted: { - output.initialize(); - - const prefix = String(text).charAt(0); - const cmd = String(text).substring(1, String(text).length); - - switch ( prefix ) { - case ':': { - Commands.execute(output, cmd); - break; - } - default: { - output.error('"' + prefix + '"' + ' is not a command prefix.'); - } - } - - if ( output.isInitial() ) { - item.executed(); - } - } - } - - Text { - id: output - - Layout.fillWidth: true - Layout.preferredHeight: 0 - - font { - family: settings.fontFamily - pointSize: settings.fontSize - } - - color: settings.fontColor - - function isInitial() { - return text === ''; - } - - function initialize() { - text = ''; - } - - function log(msg) { - if ( isInitial() ) { - text = msg; - } else { - text += '<br/>' + msg; - } - } - - function error(msg) { - text = '<i><font color="' - + settings.errorColor - + '">' - + msg - + '</font></i>'; - } - - onTextChanged: { - if ( isInitial() ) { - Layout.preferredHeight = 0; - } else { - Layout.preferredHeight = contentHeight; - } - } - } - } - } -} |