diff options
author | Adrian Kummerlaender | 2015-08-13 20:19:42 +0200 |
---|---|---|
committer | Adrian Kummerlaender | 2015-08-13 20:19:42 +0200 |
commit | 358d64b332068103b24577bbf4c390b05dbe50df (patch) | |
tree | 7839cdccacac46c70fcf477c434bfee33866dd4f | |
parent | aca84cb4ef24c1b4b9e3d53126081db8b14855e2 (diff) | |
download | MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.gz MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.bz2 MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.lz MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.xz MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.zst MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.zip |
Implement `ls` command
This suggested adding an `iterate` helper method to `TerminalList` as well as line break logic to the command output log.
-rw-r--r-- | qml/CommandInput.qml | 6 | ||||
-rw-r--r-- | qml/TerminalList.qml | 6 | ||||
-rw-r--r-- | qml/commands.js | 7 |
3 files changed, 18 insertions, 1 deletions
diff --git a/qml/CommandInput.qml b/qml/CommandInput.qml index 5fbde77..99f5d0e 100644 --- a/qml/CommandInput.qml +++ b/qml/CommandInput.qml @@ -118,7 +118,11 @@ Item { } function log(msg) { - text += msg; + if ( isInitial() ) { + text = msg; + } else { + text += '<br/>' + msg; + } } function error(msg) { diff --git a/qml/TerminalList.qml b/qml/TerminalList.qml index fe89be5..013b394 100644 --- a/qml/TerminalList.qml +++ b/qml/TerminalList.qml @@ -89,6 +89,12 @@ Item { return children[activeItem]; } + function iterate(func) { + for ( var i = 0; i < children.length; i++ ) { + func(children[i]); + } + } + Flickable { id: flickable diff --git a/qml/commands.js b/qml/commands.js index 765a747..7069458 100644 --- a/qml/commands.js +++ b/qml/commands.js @@ -40,3 +40,10 @@ function prev() { terminalList.selectPrev(); } +function ls(output) { + terminalList.iterate(function(item) { + if ( item.terminal !== null ) { + output.log(item.index + ': ' + item.terminal.program); + } + }); +} |