From ef1a71f77d318ef75e04467bab17a650c0b4d868 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 5 Jul 2015 18:41:30 +0200 Subject: Replaced ScrollBar with terminal instance index --- qml/EmbeddedTerminal.qml | 1 + qml/ScrollBar.qml | 78 ------------------------------------------------ qml/TerminalItem.qml | 23 +++++++++++--- qml/main.qml | 8 ++--- qml/ui.qrc | 11 ++++--- 5 files changed, 27 insertions(+), 94 deletions(-) delete mode 100644 qml/ScrollBar.qml (limited to 'qml') diff --git a/qml/EmbeddedTerminal.qml b/qml/EmbeddedTerminal.qml index f4f104e..6d94230 100644 --- a/qml/EmbeddedTerminal.qml +++ b/qml/EmbeddedTerminal.qml @@ -4,6 +4,7 @@ import QtQuick.Controls 1.2 Item { id: embeddedTerminal + property string program property string workingDirectory property int columns diff --git a/qml/ScrollBar.qml b/qml/ScrollBar.qml deleted file mode 100644 index 18f149c..0000000 --- a/qml/ScrollBar.qml +++ /dev/null @@ -1,78 +0,0 @@ -import QtQuick 2.0; - -Item { - id: scrollbar - width: (handleSize + 2) - visible: (flickable.visibleArea.heightRatio < 1.0) - - anchors { - top: flickable.top - right: flickable.right - bottom: flickable.bottom - } - - property Flickable flickable - property int handleSize - - Item { - id: bar - - anchors.fill: parent - - Rectangle { - anchors.fill: parent - color: "black" - opacity: 0.5 - } - - MouseArea { - id: control - anchors.fill: parent - - drag { - target: handle - minimumY: 0 - maximumY: (bar.height - handle.height) - axis: Drag.YAxis - } - - onClicked: { - flickable.contentY = (mouse.y / bar.height * (flickable.contentHeight - flickable.height)); - } - } - - Item { - id: handle; - height: Math.max(20, (flickable.visibleArea.heightRatio * bar.height)) - - anchors { - left: parent.left - right: parent.right - } - - Rectangle { - id: backHandle - anchors { - fill: parent - margins: 1 - } - - color: (control.pressed ? "gray" : "white") - } - } - } - - Binding { - target: handle - property: "y" - value: (flickable.contentY * control.drag.maximumY / (flickable.contentHeight - flickable.height)) - when: (!control.drag.active) - } - - Binding { - target: flickable - property: "contentY" - value: (handle.y * (flickable.contentHeight - flickable.height) / control.drag.maximumY) - when: (control.drag.active || control.pressed) - } -} diff --git a/qml/TerminalItem.qml b/qml/TerminalItem.qml index 6c19c45..51ef98c 100644 --- a/qml/TerminalItem.qml +++ b/qml/TerminalItem.qml @@ -4,6 +4,9 @@ import QtQuick.Layouts 1.1 Item { id: terminalItem + + property int index : 0 + signal executed height: elementList.height @@ -47,7 +50,7 @@ Item { id: elementList function createTerminal(program) { - var terminal = Qt.createComponent("qrc:/EmbeddedTerminal.qml"); + var terminal = Qt.createComponent("qrc:/EmbeddedTerminal.qml"); var instantiateTerminal = function() { terminal.createObject(elementList, { "columns": 90, @@ -62,7 +65,7 @@ Item { instantiateTerminal(); } else { terminal.statusChanged.connect(instantiateTerminal); - } + } } RowLayout { @@ -93,10 +96,13 @@ Item { TextInput { id: command - font.pointSize: 18 + font { + family: "Monospace" + pointSize: 18 + } color: "white" - selectedTextColor: "#161616" selectionColor: "white" + selectedTextColor: "#161616" selectByMouse: true focus: true @@ -112,6 +118,15 @@ Item { } } } + + Text { + text: terminalItem.index + font { + family: "Monospace" + pointSize: 12 + } + color: "white" + } } } } diff --git a/qml/main.qml b/qml/main.qml index 1e0db9d..48be124 100644 --- a/qml/main.qml +++ b/qml/main.qml @@ -29,9 +29,10 @@ ApplicationWindow { onHeightChanged: scrollTo(activeItem) function createItem() { - var terminalItem = Qt.createComponent("qrc:/TerminalItem.qml"); + var terminalItem = Qt.createComponent("qrc:/TerminalItem.qml"); var instantiateTerminal = function() { var instance = terminalItem.createObject(terminalList, { + "index": terminalList.children.length, "width": terminalListFlickable.width }); instance.onExecuted.connect(createItem); @@ -160,9 +161,4 @@ ApplicationWindow { enabled: false onTriggered: terminalList.selectItem(0) } - - ScrollBar { - flickable: terminalListFlickable - handleSize: 10 - } } diff --git a/qml/ui.qrc b/qml/ui.qrc index 8339fa2..add7048 100644 --- a/qml/ui.qrc +++ b/qml/ui.qrc @@ -1,8 +1,7 @@ - - main.qml - TerminalItem.qml - EmbeddedTerminal.qml - ScrollBar.qml - + + main.qml + TerminalItem.qml + EmbeddedTerminal.qml + -- cgit v1.2.3