From 1562641cc744ff9d6c0e0fd0ce1936010331000f Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Mon, 14 Dec 2015 20:50:43 +0100 Subject: Extract terminal status line into separate QML item --- src/ui.qrc | 1 + src/widget/EmbeddedTerminal.qml | 59 ++------------------------------ src/widget/StatusLine.qml | 76 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 57 deletions(-) create mode 100644 src/widget/StatusLine.qml diff --git a/src/ui.qrc b/src/ui.qrc index 32e2c06..05f9d79 100644 --- a/src/ui.qrc +++ b/src/ui.qrc @@ -8,6 +8,7 @@ command/CommandInput.qml command/commands.js widget/EmbeddedTerminal.qml + widget/StatusLine.qml widget/HistoryViewer.qml widget/Highlighter.qml diff --git a/src/widget/EmbeddedTerminal.qml b/src/widget/EmbeddedTerminal.qml index 24dc3f6..23e545b 100644 --- a/src/widget/EmbeddedTerminal.qml +++ b/src/widget/EmbeddedTerminal.qml @@ -154,67 +154,12 @@ Item { } } - RowLayout { + StatusLine { id: statusLine Layout.fillWidth: true - Layout.alignment: Qt.AlignRight - spacing: 5 - - function update() { - var shellPID = session.getShellPID(); - - pid.text = shellPID; - workingDirectory.text = cwd.currentOfPID(shellPID); - } - - Rectangle { - Layout.fillWidth: true - - anchors.fill: parent - - 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 - } + session: terminal.session } } } diff --git a/src/widget/StatusLine.qml b/src/widget/StatusLine.qml new file mode 100644 index 0000000..56b0b31 --- /dev/null +++ b/src/widget/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 + } + } +} -- cgit v1.2.3