aboutsummaryrefslogtreecommitdiff
path: root/src/widget/augment
diff options
context:
space:
mode:
authorAdrian Kummerlaender2015-12-15 19:53:18 +0100
committerAdrian Kummerlaender2015-12-15 19:53:18 +0100
commit55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601 (patch)
treea8725d321568ce978fd1638758d43299ee99656b /src/widget/augment
parent012d8f7503d9d49ff33da621aee5fabd252e57f5 (diff)
downloadMetaTerm-55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601.tar
MetaTerm-55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601.tar.gz
MetaTerm-55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601.tar.bz2
MetaTerm-55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601.tar.lz
MetaTerm-55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601.tar.xz
MetaTerm-55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601.tar.zst
MetaTerm-55c66514c6e03bc731c7f5ae4d6f6a1e1d1ab601.zip
Separate widgets into primary and augmenting itemsHEADmaster
Diffstat (limited to 'src/widget/augment')
-rw-r--r--src/widget/augment/Highlighter.qml24
-rw-r--r--src/widget/augment/Overlay.qml60
-rw-r--r--src/widget/augment/StatusLine.qml76
3 files changed, 160 insertions, 0 deletions
diff --git a/src/widget/augment/Highlighter.qml b/src/widget/augment/Highlighter.qml
new file mode 100644
index 0000000..53f308c
--- /dev/null
+++ b/src/widget/augment/Highlighter.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+Item {
+ function select() { bar.opacity = 1 }
+ function deselect() { bar.opacity = 0 }
+ function focus() { bar.color = settings.highlighter.focusColor }
+ function unfocus() { bar.color = settings.highlighter.defaultColor }
+
+ Rectangle {
+ id: bar
+
+ anchors.fill: parent
+
+ opacity: 0
+ color: settings.highlighter.defaultColor
+
+ Behavior on opacity {
+ NumberAnimation {
+ duration: 300
+ easing.type: Easing.OutCubic
+ }
+ }
+ }
+}
diff --git a/src/widget/augment/Overlay.qml b/src/widget/augment/Overlay.qml
new file mode 100644
index 0000000..ac1e230
--- /dev/null
+++ b/src/widget/augment/Overlay.qml
@@ -0,0 +1,60 @@
+import QtQuick 2.0
+
+Item {
+ id: item
+
+ property bool enabled : false
+ property alias text : content.text
+
+ function displayBriefly() {
+ if ( enabled ) {
+ animation.restart()
+ }
+ }
+
+ Rectangle {
+ id: background
+
+ anchors.fill: parent
+
+ opacity: 0
+ color: settings.terminal.overlayBackground
+
+ SequentialAnimation {
+ id: animation
+
+ ScriptAction {
+ script: background.opacity = 0.8
+ }
+
+ PauseAnimation {
+ duration: 500
+ }
+
+ NumberAnimation {
+ target: background
+ property: "opacity"
+
+ easing.type: Easing.InSine
+ duration: 300
+ from: 0.8
+ to: 0
+ }
+ }
+
+ Text {
+ id: content
+
+ anchors {
+ horizontalCenter: background.horizontalCenter
+ verticalCenter: background.verticalCenter
+ }
+
+ font {
+ family: settings.terminal.fontFamily
+ pointSize: settings.terminal.fontSize * 2
+ }
+ color: settings.terminal.overlayFontColor
+ }
+ }
+}
diff --git a/src/widget/augment/StatusLine.qml b/src/widget/augment/StatusLine.qml
new file mode 100644
index 0000000..56b0b31
--- /dev/null
+++ b/src/widget/augment/StatusLine.qml
@@ -0,0 +1,76 @@
+import QtQuick 2.0
+import QMLTermWidget 1.0
+import QtQuick.Layouts 1.1
+
+Item {
+ id: item
+
+ property QMLTermSession session : null
+
+ function update() {
+ var shellPID = session.getShellPID();
+
+ pid.text = shellPID;
+ workingDirectory.text = cwd.currentOfPID(shellPID);
+ }
+
+ height: wrap.height
+
+ RowLayout {
+ id: wrap
+
+ anchors.right: parent.right
+ anchors.left: parent.left
+
+ Layout.alignment: Qt.AlignRight
+
+ spacing: 5
+
+ Rectangle {
+ Layout.fillWidth: true
+
+ anchors.fill: wrap
+
+ color: settings.terminal.statusBackground
+ }
+
+ Text {
+ id: pid
+
+ Layout.rightMargin: 4
+ Layout.bottomMargin: 2
+
+ font {
+ family: settings.terminal.fontFamily
+ pointSize: settings.terminal.fontSize
+ }
+ color: settings.terminal.statusFontColor
+ }
+
+ Text {
+ Layout.rightMargin: 4
+ Layout.bottomMargin: 2
+
+ font {
+ family: settings.terminal.fontFamily
+ pointSize: settings.terminal.fontSize
+ }
+ color: settings.terminal.statusFontColor
+
+ text: "@"
+ }
+
+ Text {
+ id: workingDirectory
+
+ Layout.rightMargin: 4
+ Layout.bottomMargin: 2
+
+ font {
+ family: settings.terminal.fontFamily
+ pointSize: settings.terminal.fontSize
+ }
+ color: settings.terminal.statusFontColor
+ }
+ }
+}