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 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