summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp
index 1016885..d54fa1f 100644
--- a/core/apps/embeddedkonsole/konsole.cpp
+++ b/core/apps/embeddedkonsole/konsole.cpp
@@ -29,192 +29,193 @@
29#include <qpe/qpetoolbar.h> 29#include <qpe/qpetoolbar.h>
30#include <qpushbutton.h> 30#include <qpushbutton.h>
31#include <qfontdialog.h> 31#include <qfontdialog.h>
32#include <qglobal.h> 32#include <qglobal.h>
33#include <qpainter.h> 33#include <qpainter.h>
34#include <qpe/qpemenubar.h> 34#include <qpe/qpemenubar.h>
35#include <qmessagebox.h> 35#include <qmessagebox.h>
36#include <qaction.h> 36#include <qaction.h>
37#include <qapplication.h> 37#include <qapplication.h>
38#include <qfontmetrics.h> 38#include <qfontmetrics.h>
39#include <qcombobox.h> 39#include <qcombobox.h>
40#include <qevent.h> 40#include <qevent.h>
41#include <qtabwidget.h> 41#include <qtabwidget.h>
42#include <qtabbar.h> 42#include <qtabbar.h>
43#include <qpe/config.h> 43#include <qpe/config.h>
44#include <qstringlist.h> 44#include <qstringlist.h>
45#include <qpalette.h> 45#include <qpalette.h>
46 46
47#include <sys/wait.h> 47#include <sys/wait.h>
48#include <stdio.h> 48#include <stdio.h>
49#include <stdlib.h> 49#include <stdlib.h>
50#include <assert.h> 50#include <assert.h>
51 51
52#include "konsole.h" 52#include "konsole.h"
53#include "keytrans.h" 53#include "keytrans.h"
54 54
55class EKNumTabBar : public QTabBar { 55class EKNumTabBar : public QTabBar {
56public: 56public:
57 void numberTabs() 57 void numberTabs()
58 { 58 {
59 // Yes, it really is this messy. QTabWidget needs functions 59 // Yes, it really is this messy. QTabWidget needs functions
60 // that provide acces to tabs in a sequential way. 60 // that provide acces to tabs in a sequential way.
61 int m=INT_MIN; 61 int m=INT_MIN;
62 for (int i=0; i<count(); i++) { 62 for (int i=0; i<count(); i++) {
63 QTab* left=0; 63 QTab* left=0;
64 QListIterator<QTab> it(*tabList()); 64 QListIterator<QTab> it(*tabList());
65 int x=INT_MAX; 65 int x=INT_MAX;
66 for( QTab* t; (t=it.current()); ++it ) { 66 for( QTab* t; (t=it.current()); ++it ) {
67 int tx = t->rect().x(); 67 int tx = t->rect().x();
68 if ( tx<x && tx>m ) { 68 if ( tx<x && tx>m ) {
69 x = tx; 69 x = tx;
70 left = t; 70 left = t;
71 } 71 }
72 } 72 }
73 if ( left ) { 73 if ( left ) {
74 left->setText(QString::number(i+1)); 74 left->setText(QString::number(i+1));
75 m = left->rect().x(); 75 m = left->rect().x();
76 } 76 }
77 } 77 }
78 } 78 }
79}; 79};
80 80
81class EKNumTabWidget : public QTabWidget { 81class EKNumTabWidget : public QTabWidget {
82public: 82public:
83 EKNumTabWidget(QWidget* parent) : QTabWidget(parent) 83 EKNumTabWidget(QWidget* parent) : QTabWidget(parent)
84 { 84 {
85 } 85 }
86 86
87 void addTab(QWidget* w) 87 void addTab(QWidget* w)
88 { 88 {
89 QTab* t = new QTab(QString::number(tabBar()->count()+1)); 89 QTab* t = new QTab(QString::number(tabBar()->count()+1));
90 QTabWidget::addTab(w,t); 90 QTabWidget::addTab(w,t);
91 } 91 }
92 92
93 void removeTab(QWidget* w) 93 void removeTab(QWidget* w)
94 { 94 {
95 removePage(w); 95 removePage(w);
96 ((EKNumTabBar*)tabBar())->numberTabs(); 96 ((EKNumTabBar*)tabBar())->numberTabs();
97 } 97 }
98}; 98};
99 99
100// This could be configurable or dynamicly generated from the bash history 100// This could be configurable or dynamicly generated from the bash history
101// file of the user 101// file of the user
102static const char *commonCmds[] = 102static const char *commonCmds[] =
103{ 103{
104 "ls ", // I left this here, cause it looks better than the first alpha 104 "ls ", // I left this here, cause it looks better than the first alpha
105 "cardctl eject", 105 "cardctl eject",
106 "cat ", 106 "cat ",
107 "cd ", 107 "cd ",
108 "chmod ", 108 "chmod ",
109 "clear", 109 "clear",
110 "cp ", 110 "cp ",
111 "dc ", 111 "dc ",
112 "df ", 112 "df ",
113 "dmesg", 113 "dmesg",
114 "echo ", 114 "echo ",
115 "env", 115 "env",
116 "find ", 116 "find ",
117 "free", 117 "free",
118 "grep ", 118 "grep ",
119 "ifconfig ", 119 "ifconfig ",
120 "ipkg ", 120 "ipkg ",
121 "mkdir ", 121 "mkdir ",
122 "mv ", 122 "mv ",
123 "nc localhost 7776", 123 "nc localhost 7776",
124 "nc localhost 7777", 124 "nc localhost 7777",
125 "netstat ",
125 "nslookup ", 126 "nslookup ",
126 "ping ", 127 "ping ",
127 "ps aux", 128 "ps aux",
128 "pwd ", 129 "pwd ",
129 "rm ", 130 "rm ",
130 "rmdir ", 131 "rmdir ",
131 "route ", 132 "route ",
132 "set ", 133 "set ",
133 "traceroute", 134 "traceroute",
134 135
135/* 136/*
136 "gzip", 137 "gzip",
137 "gunzip", 138 "gunzip",
138 "chgrp", 139 "chgrp",
139 "chown", 140 "chown",
140 "date", 141 "date",
141 "dd", 142 "dd",
142 "df", 143 "df",
143 "dmesg", 144 "dmesg",
144 "fuser", 145 "fuser",
145 "hostname", 146 "hostname",
146 "kill", 147 "kill",
147 "killall", 148 "killall",
148 "ln", 149 "ln",
149 "ping", 150 "ping",
150 "mount", 151 "mount",
151 "more", 152 "more",
152 "sort", 153 "sort",
153 "touch", 154 "touch",
154 "umount", 155 "umount",
155 "mknod", 156 "mknod",
156 "netstat", 157 "netstat",
157*/ 158*/
158 159
159 "exit", 160 "exit",
160 NULL 161 NULL
161}; 162};
162 163
163 164
164Konsole::Konsole(QWidget* parent, const char* name, WFlags fl) : 165Konsole::Konsole(QWidget* parent, const char* name, WFlags fl) :
165 QMainWindow(parent, name, fl) 166 QMainWindow(parent, name, fl)
166{ 167{
167 QStrList args; 168 QStrList args;
168 init("/bin/sh",args); 169 init("/bin/sh",args);
169} 170}
170 171
171Konsole::Konsole(const char* name, const char* _pgm, QStrList & _args, int) 172Konsole::Konsole(const char* name, const char* _pgm, QStrList & _args, int)
172 : QMainWindow(0, name) 173 : QMainWindow(0, name)
173{ 174{
174 init(_pgm,_args); 175 init(_pgm,_args);
175} 176}
176 177
177void Konsole::init(const char* _pgm, QStrList & _args) 178void Konsole::init(const char* _pgm, QStrList & _args)
178{ 179{
179 b_scroll = TRUE; // histon; 180 b_scroll = TRUE; // histon;
180 n_keytab = 0; 181 n_keytab = 0;
181 n_render = 0; 182 n_render = 0;
182 183
183 setCaption( tr("Terminal") ); 184 setCaption( tr("Terminal") );
184 setIcon( Resource::loadPixmap( "konsole" ) ); 185 setIcon( Resource::loadPixmap( "konsole" ) );
185 186
186 Config cfg("Konsole"); 187 Config cfg("Konsole");
187 cfg.setGroup("Konsole"); 188 cfg.setGroup("Konsole");
188 QString tmp; 189 QString tmp;
189 // initialize the list of allowed fonts /////////////////////////////////// 190 // initialize the list of allowed fonts ///////////////////////////////////
190 cfont = cfg.readNumEntry("FontID", 1); 191 cfont = cfg.readNumEntry("FontID", 1);
191 QFont f = QFont("Micro", 4, QFont::Normal); 192 QFont f = QFont("Micro", 4, QFont::Normal);
192 f.setFixedPitch(TRUE); 193 f.setFixedPitch(TRUE);
193 fonts.append(new VTFont(tr("Micro"), f)); 194 fonts.append(new VTFont(tr("Micro"), f));
194 195
195 f = QFont("Fixed", 7, QFont::Normal); 196 f = QFont("Fixed", 7, QFont::Normal);
196 f.setFixedPitch(TRUE); 197 f.setFixedPitch(TRUE);
197 fonts.append(new VTFont(tr("Small Fixed"), f)); 198 fonts.append(new VTFont(tr("Small Fixed"), f));
198 199
199 f = QFont("Fixed", 12, QFont::Normal); 200 f = QFont("Fixed", 12, QFont::Normal);
200 f.setFixedPitch(TRUE); 201 f.setFixedPitch(TRUE);
201 fonts.append(new VTFont(tr("Medium Fixed"), f)); 202 fonts.append(new VTFont(tr("Medium Fixed"), f));
202 203
203 // create terminal emulation framework //////////////////////////////////// 204 // create terminal emulation framework ////////////////////////////////////
204 nsessions = 0; 205 nsessions = 0;
205 206
206 tab = new EKNumTabWidget(this); 207 tab = new EKNumTabWidget(this);
207 208
208 connect(tab, SIGNAL(currentChanged(QWidget*)), this, SLOT(switchSession(QWidget*))); 209 connect(tab, SIGNAL(currentChanged(QWidget*)), this, SLOT(switchSession(QWidget*)));
209 210
210 // create terminal toolbar //////////////////////////////////////////////// 211 // create terminal toolbar ////////////////////////////////////////////////
211 setToolBarsMovable( FALSE ); 212 setToolBarsMovable( FALSE );
212 QPEToolBar *menuToolBar = new QPEToolBar( this ); 213 QPEToolBar *menuToolBar = new QPEToolBar( this );
213 menuToolBar->setHorizontalStretchable( TRUE ); 214 menuToolBar->setHorizontalStretchable( TRUE );
214 215
215 QPEMenuBar *menuBar = new QPEMenuBar( menuToolBar ); 216 QPEMenuBar *menuBar = new QPEMenuBar( menuToolBar );
216 217
217 fontList = new QPopupMenu( this ); 218 fontList = new QPopupMenu( this );
218 for(uint i = 0; i < fonts.count(); i++) { 219 for(uint i = 0; i < fonts.count(); i++) {
219 VTFont *fnt = fonts.at(i); 220 VTFont *fnt = fonts.at(i);
220 fontList->insertItem(fnt->getName(), i); 221 fontList->insertItem(fnt->getName(), i);