summaryrefslogtreecommitdiff
path: root/core/apps/embeddedkonsole/konsole.cpp
Side-by-side diff
Diffstat (limited to 'core/apps/embeddedkonsole/konsole.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp45
1 files changed, 42 insertions, 3 deletions
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp
index 217d8d8..16ff4df 100644
--- a/core/apps/embeddedkonsole/konsole.cpp
+++ b/core/apps/embeddedkonsole/konsole.cpp
@@ -20,2 +20,3 @@
/* -------------------------------------------------------------------------- */
+// enhancements added by L.J. Potter <ljp@llornkcor.com>
@@ -203,3 +204,3 @@ void Konsole::init(const char* _pgm, QStrList & _args)
n_render = 0;
-
+ startUp=0;
setCaption( tr("Terminal") );
@@ -366,2 +367,3 @@ void Konsole::init(const char* _pgm, QStrList & _args)
+parseCommandLine();
// read and apply default values ///////////////////////////////////////////
@@ -371,3 +373,2 @@ void Konsole::init(const char* _pgm, QStrList & _args)
defaultSize = size();
-
}
@@ -391,3 +392,3 @@ Konsole::~Konsole()
doneSession(getTe()->currentSession, 0);
- }
+ }
@@ -845 +846,39 @@ void Konsole::editCommandListMenuSelected(int iD)
}
+
+// $QPEDIR/bin/qcop QPE/Application/embeddedkonsole 'setDocument(QString)' 'ssh -V'
+void Konsole::setDocument( const QString &cmd) {
+ newSession();
+ TEWidget* te = getTe();
+ if(cmd.find("-e", 0, TRUE) != -1) {
+ QString cmd2;
+ cmd2=cmd.right(cmd.length()-3)+" &";
+ system(cmd2.latin1());
+ if(startUp <= 1 && nsessions < 2) {
+ doneSession(getTe()->currentSession, 0);
+ exit(0);
+ } else
+ doneSession(getTe()->currentSession, 0);
+ } else {
+ if (te != 0) {
+ te->emitText(cmd+"\r");
+ }
+ }
+ startUp++;
+}
+
+void Konsole::parseCommandLine() {
+ QString cmd;
+ // newSession();
+ for (int i=1;i< qApp->argc();i++) {
+ if( QString(qApp->argv()[i]) == "-e") {
+ i++;
+ for ( int j=i;j< qApp->argc();j++) {
+ cmd+=QString(qApp->argv()[j])+" ";
+ }
+ cmd.stripWhiteSpace();
+ system(cmd.latin1());
+ exit(0);//close();
+ } // end -e switch
+ }
+ startUp++;
+}