summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/TECommon.h0
-rw-r--r--core/apps/embeddedkonsole/TEWidget.cpp12
-rw-r--r--core/apps/embeddedkonsole/TEWidget.h2
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp322
-rw-r--r--core/apps/embeddedkonsole/konsole.h14
5 files changed, 305 insertions, 45 deletions
diff --git a/core/apps/embeddedkonsole/TECommon.h b/core/apps/embeddedkonsole/TECommon.h
index 261d51b..5db41ad 100644
--- a/core/apps/embeddedkonsole/TECommon.h
+++ b/core/apps/embeddedkonsole/TECommon.h
diff --git a/core/apps/embeddedkonsole/TEWidget.cpp b/core/apps/embeddedkonsole/TEWidget.cpp
index dc83998..f10bfb2 100644
--- a/core/apps/embeddedkonsole/TEWidget.cpp
+++ b/core/apps/embeddedkonsole/TEWidget.cpp
@@ -10,17 +10,16 @@
/* */
/* ------------------------------------------------------------------------ */
/* */
/* Ported Konsole to Qt/Embedded */
/* */
/* Copyright (C) 2000 by John Ryland <jryland@trolltech.com> */
/* */
/* -------------------------------------------------------------------------- */
-
/*! \class TEWidget
\brief Visible screen contents
This class is responsible to map the `image' of a terminal emulation to the
display. All the dependency of the emulation to a specific GUI or toolkit is
localized here. Further, this widget has no knowledge about being part of an
emulation, it simply work within the terminal emulation framework by exposing
@@ -110,17 +109,17 @@ static const ColorEntry base_color_table[TABLE_COLORS] =
ColorEntry(QColor(0x00,0x00,0x00), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0x18), 0, 0 ), // Black, Red
ColorEntry(QColor(0x18,0xB2,0x18), 0, 0 ), ColorEntry( QColor(0xB2,0x68,0x18), 0, 0 ), // Green, Yellow
ColorEntry(QColor(0x18,0x18,0xB2), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0xB2), 0, 0 ), // Blue, Magenta
ColorEntry(QColor(0x18,0xB2,0xB2), 0, 0 ), ColorEntry( QColor(0xB2,0xB2,0xB2), 0, 0 ), // Cyan, White
// intensiv
ColorEntry(QColor(0x00,0x00,0x00), 0, 1 ), ColorEntry( QColor(0xFF,0xFF,0xFF), 1, 0 ),
ColorEntry(QColor(0x68,0x68,0x68), 0, 0 ), ColorEntry( QColor(0xFF,0x54,0x54), 0, 0 ),
ColorEntry(QColor(0x54,0xFF,0x54), 0, 0 ), ColorEntry( QColor(0xFF,0xFF,0x54), 0, 0 ),
- ColorEntry(QColor(0x54,0x54,0xFF), 0, 0 ), ColorEntry( QColor(0xFF,0x54,0xFF), 0, 0 ),
+ ColorEntry(QColor(0x54,0x54,0xFF), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0xB2), 0, 0 ),
ColorEntry(QColor(0x54,0xFF,0xFF), 0, 0 ), ColorEntry( QColor(0xFF,0xFF,0xFF), 0, 0 )
};
/* Note that we use ANSI color order (bgr), while IBMPC color order is (rgb)
Code 0 1 2 3 4 5 6 7
----------- ------- ------- ------- ------- ------- ------- ------- -------
ANSI (bgr) Black Red Green Yellow Blue Magenta Cyan White
@@ -132,16 +131,22 @@ QColor TEWidget::getDefaultBackColor()
return color_table[DEFAULT_BACK_COLOR].color;
}
const ColorEntry* TEWidget::getColorTable() const
{
return color_table;
}
+const ColorEntry* TEWidget::getdefaultColorTable() const
+{
+ return base_color_table;
+}
+
+
const QPixmap *TEWidget::backgroundPixmap()
{
static QPixmap *bg = new QPixmap("~/qpim/main/pics/faded_bg.xpm");
const QPixmap *pm = bg;
return pm;
}
void TEWidget::setColorTable(const ColorEntry table[])
@@ -249,18 +254,17 @@ void TEWidget::fontChange(const QFont &)
update();
}
void TEWidget::setVTFont(const QFont& f)
{
QFrame::setFont(f);
}
-QFont TEWidget::getVTFont()
-{
+QFont TEWidget::getVTFont() {
return font();
}
void TEWidget::setFont(const QFont &)
{
// ignore font change request if not coming from konsole itself
}
diff --git a/core/apps/embeddedkonsole/TEWidget.h b/core/apps/embeddedkonsole/TEWidget.h
index 3f9f4ae..40e1aea 100644
--- a/core/apps/embeddedkonsole/TEWidget.h
+++ b/core/apps/embeddedkonsole/TEWidget.h
@@ -10,17 +10,16 @@
/* */
/* ----------------------------------------------------------------------- */
/* */
/* Ported Konsole to Qt/Embedded */
/* */
/* Copyright (C) 2000 by John Ryland <jryland@trolltech.com> */
/* */
/* -------------------------------------------------------------------------- */
-
#ifndef TE_WIDGET_H
#define TE_WIDGET_H
#include <qwidget.h>
#include <qlabel.h>
#include <qtimer.h>
#include <qcolor.h>
#include <qkeycode.h>
@@ -47,16 +46,17 @@ public:
TEWidget(QWidget *parent=0, const char *name=0);
virtual ~TEWidget();
public:
QColor getDefaultBackColor();
const ColorEntry* getColorTable() const;
+ const ColorEntry* getdefaultColorTable() const;
void setColorTable(const ColorEntry table[]);
void setScrollbarLocation(int loc);
enum { SCRNONE=0, SCRLEFT=1, SCRRIGHT=2 };
void setScroll(int cursor, int lines);
void doScroll(int lines);
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp
index 7253baf..1102ef3 100644
--- a/core/apps/embeddedkonsole/konsole.cpp
+++ b/core/apps/embeddedkonsole/konsole.cpp
@@ -36,16 +36,18 @@
#include <qaction.h>
#include <qapplication.h>
#include <qfontmetrics.h>
#include <qcombobox.h>
#include <qevent.h>
#include <qtabwidget.h>
#include <qtabbar.h>
#include <qpe/config.h>
+#include <qstringlist.h>
+#include <qpalette.h>
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "konsole.h"
#include "keytrans.h"
@@ -94,49 +96,44 @@ public:
((EKNumTabBar*)tabBar())->numberTabs();
}
};
// This could be configurable or dynamicly generated from the bash history
// file of the user
static const char *commonCmds[] =
{
- "ls ",
- //"ls -la ",
+ "ls ", // I left this here, cause it looks better than the first alpha
+ "cardctl eject",
+ "cat ",
"cd ",
- "pwd",
- //"cat",
- //"less ",
- //"vi ",
- //"man ",
+ "chmod ",
+ "cp ",
+ "dc ",
+ "df ",
+ "dmesg",
"echo ",
- "set ",
- //"ps",
- "ps aux",
- //"tar",
- //"tar -zxf",
+ "find ",
+ "free",
"grep ",
- //"grep -i",
- //"mkdir",
- "cp ",
+ "ifconfig ",
+ "ipkg ",
+ "mkdir ",
"mv ",
+ "nc localhost 7776",
+ "nc localhost 7777",
+ "nslookup ",
+ "ping ",
+ "ps aux",
+ "pwd ",
"rm ",
"rmdir ",
- //"chmod",
- //"su",
-// "top",
- //"find",
- //"make",
- //"tail",
- "cardctl eject",
- "ifconfig ",
-// "iwconfig eth0 ",
- "nc localhost 7777",
- "nc localhost 7776",
- //"mount /dev/hda1",
+ "route ",
+ "set ",
+ "traceroute",
/*
"gzip",
"gunzip",
"chgrp",
"chown",
"date",
"dd",
@@ -181,54 +178,96 @@ void Konsole::init(const char* _pgm, QStrList & _args)
n_keytab = 0;
n_render = 0;
setCaption( tr("Terminal") );
setIcon( Resource::loadPixmap( "konsole" ) );
Config cfg("Konsole");
cfg.setGroup("Konsole");
-
+ QString tmp;
// initialize the list of allowed fonts ///////////////////////////////////
cfont = cfg.readNumEntry("FontID", 1);
QFont f = QFont("Micro", 4, QFont::Normal);
f.setFixedPitch(TRUE);
fonts.append(new VTFont(tr("Micro"), f));
f = QFont("Fixed", 7, QFont::Normal);
f.setFixedPitch(TRUE);
fonts.append(new VTFont(tr("Small Fixed"), f));
f = QFont("Fixed", 12, QFont::Normal);
f.setFixedPitch(TRUE);
fonts.append(new VTFont(tr("Medium Fixed"), f));
// create terminal emulation framework ////////////////////////////////////
nsessions = 0;
+
tab = new EKNumTabWidget(this);
- tab->setTabPosition(QTabWidget::Bottom);
+
connect(tab, SIGNAL(currentChanged(QWidget*)), this, SLOT(switchSession(QWidget*)));
// create terminal toolbar ////////////////////////////////////////////////
setToolBarsMovable( FALSE );
QPEToolBar *menuToolBar = new QPEToolBar( this );
menuToolBar->setHorizontalStretchable( TRUE );
QPEMenuBar *menuBar = new QPEMenuBar( menuToolBar );
fontList = new QPopupMenu( this );
for(uint i = 0; i < fonts.count(); i++) {
VTFont *fnt = fonts.at(i);
fontList->insertItem(fnt->getName(), i);
}
fontChanged(cfont);
+ configMenu = new QPopupMenu( this);
+ colorMenu = new QPopupMenu( this);
+
+ bool listHidden;
+ cfg.setGroup("Menubar");
+ if( cfg.readEntry("Hidden","FALSE") == "TRUE") {
+ configMenu->insertItem("Show command list");
+ listHidden=TRUE;
+ } else {
+ configMenu->insertItem("Hide command list");
+ listHidden=FALSE;
+ }
+
+ cfg.setGroup("Tabs");
+ tmp=cfg.readEntry("Position","Bottom");
+ if(tmp=="Top") {
+ tab->setTabPosition(QTabWidget::Top);
+ configMenu->insertItem("Tabs on Bottom");
+ } else {
+ tab->setTabPosition(QTabWidget::Bottom);
+ configMenu->insertItem("Tabs on Top");
+ }
+ configMenu->insertSeparator(2);
+
+ colorMenu->insertItem("Green on Black");
+ colorMenu->insertItem("Black on White");
+ colorMenu->insertItem("White on Black");
+ colorMenu->insertItem("Black on Transparent");
+ colorMenu->insertItem("Black on Red");
+ colorMenu->insertItem("Red on Black");
+ colorMenu->insertItem("Green on Yellow");
+ colorMenu->insertItem("Blue on Magenta");
+ colorMenu->insertItem("Magenta on Blue");
+ colorMenu->insertItem("Cyan on White");
+ colorMenu->insertItem("White on Cyan");
+ colorMenu->insertItem("Blue on Black");
+ configMenu->insertItem("Colors",colorMenu);
+
connect( fontList, SIGNAL( activated(int) ), this, SLOT( fontChanged(int) ));
+ connect( configMenu, SIGNAL( activated(int) ), this, SLOT( configMenuSelected(int) ));
+ connect( colorMenu, SIGNAL( activated(int) ), this, SLOT( colorMenuSelected(int) ));
menuBar->insertItem( tr("Font"), fontList );
+ menuBar->insertItem( tr("Options"), configMenu );
QPEToolBar *toolbar = new QPEToolBar( this );
QAction *a;
// Button Commands
a = new QAction( tr("New"), Resource::loadPixmap( "konsole" ), QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( newSession() ) ); a->addTo( toolbar );
@@ -246,23 +285,35 @@ void Konsole::init(const char* _pgm, QStrList & _args)
connect( a, SIGNAL( activated() ), this, SLOT( hitPaste() ) ); a->addTo( toolbar );
/*
a = new QAction( tr("Up"), Resource::loadPixmap( "up" ), QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( hitUp() ) ); a->addTo( toolbar );
a = new QAction( tr("Down"), Resource::loadPixmap( "down" ), QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( hitDown() ) ); a->addTo( toolbar );
*/
- QPEToolBar *secondToolBar = new QPEToolBar( this );
+ secondToolBar = new QPEToolBar( this );
secondToolBar->setHorizontalStretchable( TRUE );
- QComboBox *commonCombo = new QComboBox( secondToolBar );
-// commonCombo->setEditable( TRUE );
- for (int i = 0; commonCmds[i] != NULL; i++)
+ commonCombo = new QComboBox( secondToolBar );
+
+ if( listHidden)
+ secondToolBar->hide();
+ configMenu->insertItem( "Edit Command List");
+
+ cfg.setGroup("Commands");
+ commonCombo->setInsertionPolicy(QComboBox::AtCurrent);
+
+ for (int i = 0; commonCmds[i] != NULL; i++) {
commonCombo->insertItem( commonCmds[i], i );
+ tmp = cfg.readEntry( QString::number(i),"");
+ if(tmp != "")
+ commonCombo->changeItem( tmp,i );
+ }
+
connect( commonCombo, SIGNAL( activated(int) ), this, SLOT( enterCommand(int) ));
// create applications /////////////////////////////////////////////////////
setCentralWidget(tab);
// load keymaps ////////////////////////////////////////////////////////////
KeyTrans::loadAll();
for (int i = 0; i < KeyTrans::count(); i++)
@@ -273,16 +324,17 @@ void Konsole::init(const char* _pgm, QStrList & _args)
se_pgm = _pgm;
se_args = _args;
// read and apply default values ///////////////////////////////////////////
resize(321, 321); // Dummy.
QSize currentSize = size();
if (currentSize != size())
defaultSize = size();
+
}
void Konsole::show()
{
if ( !nsessions ) {
newSession();
}
QMainWindow::show();
@@ -316,22 +368,27 @@ void Konsole::fontChanged(int f)
TEWidget* te = getTe();
if (te != 0) {
te->setVTFont(font->getFont());
}
}
}
+
void Konsole::enterCommand(int c)
{
TEWidget* te = getTe();
if (te != 0) {
- QString text = commonCmds[c];
+ if(!commonCombo->editable()) {
+ QString text = commonCombo->text(c); //commonCmds[c];
te->emitText(text);
+ } else {
+ changeCommand( commonCombo->text(c), c);
+ }
}
}
void Konsole::hitEnter()
{
TEWidget* te = getTe();
if (te != 0) {
te->emitText(QString("\r"));
@@ -468,30 +525,32 @@ void Konsole::doneSession(TESession*, int )
nsessions--;
}
if (nsessions == 0) {
close();
}
}
-
void Konsole::newSession() {
+ if(nsessions < 15) { // seems to be something weird about 16 tabs on the Zaurus.... memory?
TEWidget* te = new TEWidget(tab);
- te->setBackgroundMode(PaletteBase);
+// te->setBackgroundMode(PaletteBase); //we want transparent!!
te->setVTFont(fonts.at(cfont)->getFont());
tab->addTab(te);
TESession* se = new TESession(this, te, se_pgm, se_args, "xterm");
te->currentSession = se;
connect( se, SIGNAL(done(TESession*,int)), this, SLOT(doneSession(TESession*,int)) );
se->run();
se->setConnect(TRUE);
se->setHistory(b_scroll);
tab->setCurrentPage(nsessions);
nsessions++;
+ setColor();
+ }
}
TEWidget* Konsole::getTe() {
if (nsessions) {
return (TEWidget *) tab->currentPage();
} else {
return 0;
}
@@ -505,8 +564,199 @@ void Konsole::switchSession(QWidget* w) {
VTFont *fnt = fonts.at(i);
bool cf = fnt->getFont() == teFnt;
fontList->setItemChecked(i, cf);
if (cf) {
cfont = i;
}
}
}
+
+/// ------------------------------- some new stuff by L.J. Potter
+void Konsole::colorMenuSelected(int iD)
+{ // this is NOT pretty, elegant or anything else besides functional
+// QString temp;
+// temp.sprintf("%d", iD);
+// qDebug(temp);
+ TEWidget* te = getTe();
+ Config cfg("Konsole");
+ cfg.setGroup("Colors");
+ QColor foreground;
+ QColor background;
+ colorMenu->setItemChecked(lastSelectedMenu,FALSE);
+ ColorEntry m_table[TABLE_COLORS];
+ const ColorEntry * defaultCt=te->getdefaultColorTable();
+ /////////// fore back
+ int i;
+ if(iD==-8) { // default default
+ for (i = 0; i < TABLE_COLORS; i++) {
+ m_table[i].color = defaultCt[i].color;
+ if(i==1 || i == 11)
+ m_table[i].transparent=1;
+ cfg.writeEntry("Schema","8");
+ colorMenu->setItemChecked(-8,TRUE);
+ }
+ } else {
+ if(iD==-5) { // green black
+ foreground.setRgb(0x18,255,0x18);
+ background.setRgb(0x00,0x00,0x00);
+ cfg.writeEntry("Schema","5");
+ colorMenu->setItemChecked(-5,TRUE);
+ }
+ if(iD==-6) { // black white
+ foreground.setRgb(0x00,0x00,0x00);
+ background.setRgb(0xFF,0xFF,0xFF);
+ cfg.writeEntry("Schema","6");
+ colorMenu->setItemChecked(-6,TRUE);
+ }
+ if(iD==-7) { // white black
+ foreground.setRgb(0xFF,0xFF,0xFF);
+ background.setRgb(0x00,0x00,0x00);
+ cfg.writeEntry("Schema","7");
+ colorMenu->setItemChecked(-7,TRUE);
+ }
+ if(iD==-9) {// Black, Red
+ foreground.setRgb(0x00,0x00,0x00);
+ background.setRgb(0xB2,0x18,0x18);
+ cfg.writeEntry("Schema","9");
+ colorMenu->setItemChecked(-9,TRUE);
+ }
+ if(iD==-10) {// Red, Black
+ foreground.setRgb(230,31,31); //0xB2,0x18,0x18
+ background.setRgb(0x00,0x00,0x00);
+ cfg.writeEntry("Schema","10");
+ colorMenu->setItemChecked(-10,TRUE);
+ }
+ if(iD==-11) {// Green, Yellow - is ugly
+// foreground.setRgb(0x18,0xB2,0x18);
+ foreground.setRgb(36,139,10);
+// background.setRgb(0xB2,0x68,0x18);
+ background.setRgb(255,255,0);
+ cfg.writeEntry("Schema","11");
+ colorMenu->setItemChecked(-11,TRUE);
+ }
+ if(iD==-12) {// Blue, Magenta
+ foreground.setRgb(0x18,0xB2,0xB2);
+ background.setRgb(0x18,0x18,0xB2);
+ cfg.writeEntry("Schema","12");
+ colorMenu->setItemChecked(-12,TRUE);
+ }
+ if(iD==-13) {// Magenta, Blue
+ foreground.setRgb(0x18,0x18,0xB2);
+ background.setRgb(0x18,0xB2,0xB2);
+ cfg.writeEntry("Schema","13");
+ colorMenu->setItemChecked(-13,TRUE);
+ }
+ if(iD==-14) {// Cyan, White
+ foreground.setRgb(0x18,0xB2,0xB2);
+ background.setRgb(0xFF,0xFF,0xFF);
+ cfg.writeEntry("Schema","14");
+ colorMenu->setItemChecked(-14,TRUE);
+ }
+ if(iD==-15) {// White, Cyan
+ background.setRgb(0x18,0xB2,0xB2);
+ foreground.setRgb(0xFF,0xFF,0xFF);
+ cfg.writeEntry("Schema","15");
+ colorMenu->setItemChecked(-15,TRUE);
+ }
+ if(iD==-16) {// Black, Blue
+ background.setRgb(0x00,0x00,0x00);
+ foreground.setRgb(0x18,0xB2,0xB2);
+ cfg.writeEntry("Schema","16");
+ colorMenu->setItemChecked(-16,TRUE);
+ }
+
+ for (i = 0; i < TABLE_COLORS; i++) {
+ if(i==0 || i == 10) {
+ m_table[i].color = foreground;
+ }
+ else if(i==1 || i == 11) {
+ m_table[i].color = background; m_table[i].transparent=0;
+ }
+ else
+ m_table[i].color = defaultCt[i].color;
+ }
+ }
+ lastSelectedMenu = iD;
+ te->setColorTable(m_table);
+// update();
+}
+
+void Konsole::configMenuSelected(int iD)
+{
+// QString temp;
+// temp.sprintf("%d",iD);
+// qDebug(temp);
+ TEWidget* te = getTe();
+ Config cfg("Konsole");
+ cfg.setGroup("Menubar");
+ if( iD == -2) {
+ if(!secondToolBar->isHidden()) {
+ secondToolBar->hide();
+ configMenu->changeItem( iD,"Show Command List");
+ cfg.writeEntry("Hidden","TRUE");
+ configMenu->setItemEnabled(-20 ,FALSE);
+ } else {
+ secondToolBar->show();
+ configMenu->changeItem( iD,"Hide Command List");
+ cfg.writeEntry("Hidden","FALSE");
+ configMenu->setItemEnabled(-20 ,TRUE);
+
+ if(cfg.readEntry("EditEnabled","FALSE")=="TRUE") {
+ configMenu->setItemChecked(-16,TRUE);
+ commonCombo->setEditable( TRUE );
+ } else {
+ configMenu->setItemChecked(-20,FALSE);
+ commonCombo->setEditable( FALSE );
+ }
+ }
+ }
+ if( iD == -3) {
+ cfg.setGroup("Tabs");
+ QString tmp=cfg.readEntry("Position","Top");
+
+ if(tmp=="Top") {
+ tab->setTabPosition(QTabWidget::Bottom);
+ configMenu->changeItem( iD,"Tabs on Top");
+ cfg.writeEntry("Position","Bottom");
+ } else {
+ tab->setTabPosition(QTabWidget::Top);
+ configMenu->changeItem( iD,"Tabs on Bottom");
+ cfg.writeEntry("Position","Top");
+ }
+ }
+ if( iD == -20) {
+ cfg.setGroup("Commands");
+// qDebug("enableCommandEdit");
+ if( !configMenu->isItemChecked(iD) ) {
+ commonCombo->setEditable( TRUE );
+ configMenu->setItemChecked(iD,TRUE);
+ commonCombo->setCurrentItem(0);
+ cfg.writeEntry("EditEnabled","TRUE");
+ } else {
+ commonCombo->setEditable( FALSE );
+ configMenu->setItemChecked(iD,FALSE);
+ cfg.writeEntry("EditEnabled","FALSE");
+ commonCombo->setFocusPolicy(QWidget::NoFocus);
+ te->setFocus();
+ }
+ }
+}
+
+void Konsole::changeCommand(const QString &text, int c)
+{
+ Config cfg("Konsole");
+ cfg.setGroup("Commands");
+ if(commonCmds[c] != text) {
+ cfg.writeEntry(QString::number(c),text);
+ commonCombo->clearEdit();
+ commonCombo->setCurrentItem(c);
+ }
+}
+
+void Konsole::setColor()
+{
+ Config cfg("Konsole");
+ cfg.setGroup("Colors");
+ int scheme = cfg.readNumEntry("Schema",1);
+ if(scheme != 1) colorMenuSelected( -scheme);
+
+}
diff --git a/core/apps/embeddedkonsole/konsole.h b/core/apps/embeddedkonsole/konsole.h
index 819ea5d..40003d4 100644
--- a/core/apps/embeddedkonsole/konsole.h
+++ b/core/apps/embeddedkonsole/konsole.h
@@ -25,16 +25,18 @@
#include <qmainwindow.h>
#include <qaction.h>
#include <qpopupmenu.h>
#include <qstrlist.h>
#include <qintdict.h>
#include <qptrdict.h>
#include <qtabwidget.h>
+#include <qpe/qpetoolbar.h>
+#include <qcombobox.h>
#include "MyPty.h"
#include "TEWidget.h"
#include "TEmuVt102.h"
#include "session.h"
class EKNumTabWidget;
@@ -43,32 +45,36 @@ class Konsole : public QMainWindow
Q_OBJECT
public:
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;
void show();
-
+ void setColor();
+ int lastSelectedMenu;
private slots:
void doneSession(TESession*,int);
void changeColumns(int);
void fontChanged(int);
+ void configMenuSelected(int );
+ void colorMenuSelected(int);
void enterCommand(int);
void hitEnter();
void hitSpace();
void hitTab();
void hitPaste();
void hitUp();
void hitDown();
void switchSession(QWidget *);
void newSession();
+ void changeCommand(const QString &, int);
private:
void init(const char* _pgm, QStrList & _args);
void initSession(const char* _pgm, QStrList & _args);
void runSession(TESession* s);
void setColorPixmaps();
void setHistory(bool);
QSize calcSize(int columns, int lines);
@@ -101,18 +107,18 @@ private:
EKNumTabWidget* tab;
int nsessions;
QList<VTFont> fonts;
int cfont;
QCString se_pgm;
QStrList se_args;
- QPopupMenu* fontList;
-
+ QPopupMenu* fontList,*configMenu,*colorMenu;
+ QComboBox *commonCombo;
// history scrolling I think
bool b_scroll;
int n_keytab;
int n_scroll;
int n_render;
QString pmPath; // pixmap path
QString dropText;