From 012d8f7503d9d49ff33da621aee5fabd252e57f5 Mon Sep 17 00:00:00 2001
From: Adrian Kummerlaender
Date: Tue, 15 Dec 2015 19:48:16 +0100
Subject: Extract terminal resize overlay into separate QML item
---
src/ui.qrc | 1 +
src/widget/EmbeddedTerminal.qml | 53 +++--------------------------------
src/widget/Overlay.qml | 61 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 66 insertions(+), 49 deletions(-)
create mode 100644 src/widget/Overlay.qml
(limited to 'src')
diff --git a/src/ui.qrc b/src/ui.qrc
index 05f9d79..31ec346 100644
--- a/src/ui.qrc
+++ b/src/ui.qrc
@@ -11,5 +11,6 @@
widget/StatusLine.qml
widget/HistoryViewer.qml
widget/Highlighter.qml
+ widget/Overlay.qml
diff --git a/src/widget/EmbeddedTerminal.qml b/src/widget/EmbeddedTerminal.qml
index 23e545b..0a7a562 100644
--- a/src/widget/EmbeddedTerminal.qml
+++ b/src/widget/EmbeddedTerminal.qml
@@ -92,59 +92,14 @@ Item {
onHeightChanged: overlay.displayBriefly()
onWidthChanged: overlay.displayBriefly()
- Rectangle {
+ Overlay {
id: overlay
- property bool enabled : false
-
- function displayBriefly() {
- if ( enabled ) { animation.restart() }
- }
-
anchors.fill: parent
- opacity: 0
- color: settings.terminal.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.terminal.fontFamily
- pointSize: settings.terminal.fontSize * 2
- }
- color: settings.terminal.overlayFontColor
-
- text: {
- return item.lines
- + 'x'
- + Math.floor(terminal.width / terminal.fontMetrics.width);
- }
- }
+ text: item.lines
+ + 'x'
+ + Math.floor(terminal.width / terminal.fontMetrics.width)
}
MouseArea {
diff --git a/src/widget/Overlay.qml b/src/widget/Overlay.qml
new file mode 100644
index 0000000..2a50219
--- /dev/null
+++ b/src/widget/Overlay.qml
@@ -0,0 +1,61 @@
+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
+ }
+ }
+}
--
cgit v1.2.3