From 78966dc00419a4f5fe5fec4725062a4a0f380228 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 5 Jul 2015 15:11:13 +0200 Subject: Embedded QML into C++ application --- TerminalItem.qml | 118 ------------------------------------------------------- 1 file changed, 118 deletions(-) delete mode 100644 TerminalItem.qml (limited to 'TerminalItem.qml') diff --git a/TerminalItem.qml b/TerminalItem.qml deleted file mode 100644 index 883d911..0000000 --- a/TerminalItem.qml +++ /dev/null @@ -1,118 +0,0 @@ -import QtQuick 2.0 -import QtQuick.Controls 1.2 -import QtQuick.Layouts 1.1 - -Item { - id: terminalItem - signal executed - - height: elementList.height - - function select() { - if ( command.readOnly ) { - elementList.children[1].select(); - } else { - highlighter.select(); - } - } - - function deselect() { - if ( command.readOnly ) { - elementList.children[1].deselect(); - } else { - highlighter.deselect(); - } - } - - function forceActiveFocus() { - if ( command.readOnly ) { - scope.forceActiveFocus(); - } else { - scope.forceActiveFocus(); - highlighter.select(); - highlighter.focus(); - } - } - - function unfocus() { - if ( !command.readOnly ) { - highlighter.unfocus(); - } - } - - FocusScope { - id: scope - - Column { - id: elementList - - function createTerminal(program) { - var terminal = Qt.createComponent("EmbeddedTerminal.qml"); - var instantiateTerminal = function() { - terminal.createObject(elementList, { - "columns": 90, - "lines": 20, - "program": program, - "workingDirectory": "$HOME", - "focus": true - }); - } - - if ( terminal.status == Component.Ready ) { - instantiateTerminal(); - } else { - terminal.statusChanged.connect(instantiateTerminal); - } - } - - RowLayout { - width: terminalItem.width - - Rectangle { - id: highlighter - - width: 10 - height: command.height - opacity: 0 - - color: "#909636" - - Behavior on opacity { - NumberAnimation { - duration: 300 - easing.type: Easing.OutCubic - } - } - - function select() { opacity = 1 } - function deselect() { opacity = 0 } - function focus() { color = "#352F6A" } - function unfocus() { color = "#909636" } - } - - TextInput { - id: command - - font.pointSize: 18 - color: "white" - selectedTextColor: "#161616" - selectionColor: "white" - selectByMouse: true - focus: true - - Layout.fillWidth: true - - onAccepted: { - if ( !readOnly ) { - readOnly = true; - focus = false; - elementList.createTerminal(text); - terminalItem.executed(); - highlighter.deselect(); - } - } - } - } - } - } -} -- cgit v1.2.3