aboutsummaryrefslogtreecommitdiff
path: root/qml/EmbeddedTerminal.qml
diff options
context:
space:
mode:
authorAdrian Kummerlaender2015-08-15 16:06:00 +0200
committerAdrian Kummerlaender2015-08-15 16:06:00 +0200
commitd8431223d34476a17835a05d9508e92447f22479 (patch)
tree91b42009fc464be238f9afab569f62cfdf355179 /qml/EmbeddedTerminal.qml
parent566e635cd798ef558f4d57fc319f0ee857869378 (diff)
downloadMetaTerm-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/EmbeddedTerminal.qml')
-rw-r--r--qml/EmbeddedTerminal.qml153
1 files changed, 0 insertions, 153 deletions
diff --git a/qml/EmbeddedTerminal.qml b/qml/EmbeddedTerminal.qml
deleted file mode 100644
index 6d0dc6e..0000000
--- a/qml/EmbeddedTerminal.qml
+++ /dev/null
@@ -1,153 +0,0 @@
-import QtQuick 2.0
-import QMLTermWidget 1.0
-import QtQuick.Layouts 1.1
-import Qt.labs.settings 1.0
-
-Item {
- id: item
-
- property string program
- property string workingDirectory
-
- Settings {
- id: settings
- category: "terminal"
-
- property int initialLines : 20
- property int frameWidth : 10
- property int fontSize : 8
- property string fontFamily : "Monospace"
- property string colorScheme : "cool-retro-term"
- property string overlayBackground : "black"
- property string overlayFontColor : "white"
- }
-
- property int lines : settings.initialLines
-
- height: terminal.height
- width: parent.width - settings.frameWidth
-
- function select() { highlighter.select() }
- function deselect() { highlighter.deselect() }
- function displayOverlay() { overlay.displayBriefly() }
-
- RowLayout {
- id: container
-
- anchors {
- left: parent.left
- right: parent.right
- }
-
- spacing: 0
-
- Highlighter {
- id: highlighter
-
- width: settings.frameWidth
- Layout.fillHeight: true
- }
-
- QMLTermWidget {
- id: terminal
-
- font {
- family: settings.fontFamily
- pointSize: settings.fontSize
- }
-
- Layout.fillWidth: true
- Layout.preferredHeight: fontMetrics.height * item.lines
-
- colorScheme: settings.colorScheme
-
- session: QMLTermSession {
- initialWorkingDirectory: item.workingDirectory
-
- shellProgram: {
- return (item.program).split(" ")[0];
- }
-
- shellProgramArgs: {
- const elements = (item.program).split(" ");
- elements.shift();
-
- return elements;
- }
- }
-
- Component.onCompleted: {
- forceActiveFocus();
- highlighter.select();
- session.startShellProgram();
- overlay.enabled = true;
- }
-
- onTermGetFocus: highlighter.focus()
- onTermLostFocus: highlighter.unfocus()
- onHeightChanged: overlay.displayBriefly();
- onWidthChanged: overlay.displayBriefly();
-
- Rectangle {
- id: overlay
-
- property bool enabled : false
-
- function displayBriefly() {
- if ( enabled ) { animation.restart() }
- }
-
- anchors.fill: parent
- opacity: 0
- color: settings.overlayBackground
-
- SequentialAnimation {
- id: animation
-
- ScriptAction {
- script: overlay.opacity = 0.8
- }
-
- PauseAnimation {
- duration: 500
- }
-
- NumberAnimation {
- target: overlay
- property: "opacity"
-
- easing.type: Easing.InSine
- duration: 300
- from: 0.8
- to: 0
- }
- }
-
- Text {
- anchors {
- horizontalCenter: overlay.horizontalCenter
- verticalCenter: overlay.verticalCenter
- }
-
- font {
- family: settings.fontFamily
- pointSize: settings.fontSize * 2
- }
- color: settings.overlayFontColor
-
- text: {
- return item.lines
- + 'x'
- + Math.floor(terminal.width / terminal.fontMetrics.width);
- }
- }
- }
-
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.NoButton
- onWheel: { }
- }
- }
- }
-}