diff options
-rw-r--r-- | src/ui.qrc | 1 | ||||
-rw-r--r-- | src/widget/EmbeddedTerminal.qml | 53 | ||||
-rw-r--r-- | src/widget/Overlay.qml | 61 |
3 files changed, 66 insertions, 49 deletions
@@ -11,5 +11,6 @@ <file alias="StatusLine.qml">widget/StatusLine.qml</file> <file alias="HistoryViewer.qml">widget/HistoryViewer.qml</file> <file alias="Highlighter.qml">widget/Highlighter.qml</file> + <file alias="Overlay.qml">widget/Overlay.qml</file> </qresource> </RCC> 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 + } + } +} |