summaryrefslogtreecommitdiff
path: root/core/apps/embeddedkonsole/konsole.cpp
authorllornkcor <llornkcor>2002-04-05 13:17:19 (UTC)
committer llornkcor <llornkcor>2002-04-05 13:17:19 (UTC)
commit1896c5fa43e465567595feb442013d75c476f090 (patch) (unidiff)
treee8ea13fd45277f0b8d7af52f4938f411fd9ed4af /core/apps/embeddedkonsole/konsole.cpp
parentdd5bc1f9d61cdd8cfde4c7a7fbba3b53b77b2670 (diff)
downloadopie-1896c5fa43e465567595feb442013d75c476f090.zip
opie-1896c5fa43e465567595feb442013d75c476f090.tar.gz
opie-1896c5fa43e465567595feb442013d75c476f090.tar.bz2
Folded in changes I forgot about. Added -e argument to execute a command and leave the konsole,
and also setDocument to exec command in new session if open. so a command run like $OPIEDIR/bin/qcop QPE/Application/embeddedkonsole 'setDocument(QString)' 'ssh -V' will run that command in a new session (tab). So now scripts can be run from an icon, and such.
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 @@
20/* -------------------------------------------------------------------------- */ 20/* -------------------------------------------------------------------------- */
21// enhancements added by L.J. Potter <ljp@llornkcor.com>
21 22
@@ -203,3 +204,3 @@ void Konsole::init(const char* _pgm, QStrList & _args)
203 n_render = 0; 204 n_render = 0;
204 205 startUp=0;
205 setCaption( tr("Terminal") ); 206 setCaption( tr("Terminal") );
@@ -366,2 +367,3 @@ void Konsole::init(const char* _pgm, QStrList & _args)
366 367
368parseCommandLine();
367 // read and apply default values /////////////////////////////////////////// 369 // read and apply default values ///////////////////////////////////////////
@@ -371,3 +373,2 @@ void Konsole::init(const char* _pgm, QStrList & _args)
371 defaultSize = size(); 373 defaultSize = size();
372
373} 374}
@@ -391,3 +392,3 @@ Konsole::~Konsole()
391 doneSession(getTe()->currentSession, 0); 392 doneSession(getTe()->currentSession, 0);
392 } 393 }
393 394
@@ -845 +846,39 @@ void Konsole::editCommandListMenuSelected(int iD)
845} 846}
847
848// $QPEDIR/bin/qcop QPE/Application/embeddedkonsole 'setDocument(QString)' 'ssh -V'
849void Konsole::setDocument( const QString &cmd) {
850 newSession();
851 TEWidget* te = getTe();
852 if(cmd.find("-e", 0, TRUE) != -1) {
853 QString cmd2;
854 cmd2=cmd.right(cmd.length()-3)+" &";
855 system(cmd2.latin1());
856 if(startUp <= 1 && nsessions < 2) {
857 doneSession(getTe()->currentSession, 0);
858 exit(0);
859 } else
860 doneSession(getTe()->currentSession, 0);
861 } else {
862 if (te != 0) {
863 te->emitText(cmd+"\r");
864 }
865 }
866 startUp++;
867}
868
869void Konsole::parseCommandLine() {
870 QString cmd;
871 // newSession();
872 for (int i=1;i< qApp->argc();i++) {
873 if( QString(qApp->argv()[i]) == "-e") {
874 i++;
875 for ( int j=i;j< qApp->argc();j++) {
876 cmd+=QString(qApp->argv()[j])+" ";
877 }
878 cmd.stripWhiteSpace();
879 system(cmd.latin1());
880 exit(0);//close();
881 } // end -e switch
882 }
883 startUp++;
884}