diff options
Diffstat (limited to 'qml/TerminalList.qml')
-rw-r--r-- | qml/TerminalList.qml | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/qml/TerminalList.qml b/qml/TerminalList.qml deleted file mode 100644 index 6c6465b..0000000 --- a/qml/TerminalList.qml +++ /dev/null @@ -1,125 +0,0 @@ -import QtQuick 2.0 -import QtQuick.Layouts 1.1 - -Item { - id: item - - property StateHandler state : null - property int activeItem : 0 - property int itemIndex : 0 - - property alias children : column.children - - function onItemExecuted(index) { - if ( index === (children.length - 1) ) { - createItem(); - } - } - - function createItem() { - var terminalItem = Qt.createComponent("qrc:/TerminalItem.qml"); - var instantiateTerminal = function() { - var instance = terminalItem.createObject(column, { - "index": itemIndex, - "width": flickable.width - }); - instance.onExecuted.connect(onItemExecuted); - - ++itemIndex; - } - - if ( terminalItem.status === Component.Ready ) { - instantiateTerminal(); - } else { - terminalItem.statusChanged.connect(instantiateTerminal); - } - } - - function scrollTo(index) { - if ( column.height >= flickable.height ) { - var offset = children[index].y - + (children[index].height / 2) - - (flickable.height / 2); - - var bound = column.height - - flickable.height; - - if ( offset < 0 ) { - flickable.contentY = 0; - } else if ( offset >= bound ) { - flickable.contentY = bound; - } else { - flickable.contentY = offset; - } - } - } - - function selectItem(index) { - children[activeItem].deselect(); - children[index ].select(); - - activeItem = typeof index === "number" ? index : parseInt(index); - - scrollTo(index); - } - - function selectNext() { - if ( activeItem < (children.length - 1) ) { - selectItem(activeItem + 1); - } else { - state.enterInsertMode(); - } - } - - function selectPrev() { - if ( activeItem > 0 ) { - selectItem(activeItem - 1); - } - } - - function focusCurrent() { - children[activeItem].forceActiveFocus(); - } - - function unfocusCurrent() { - children[activeItem].unfocus(); - } - - function getCurrent() { - return children[activeItem]; - } - - function get(index) { - return children[index]; - } - - function iterate(func) { - for ( var i = 0; i < children.length; i++ ) { - func(children[i]); - } - } - - Flickable { - id: flickable - - anchors.fill: parent - - boundsBehavior: Flickable.StopAtBounds - contentHeight: column.height - contentWidth: parent.width - pixelAligned: true - - Column { - id: column - - anchors { - left: parent.left - right: parent.right - } - - spacing: 10 - - onHeightChanged: scrollTo(activeItem) - } - } -} |