summaryrefslogtreecommitdiff
path: root/core/apps/embeddedkonsole
authormickeyl <mickeyl>2003-11-06 10:26:22 (UTC)
committer mickeyl <mickeyl>2003-11-06 10:26:22 (UTC)
commit8c283be8e455571a03f11035b23f649e49de726c (patch) (side-by-side diff)
tree8213d1c2cbf06881649af936362d4035ee63ceed /core/apps/embeddedkonsole
parent55ea6367fba8a82fbdca74599422717e4b3c3ec6 (diff)
downloadopie-8c283be8e455571a03f11035b23f649e49de726c.zip
opie-8c283be8e455571a03f11035b23f649e49de726c.tar.gz
opie-8c283be8e455571a03f11035b23f649e49de726c.tar.bz2
merge core/apps/*
Diffstat (limited to 'core/apps/embeddedkonsole') (more/less context) (ignore whitespace changes)
-rwxr-xr-xcore/apps/embeddedkonsole/embeddedkonsole.pro4
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp74
-rw-r--r--core/apps/embeddedkonsole/konsole.h14
-rw-r--r--core/apps/embeddedkonsole/main.cpp45
4 files changed, 67 insertions, 70 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,9 +1,7 @@
QMAKE_CFLAGS = -DHAVE_OPENPTY
TMAKE_FLAGS += -DHAVE_OPENPTY
QMAKE_LIBS = -lutil
-TEMPLATE = app
-CONFIG += qt warn_on release
-DESTDIR = $(OPIEDIR)/bin
+CONFIG += qt warn_on release quick-app
HEADERS = TEWidget.h \
TEScreen.h \
TECommon.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
@@ -46,6 +46,9 @@
#include <qstringlist.h>
#include <qpalette.h>
+#include <unistd.h>
+#include <pwd.h>
+#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
@@ -171,20 +174,57 @@ static const char *commonCmds[] =
NULL
};
+static void konsoleInit(const char** shell) {
+ if(setuid(getuid()) !=0) qDebug("setuid failed");
+ if(setgid(getgid()) != 0) qDebug("setgid failed"); // drop privileges
+
+
+// QPEApplication::grabKeyboard(); // for CTRL and ALT
+
+ qDebug("keyboard grabbed");
+#ifdef FAKE_CTRL_AND_ALT
+ qDebug("Fake Ctrl and Alt defined");
+ QPEApplication::grabKeyboard(); // for CTRL and ALT
+#endif
+
+ *shell = getenv("SHELL");
+ qWarning("SHell initially is %s", *shell );
+
+ if (shell == NULL || *shell == '\0') {
+ struct passwd *ent = 0;
+ uid_t me = getuid();
+ *shell = "/bin/sh";
+
+ while ( (ent = getpwent()) != 0 ) {
+ if (ent->pw_uid == me) {
+ if (ent->pw_shell != "")
+ *shell = ent->pw_shell;
+ break;
+ }
+ }
+ endpwent();
+ }
+
+ qWarning("SHELL now is %s", *shell );
+
+ if( putenv((char*)"COLORTERM=") !=0)
+ qDebug("putenv failed"); // to trigger mc's color detection
+}
Konsole::Konsole(QWidget* parent, const char* name, WFlags fl) :
QMainWindow(parent, name, fl)
{
- QStrList args;
- init("/bin/sh",args);
-}
+ QStrList tmp; const char* shell;
-Konsole::Konsole(const char* name, const char* _pgm, QStrList & _args, int)
- : QMainWindow(0, name)
-{
- init(_pgm,_args);
+ setCaption( tr("Terminal") );
+
+ konsoleInit( &shell);
+ qWarning("Using shell %s", shell);
+ init(shell,tmp);
}
+
+
void Konsole::initCommandList()
{
// qDebug("Konsole::initCommandList");
@@ -299,7 +339,7 @@ void Konsole::init(const char* _pgm, QStrList & _args)
#ifdef QT_QWS_OPIE
colorMenu->insertItem(tr( "Custom"));
#endif
-
+
configMenu->insertItem( tr("Font"), fontList );
configMenu->insertItem(tr( "Colors") ,colorMenu);
@@ -368,7 +408,7 @@ void Konsole::init(const char* _pgm, QStrList & _args)
scrollMenu->insertItem(tr( "Right" ));
// scrollMenu->insertSeparator(4);
// scrollMenu->insertItem(tr( "Horizontal" ));
-
+
configMenu->insertItem(tr( "ScrollBar" ),scrollMenu);
int jut = configMenu->insertItem(tr( "Wrap" ));
@@ -380,7 +420,7 @@ void Konsole::init(const char* _pgm, QStrList & _args)
configMenu->setItemChecked(jut, cfg.readBoolEntry("useBeep",0));
-
+
//scrollMenuSelected(-29);
// cfg.setGroup("ScrollBar");
// if(cfg.readBoolEntry("HorzScroll",0)) {
@@ -418,7 +458,7 @@ void Konsole::show()
newSession();
}
QMainWindow::show();
-
+
}
void Konsole::initSession(const char*, QStrList &)
@@ -541,7 +581,7 @@ QSize Konsole::calcSize(int columns, int lines) {
void Konsole::setColLin(int columns, int lines)
{
qDebug("konsole::setColLin:: Columns %d", columns);
-
+
if ((columns==0) || (lines==0))
{
if (defaultSize.isEmpty()) // not in config file : set default value
@@ -763,7 +803,7 @@ void Konsole::colorMenuSelected(int iD)
cfg.writeEntry("Schema","18");
colorMenu->setItemChecked(-18,TRUE);
}
-#ifdef QT_QWS_OPIE
+#ifdef QT_QWS_OPIE
if(iD==-19) {
// Custom
qDebug("do custom");
@@ -890,7 +930,7 @@ i=-24;j=-25;k=-26;
te->setScrollbarLocation(0);
cfg.writeEntry("Position",0);
} else if(index == j) {
-
+
te->setScrollbarLocation(1);
cfg.writeEntry("Position",1);
} else if(index == k) {
@@ -898,7 +938,7 @@ i=-24;j=-25;k=-26;
te->setScrollbarLocation(2);
cfg.writeEntry("Position",2);
}
-
+
// case -29: {
// bool b=cfg.readBoolEntry("HorzScroll",0);
// cfg.writeEntry("HorzScroll", !b );
@@ -1047,7 +1087,7 @@ i=-29;
#else
i=-28;
#endif
-
+
Config cfg("Konsole");
cfg.setGroup("ScrollBar");
TEWidget* te = getTe();
@@ -1058,5 +1098,5 @@ i=-28;
// te->setWrapAt(90);
te->setWrapAt(120);
configMenu->setItemChecked( i,FALSE);
- }
+ }
}
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
@@ -43,15 +43,15 @@ class EKNumTabWidget;
class Konsole : public QMainWindow
{
-Q_OBJECT
+ Q_OBJECT
public:
+ static QString appName() { return QString::fromLatin1("embeddedkonsole"); }
Konsole(QWidget* parent = 0, const char* name = 0, WFlags fl = 0);
- Konsole(const char * name, const char* pgm, QStrList & _args, int histon);
~Konsole();
void setColLin(int columns, int lines);
- QPEToolBar *secondToolBar;
+ QPEToolBar *secondToolBar;
void show();
void setColor();
int lastSelectedMenu;
@@ -94,21 +94,21 @@ private:
QColor foreground, background;
bool fromMenu;
private:
- class VTFont
+ class VTFont
{
public:
- VTFont(QString name, QFont& font)
+ VTFont(QString name, QFont& font)
{
this->name = name;
this->font = font;
}
- QFont& getFont()
+ QFont& getFont()
{
return font;
}
- QString getName()
+ QString getName()
{
return name;
}
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
@@ -22,6 +22,7 @@
#include "konsole.h"
#include <qpe/qpeapplication.h>
+#include <opie/oapplicationfactory.h>
#include <qfile.h>
@@ -34,46 +35,4 @@
/* --| main |------------------------------------------------------ */
-int main(int argc, char* argv[])
-{
- if(setuid(getuid()) !=0) qDebug("setuid failed");
- if(setgid(getgid()) != 0) qDebug("setgid failed"); // drop privileges
-
- QPEApplication a( argc, argv );
-
-// QPEApplication::grabKeyboard(); // for CTRL and ALT
-
- qDebug("keyboard grabbed");
-#ifdef FAKE_CTRL_AND_ALT
- qDebug("Fake Ctrl and Alt defined");
- QPEApplication::grabKeyboard(); // for CTRL and ALT
-#endif
-
- QStrList tmp;
- const char* shell = getenv("SHELL");
-
- if (shell == NULL || *shell == '\0') {
- struct passwd *ent = 0;
- uid_t me = getuid();
- shell = "/bin/sh";
-
- while ( (ent = getpwent()) != 0 ) {
- if (ent->pw_uid == me) {
- if (ent->pw_shell != "")
- shell = ent->pw_shell;
- break;
- }
- }
- endpwent();
- }
-
- if( putenv((char*)"COLORTERM=") !=0)
- qDebug("putenv failed"); // to trigger mc's color detection
-
- Konsole m( "test", shell, tmp, TRUE );
- m.setCaption( Konsole::tr("Terminal") );
- a.showMainWidget( &m );
-
- return a.exec();
-}
-
+OPIE_EXPORT_APP( OApplicationFactory<Konsole> )