-rwxr-xr-x | core/apps/embeddedkonsole/embeddedkonsole.pro | 4 | ||||
-rw-r--r-- | core/apps/embeddedkonsole/konsole.cpp | 74 | ||||
-rw-r--r-- | core/apps/embeddedkonsole/konsole.h | 14 | ||||
-rw-r--r-- | core/apps/embeddedkonsole/main.cpp | 45 | ||||
-rw-r--r-- | core/apps/textedit/main.cpp | 13 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 3 | ||||
-rw-r--r-- | core/apps/textedit/textedit.pro | 4 |
7 files changed, 72 insertions, 85 deletions
diff --git a/core/apps/embeddedkonsole/embeddedkonsole.pro b/core/apps/embeddedkonsole/embeddedkonsole.pro index f8d2793..55a1bb4 100755 --- a/core/apps/embeddedkonsole/embeddedkonsole.pro +++ b/core/apps/embeddedkonsole/embeddedkonsole.pro | |||
@@ -1,10 +1,8 @@ | |||
1 | QMAKE_CFLAGS = -DHAVE_OPENPTY | 1 | QMAKE_CFLAGS = -DHAVE_OPENPTY |
2 | TMAKE_FLAGS += -DHAVE_OPENPTY | 2 | TMAKE_FLAGS += -DHAVE_OPENPTY |
3 | QMAKE_LIBS = -lutil | 3 | QMAKE_LIBS = -lutil |
4 | TEMPLATE = app | 4 | CONFIG += qt warn_on release quick-app |
5 | CONFIG += qt warn_on release | ||
6 | DESTDIR = $(OPIEDIR)/bin | ||
7 | HEADERS = TEWidget.h \ | 5 | HEADERS = TEWidget.h \ |
8 | TEScreen.h \ | 6 | TEScreen.h \ |
9 | TECommon.h \ | 7 | TECommon.h \ |
10 | TEHistory.h \ | 8 | TEHistory.h \ |
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp index c324c35..ec438c3 100644 --- a/core/apps/embeddedkonsole/konsole.cpp +++ b/core/apps/embeddedkonsole/konsole.cpp | |||
@@ -45,8 +45,11 @@ | |||
45 | #include <qpe/config.h> | 45 | #include <qpe/config.h> |
46 | #include <qstringlist.h> | 46 | #include <qstringlist.h> |
47 | #include <qpalette.h> | 47 | #include <qpalette.h> |
48 | 48 | ||
49 | #include <unistd.h> | ||
50 | #include <pwd.h> | ||
51 | #include <sys/types.h> | ||
49 | #include <sys/wait.h> | 52 | #include <sys/wait.h> |
50 | #include <stdio.h> | 53 | #include <stdio.h> |
51 | #include <stdlib.h> | 54 | #include <stdlib.h> |
52 | #include <assert.h> | 55 | #include <assert.h> |
@@ -170,22 +173,59 @@ static const char *commonCmds[] = | |||
170 | "exit", | 173 | "exit", |
171 | NULL | 174 | NULL |
172 | }; | 175 | }; |
173 | 176 | ||
177 | static void konsoleInit(const char** shell) { | ||
178 | if(setuid(getuid()) !=0) qDebug("setuid failed"); | ||
179 | if(setgid(getgid()) != 0) qDebug("setgid failed"); // drop privileges | ||
180 | |||
181 | |||
182 | // QPEApplication::grabKeyboard(); // for CTRL and ALT | ||
183 | |||
184 | qDebug("keyboard grabbed"); | ||
185 | #ifdef FAKE_CTRL_AND_ALT | ||
186 | qDebug("Fake Ctrl and Alt defined"); | ||
187 | QPEApplication::grabKeyboard(); // for CTRL and ALT | ||
188 | #endif | ||
189 | |||
190 | *shell = getenv("SHELL"); | ||
191 | qWarning("SHell initially is %s", *shell ); | ||
192 | |||
193 | if (shell == NULL || *shell == '\0') { | ||
194 | struct passwd *ent = 0; | ||
195 | uid_t me = getuid(); | ||
196 | *shell = "/bin/sh"; | ||
197 | |||
198 | while ( (ent = getpwent()) != 0 ) { | ||
199 | if (ent->pw_uid == me) { | ||
200 | if (ent->pw_shell != "") | ||
201 | *shell = ent->pw_shell; | ||
202 | break; | ||
203 | } | ||
204 | } | ||
205 | endpwent(); | ||
206 | } | ||
207 | |||
208 | qWarning("SHELL now is %s", *shell ); | ||
209 | |||
210 | if( putenv((char*)"COLORTERM=") !=0) | ||
211 | qDebug("putenv failed"); // to trigger mc's color detection | ||
212 | } | ||
174 | 213 | ||
175 | Konsole::Konsole(QWidget* parent, const char* name, WFlags fl) : | 214 | Konsole::Konsole(QWidget* parent, const char* name, WFlags fl) : |
176 | QMainWindow(parent, name, fl) | 215 | QMainWindow(parent, name, fl) |
177 | { | 216 | { |
178 | QStrList args; | 217 | QStrList tmp; const char* shell; |
179 | init("/bin/sh",args); | ||
180 | } | ||
181 | 218 | ||
182 | Konsole::Konsole(const char* name, const char* _pgm, QStrList & _args, int) | 219 | setCaption( tr("Terminal") ); |
183 | : QMainWindow(0, name) | 220 | |
184 | { | 221 | konsoleInit( &shell); |
185 | init(_pgm,_args); | 222 | qWarning("Using shell %s", shell); |
223 | init(shell,tmp); | ||
186 | } | 224 | } |
187 | 225 | ||
226 | |||
227 | |||
188 | void Konsole::initCommandList() | 228 | void Konsole::initCommandList() |
189 | { | 229 | { |
190 | // qDebug("Konsole::initCommandList"); | 230 | // qDebug("Konsole::initCommandList"); |
191 | Config cfg("Konsole"); | 231 | Config cfg("Konsole"); |
@@ -298,9 +338,9 @@ void Konsole::init(const char* _pgm, QStrList & _args) | |||
298 | 338 | ||
299 | #ifdef QT_QWS_OPIE | 339 | #ifdef QT_QWS_OPIE |
300 | colorMenu->insertItem(tr( "Custom")); | 340 | colorMenu->insertItem(tr( "Custom")); |
301 | #endif | 341 | #endif |
302 | 342 | ||
303 | configMenu->insertItem( tr("Font"), fontList ); | 343 | configMenu->insertItem( tr("Font"), fontList ); |
304 | configMenu->insertItem(tr( "Colors") ,colorMenu); | 344 | configMenu->insertItem(tr( "Colors") ,colorMenu); |
305 | 345 | ||
306 | connect( fontList, SIGNAL( activated(int) ), this, SLOT( fontChanged(int) )); | 346 | connect( fontList, SIGNAL( activated(int) ), this, SLOT( fontChanged(int) )); |
@@ -367,9 +407,9 @@ void Konsole::init(const char* _pgm, QStrList & _args) | |||
367 | scrollMenu->insertItem(tr( "Left" )); | 407 | scrollMenu->insertItem(tr( "Left" )); |
368 | scrollMenu->insertItem(tr( "Right" )); | 408 | scrollMenu->insertItem(tr( "Right" )); |
369 | // scrollMenu->insertSeparator(4); | 409 | // scrollMenu->insertSeparator(4); |
370 | // scrollMenu->insertItem(tr( "Horizontal" )); | 410 | // scrollMenu->insertItem(tr( "Horizontal" )); |
371 | 411 | ||
372 | configMenu->insertItem(tr( "ScrollBar" ),scrollMenu); | 412 | configMenu->insertItem(tr( "ScrollBar" ),scrollMenu); |
373 | 413 | ||
374 | int jut = configMenu->insertItem(tr( "Wrap" )); | 414 | int jut = configMenu->insertItem(tr( "Wrap" )); |
375 | cfg.setGroup("ScrollBar"); | 415 | cfg.setGroup("ScrollBar"); |
@@ -379,9 +419,9 @@ void Konsole::init(const char* _pgm, QStrList & _args) | |||
379 | cfg.setGroup("Menubar"); | 419 | cfg.setGroup("Menubar"); |
380 | 420 | ||
381 | configMenu->setItemChecked(jut, cfg.readBoolEntry("useBeep",0)); | 421 | configMenu->setItemChecked(jut, cfg.readBoolEntry("useBeep",0)); |
382 | 422 | ||
383 | 423 | ||
384 | //scrollMenuSelected(-29); | 424 | //scrollMenuSelected(-29); |
385 | // cfg.setGroup("ScrollBar"); | 425 | // cfg.setGroup("ScrollBar"); |
386 | // if(cfg.readBoolEntry("HorzScroll",0)) { | 426 | // if(cfg.readBoolEntry("HorzScroll",0)) { |
387 | // if(cfg.readNumEntry("Position",2) == 0) | 427 | // if(cfg.readNumEntry("Position",2) == 0) |
@@ -417,9 +457,9 @@ void Konsole::show() | |||
417 | if ( !nsessions ) { | 457 | if ( !nsessions ) { |
418 | newSession(); | 458 | newSession(); |
419 | } | 459 | } |
420 | QMainWindow::show(); | 460 | QMainWindow::show(); |
421 | 461 | ||
422 | } | 462 | } |
423 | 463 | ||
424 | void Konsole::initSession(const char*, QStrList &) | 464 | void Konsole::initSession(const char*, QStrList &) |
425 | { | 465 | { |
@@ -540,9 +580,9 @@ QSize Konsole::calcSize(int columns, int lines) { | |||
540 | 580 | ||
541 | void Konsole::setColLin(int columns, int lines) | 581 | void Konsole::setColLin(int columns, int lines) |
542 | { | 582 | { |
543 | qDebug("konsole::setColLin:: Columns %d", columns); | 583 | qDebug("konsole::setColLin:: Columns %d", columns); |
544 | 584 | ||
545 | if ((columns==0) || (lines==0)) | 585 | if ((columns==0) || (lines==0)) |
546 | { | 586 | { |
547 | if (defaultSize.isEmpty()) // not in config file : set default value | 587 | if (defaultSize.isEmpty()) // not in config file : set default value |
548 | { | 588 | { |
@@ -762,9 +802,9 @@ void Konsole::colorMenuSelected(int iD) | |||
762 | foreground.setRgb(255,215,0); | 802 | foreground.setRgb(255,215,0); |
763 | cfg.writeEntry("Schema","18"); | 803 | cfg.writeEntry("Schema","18"); |
764 | colorMenu->setItemChecked(-18,TRUE); | 804 | colorMenu->setItemChecked(-18,TRUE); |
765 | } | 805 | } |
766 | #ifdef QT_QWS_OPIE | 806 | #ifdef QT_QWS_OPIE |
767 | if(iD==-19) { | 807 | if(iD==-19) { |
768 | // Custom | 808 | // Custom |
769 | qDebug("do custom"); | 809 | qDebug("do custom"); |
770 | if(fromMenu) { | 810 | if(fromMenu) { |
@@ -889,17 +929,17 @@ i=-24;j=-25;k=-26; | |||
889 | 929 | ||
890 | te->setScrollbarLocation(0); | 930 | te->setScrollbarLocation(0); |
891 | cfg.writeEntry("Position",0); | 931 | cfg.writeEntry("Position",0); |
892 | } else if(index == j) { | 932 | } else if(index == j) { |
893 | 933 | ||
894 | te->setScrollbarLocation(1); | 934 | te->setScrollbarLocation(1); |
895 | cfg.writeEntry("Position",1); | 935 | cfg.writeEntry("Position",1); |
896 | } else if(index == k) { | 936 | } else if(index == k) { |
897 | 937 | ||
898 | te->setScrollbarLocation(2); | 938 | te->setScrollbarLocation(2); |
899 | cfg.writeEntry("Position",2); | 939 | cfg.writeEntry("Position",2); |
900 | } | 940 | } |
901 | 941 | ||
902 | // case -29: { | 942 | // case -29: { |
903 | // bool b=cfg.readBoolEntry("HorzScroll",0); | 943 | // bool b=cfg.readBoolEntry("HorzScroll",0); |
904 | // cfg.writeEntry("HorzScroll", !b ); | 944 | // cfg.writeEntry("HorzScroll", !b ); |
905 | // cfg.write(); | 945 | // cfg.write(); |
@@ -1046,9 +1086,9 @@ int i; | |||
1046 | i=-29; | 1086 | i=-29; |
1047 | #else | 1087 | #else |
1048 | i=-28; | 1088 | i=-28; |
1049 | #endif | 1089 | #endif |
1050 | 1090 | ||
1051 | Config cfg("Konsole"); | 1091 | Config cfg("Konsole"); |
1052 | cfg.setGroup("ScrollBar"); | 1092 | cfg.setGroup("ScrollBar"); |
1053 | TEWidget* te = getTe(); | 1093 | TEWidget* te = getTe(); |
1054 | if( !cfg.readBoolEntry("HorzScroll",0)) { | 1094 | if( !cfg.readBoolEntry("HorzScroll",0)) { |
@@ -1057,6 +1097,6 @@ i=-28; | |||
1057 | } else { | 1097 | } else { |
1058 | // te->setWrapAt(90); | 1098 | // te->setWrapAt(90); |
1059 | te->setWrapAt(120); | 1099 | te->setWrapAt(120); |
1060 | configMenu->setItemChecked( i,FALSE); | 1100 | configMenu->setItemChecked( i,FALSE); |
1061 | } | 1101 | } |
1062 | } | 1102 | } |
diff --git a/core/apps/embeddedkonsole/konsole.h b/core/apps/embeddedkonsole/konsole.h index 4938159..e9d0e4b 100644 --- a/core/apps/embeddedkonsole/konsole.h +++ b/core/apps/embeddedkonsole/konsole.h | |||
@@ -42,17 +42,17 @@ | |||
42 | class EKNumTabWidget; | 42 | class EKNumTabWidget; |
43 | 43 | ||
44 | class Konsole : public QMainWindow | 44 | class Konsole : public QMainWindow |
45 | { | 45 | { |
46 | Q_OBJECT | 46 | Q_OBJECT |
47 | 47 | ||
48 | public: | 48 | public: |
49 | static QString appName() { return QString::fromLatin1("embeddedkonsole"); } | ||
49 | 50 | ||
50 | Konsole(QWidget* parent = 0, const char* name = 0, WFlags fl = 0); | 51 | Konsole(QWidget* parent = 0, const char* name = 0, WFlags fl = 0); |
51 | Konsole(const char * name, const char* pgm, QStrList & _args, int histon); | ||
52 | ~Konsole(); | 52 | ~Konsole(); |
53 | void setColLin(int columns, int lines); | 53 | void setColLin(int columns, int lines); |
54 | QPEToolBar *secondToolBar; | 54 | QPEToolBar *secondToolBar; |
55 | void show(); | 55 | void show(); |
56 | void setColor(); | 56 | void setColor(); |
57 | int lastSelectedMenu; | 57 | int lastSelectedMenu; |
58 | int startUp; | 58 | int startUp; |
@@ -93,23 +93,23 @@ private: | |||
93 | QLabel * msgLabel; | 93 | QLabel * msgLabel; |
94 | QColor foreground, background; | 94 | QColor foreground, background; |
95 | bool fromMenu; | 95 | bool fromMenu; |
96 | private: | 96 | private: |
97 | class VTFont | 97 | class VTFont |
98 | { | 98 | { |
99 | public: | 99 | public: |
100 | VTFont(QString name, QFont& font) | 100 | VTFont(QString name, QFont& font) |
101 | { | 101 | { |
102 | this->name = name; | 102 | this->name = name; |
103 | this->font = font; | 103 | this->font = font; |
104 | } | 104 | } |
105 | 105 | ||
106 | QFont& getFont() | 106 | QFont& getFont() |
107 | { | 107 | { |
108 | return font; | 108 | return font; |
109 | } | 109 | } |
110 | 110 | ||
111 | QString getName() | 111 | QString getName() |
112 | { | 112 | { |
113 | return name; | 113 | return name; |
114 | } | 114 | } |
115 | 115 | ||
diff --git a/core/apps/embeddedkonsole/main.cpp b/core/apps/embeddedkonsole/main.cpp index 91199eb..f77fe24 100644 --- a/core/apps/embeddedkonsole/main.cpp +++ b/core/apps/embeddedkonsole/main.cpp | |||
@@ -21,8 +21,9 @@ | |||
21 | 21 | ||
22 | #include "konsole.h" | 22 | #include "konsole.h" |
23 | 23 | ||
24 | #include <qpe/qpeapplication.h> | 24 | #include <qpe/qpeapplication.h> |
25 | #include <opie/oapplicationfactory.h> | ||
25 | 26 | ||
26 | #include <qfile.h> | 27 | #include <qfile.h> |
27 | 28 | ||
28 | #include <unistd.h> | 29 | #include <unistd.h> |
@@ -33,47 +34,5 @@ | |||
33 | #include <sys/types.h> | 34 | #include <sys/types.h> |
34 | 35 | ||
35 | 36 | ||
36 | /* --| main |------------------------------------------------------ */ | 37 | /* --| main |------------------------------------------------------ */ |
37 | int main(int argc, char* argv[]) | 38 | OPIE_EXPORT_APP( OApplicationFactory<Konsole> ) |
38 | { | ||
39 | if(setuid(getuid()) !=0) qDebug("setuid failed"); | ||
40 | if(setgid(getgid()) != 0) qDebug("setgid failed"); // drop privileges | ||
41 | |||
42 | QPEApplication a( argc, argv ); | ||
43 | |||
44 | // QPEApplication::grabKeyboard(); // for CTRL and ALT | ||
45 | |||
46 | qDebug("keyboard grabbed"); | ||
47 | #ifdef FAKE_CTRL_AND_ALT | ||
48 | qDebug("Fake Ctrl and Alt defined"); | ||
49 | QPEApplication::grabKeyboard(); // for CTRL and ALT | ||
50 | #endif | ||
51 | |||
52 | QStrList tmp; | ||
53 | const char* shell = getenv("SHELL"); | ||
54 | |||
55 | if (shell == NULL || *shell == '\0') { | ||
56 | struct passwd *ent = 0; | ||
57 | uid_t me = getuid(); | ||
58 | shell = "/bin/sh"; | ||
59 | |||
60 | while ( (ent = getpwent()) != 0 ) { | ||
61 | if (ent->pw_uid == me) { | ||
62 | if (ent->pw_shell != "") | ||
63 | shell = ent->pw_shell; | ||
64 | break; | ||
65 | } | ||
66 | } | ||
67 | endpwent(); | ||
68 | } | ||
69 | |||
70 | if( putenv((char*)"COLORTERM=") !=0) | ||
71 | qDebug("putenv failed"); // to trigger mc's color detection | ||
72 | |||
73 | Konsole m( "test", shell, tmp, TRUE ); | ||
74 | m.setCaption( Konsole::tr("Terminal") ); | ||
75 | a.showMainWidget( &m ); | ||
76 | |||
77 | return a.exec(); | ||
78 | } | ||
79 | |||
diff --git a/core/apps/textedit/main.cpp b/core/apps/textedit/main.cpp index f80c5d8..edab73d 100644 --- a/core/apps/textedit/main.cpp +++ b/core/apps/textedit/main.cpp | |||
@@ -20,16 +20,7 @@ | |||
20 | 20 | ||
21 | #include "textedit.h" | 21 | #include "textedit.h" |
22 | 22 | ||
23 | #include <qpe/qpeapplication.h> | 23 | #include <qpe/qpeapplication.h> |
24 | #include <opie/oapplicationfactory.h> | ||
24 | 25 | ||
25 | int main( int argc, char **argv ) | 26 | OPIE_EXPORT_APP( OApplicationFactory<TextEdit> ) |
26 | { | ||
27 | QPEApplication a( argc, argv ); | ||
28 | |||
29 | TextEdit e; | ||
30 | a.showMainDocumentWidget(&e); | ||
31 | // if ( argc == 3 && argv[1] == QCString("-f") ) | ||
32 | // e.openFile(argv[2]); | ||
33 | |||
34 | return a.exec(); | ||
35 | } | ||
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index e0cbea2..303b707 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h | |||
@@ -53,8 +53,9 @@ class TextEdit : public QMainWindow | |||
53 | { | 53 | { |
54 | Q_OBJECT | 54 | Q_OBJECT |
55 | 55 | ||
56 | public: | 56 | public: |
57 | static QString appName() { return QString::fromLatin1("textedit"); } | ||
57 | TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); | 58 | TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); |
58 | ~TextEdit(); | 59 | ~TextEdit(); |
59 | 60 | ||
60 | protected: | 61 | protected: |
@@ -72,9 +73,9 @@ protected: | |||
72 | private slots: | 73 | private slots: |
73 | void editorChanged(); | 74 | void editorChanged(); |
74 | void receive(const QCString&, const QByteArray&); | 75 | void receive(const QCString&, const QByteArray&); |
75 | void timerCrank(); | 76 | void timerCrank(); |
76 | void doTimer(bool); | 77 | void doTimer(bool); |
77 | void editPasteTimeDate(); | 78 | void editPasteTimeDate(); |
78 | void doPrompt(bool); | 79 | void doPrompt(bool); |
79 | void doDesktop(bool); | 80 | void doDesktop(bool); |
80 | void doFilePerms(bool); | 81 | void doFilePerms(bool); |
diff --git a/core/apps/textedit/textedit.pro b/core/apps/textedit/textedit.pro index 2577340..b958ff5 100644 --- a/core/apps/textedit/textedit.pro +++ b/core/apps/textedit/textedit.pro | |||
@@ -1,7 +1,5 @@ | |||
1 | TEMPLATE = app | 1 | CONFIG += qt warn_on release quick-app |
2 | CONFIG += qt warn_on release | ||
3 | DESTDIR = $(OPIEDIR)/bin | ||
4 | HEADERS = textedit.h filePermissions.h | 2 | HEADERS = textedit.h filePermissions.h |
5 | SOURCES = main.cpp textedit.cpp filePermissions.cpp | 3 | SOURCES = main.cpp textedit.cpp filePermissions.cpp |
6 | INCLUDEPATH += $(OPIEDIR)/include | 4 | INCLUDEPATH += $(OPIEDIR)/include |
7 | DEPENDPATH += $(OPIEDIR)/include | 5 | DEPENDPATH += $(OPIEDIR)/include |