summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rwxr-xr-xcore/apps/embeddedkonsole/embeddedkonsole.pro1
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp21
2 files changed, 13 insertions, 9 deletions
diff --git a/core/apps/embeddedkonsole/embeddedkonsole.pro b/core/apps/embeddedkonsole/embeddedkonsole.pro
index bfa16a2..913cb89 100755
--- a/core/apps/embeddedkonsole/embeddedkonsole.pro
+++ b/core/apps/embeddedkonsole/embeddedkonsole.pro
@@ -1,52 +1,53 @@
1QMAKE_CFLAGS = -DHAVE_OPENPTY 1QMAKE_CFLAGS = -DHAVE_OPENPTY
2QMAKE_LIBS = -lutil 2QMAKE_LIBS = -lutil
3TEMPLATE = app 3TEMPLATE = app
4CONFIG += qt warn_on release 4CONFIG += qt warn_on release
5DESTDIR = $(OPIEDIR)/bin 5DESTDIR = $(OPIEDIR)/bin
6HEADERS = TEWidget.h \ 6HEADERS = TEWidget.h \
7 TEScreen.h \ 7 TEScreen.h \
8 TECommon.h \ 8 TECommon.h \
9 TEHistory.h \ 9 TEHistory.h \
10 TEmulation.h \ 10 TEmulation.h \
11 TEmuVt102.h \ 11 TEmuVt102.h \
12 session.h \ 12 session.h \
13 keytrans.h \ 13 keytrans.h \
14 konsole.h \ 14 konsole.h \
15 commandeditdialog.h \ 15 commandeditdialog.h \
16 commandeditwidget.h \ 16 commandeditwidget.h \
17 playlistselection.h \ 17 playlistselection.h \
18 MyPty.h 18 MyPty.h
19SOURCES = TEScreen.cpp \ 19SOURCES = TEScreen.cpp \
20 TEWidget.cpp \ 20 TEWidget.cpp \
21 TEHistory.cpp \ 21 TEHistory.cpp \
22 TEmulation.cpp \ 22 TEmulation.cpp \
23 TEmuVt102.cpp \ 23 TEmuVt102.cpp \
24 session.cpp \ 24 session.cpp \
25 keytrans.cpp \ 25 keytrans.cpp \
26 konsole.cpp \ 26 konsole.cpp \
27 commandeditdialog.cpp \ 27 commandeditdialog.cpp \
28 commandeditwidget.cpp \ 28 commandeditwidget.cpp \
29 playlistselection.cpp \ 29 playlistselection.cpp \
30 MyPty.cpp \ 30 MyPty.cpp \
31 main.cpp 31 main.cpp
32INTERFACES = commandeditdialogbase.ui smallcommandeditdialogbase.ui 32INTERFACES = commandeditdialogbase.ui smallcommandeditdialogbase.ui
33TARGET = embeddedkonsole 33TARGET = embeddedkonsole
34INCLUDEPATH += $(OPIEDIR)/include 34INCLUDEPATH += $(OPIEDIR)/include
35DEPENDPATH += $(OPIEDIR)/include 35DEPENDPATH += $(OPIEDIR)/include
36LIBS += -lqpe -lopie 36LIBS += -lqpe -lopie
37TMAKE_CXXFLAGS += -DQT_QWS_OPIE
37 38
38TRANSLATIONS = ../../../i18n/de/embeddedkonsole.ts \ 39TRANSLATIONS = ../../../i18n/de/embeddedkonsole.ts \
39 ../../../i18n/en/embeddedkonsole.ts \ 40 ../../../i18n/en/embeddedkonsole.ts \
40 ../../../i18n/es/embeddedkonsole.ts \ 41 ../../../i18n/es/embeddedkonsole.ts \
41 ../../../i18n/fr/embeddedkonsole.ts \ 42 ../../../i18n/fr/embeddedkonsole.ts \
42 ../../../i18n/hu/embeddedkonsole.ts \ 43 ../../../i18n/hu/embeddedkonsole.ts \
43 ../../../i18n/ja/embeddedkonsole.ts \ 44 ../../../i18n/ja/embeddedkonsole.ts \
44 ../../../i18n/ko/embeddedkonsole.ts \ 45 ../../../i18n/ko/embeddedkonsole.ts \
45 ../../../i18n/no/embeddedkonsole.ts \ 46 ../../../i18n/no/embeddedkonsole.ts \
46 ../../../i18n/pl/embeddedkonsole.ts \ 47 ../../../i18n/pl/embeddedkonsole.ts \
47 ../../../i18n/pt/embeddedkonsole.ts \ 48 ../../../i18n/pt/embeddedkonsole.ts \
48 ../../../i18n/pt_BR/embeddedkonsole.ts \ 49 ../../../i18n/pt_BR/embeddedkonsole.ts \
49 ../../../i18n/sl/embeddedkonsole.ts \ 50 ../../../i18n/sl/embeddedkonsole.ts \
50 ../../../i18n/zh_CN/embeddedkonsole.ts \ 51 ../../../i18n/zh_CN/embeddedkonsole.ts \
51 ../../../i18n/zh_TW/embeddedkonsole.ts \ 52 ../../../i18n/zh_TW/embeddedkonsole.ts \
52 ../../../i18n/it/embeddedkonsole.ts 53 ../../../i18n/it/embeddedkonsole.ts
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp
index ebff05e..4480fe2 100644
--- a/core/apps/embeddedkonsole/konsole.cpp
+++ b/core/apps/embeddedkonsole/konsole.cpp
@@ -1,106 +1,106 @@
1/* ---------------------------------------------------------------------- */ 1/* ---------------------------------------------------------------------- */
2/* */ 2/* */
3/* [main.C] Konsole */ 3/* [main.C] Konsole */
4/* */ 4/* */
5/* ---------------------------------------------------------------------- */ 5/* ---------------------------------------------------------------------- */
6/* */ 6/* */
7/* Copyright (c) 1997,1998 by Lars Doelle <lars.doelle@on-line.de> */ 7/* Copyright (c) 1997,1998 by Lars Doelle <lars.doelle@on-line.de> */
8/* */ 8/* */
9/* This file is part of Konsole, an X terminal. */ 9/* This file is part of Konsole, an X terminal. */
10/* */ 10/* */
11/* The material contained in here more or less directly orginates from */ 11/* The material contained in here more or less directly orginates from */
12/* kvt, which is copyright (c) 1996 by Matthias Ettrich <ettrich@kde.org> */ 12/* kvt, which is copyright (c) 1996 by Matthias Ettrich <ettrich@kde.org> */
13/* */ 13/* */
14/* ---------------------------------------------------------------------- */ 14/* ---------------------------------------------------------------------- */
15/* */ 15/* */
16/* Ported Konsole to Qt/Embedded */ 16/* Ported Konsole to Qt/Embedded */
17/* */ 17/* */
18/* Copyright (C) 2000 by John Ryland <jryland@trolltech.com> */ 18/* Copyright (C) 2000 by John Ryland <jryland@trolltech.com> */
19/* */ 19/* */
20/* -------------------------------------------------------------------------- */ 20/* -------------------------------------------------------------------------- */
21// enhancements added by L.J. Potter <ljp@llornkcor.com> 21// enhancements added by L.J. Potter <ljp@llornkcor.com>
22#define QWS_QT_OPIE 22//#define QT_QWS_OPIE
23 23
24#include <qpe/resource.h> 24#include <qpe/resource.h>
25 25
26#include <qdir.h> 26#include <qdir.h>
27#include <qevent.h> 27#include <qevent.h>
28#include <qdragobject.h> 28#include <qdragobject.h>
29#include <qobjectlist.h> 29#include <qobjectlist.h>
30#include <qtoolbutton.h> 30#include <qtoolbutton.h>
31#include <qpe/qpetoolbar.h> 31#include <qpe/qpetoolbar.h>
32#include <qpushbutton.h> 32#include <qpushbutton.h>
33#include <qfontdialog.h> 33#include <qfontdialog.h>
34#include <qglobal.h> 34#include <qglobal.h>
35#include <qpainter.h> 35#include <qpainter.h>
36#include <qpe/qpemenubar.h> 36#include <qpe/qpemenubar.h>
37#include <qmessagebox.h> 37#include <qmessagebox.h>
38#include <qaction.h> 38#include <qaction.h>
39#include <qapplication.h> 39#include <qapplication.h>
40#include <qfontmetrics.h> 40#include <qfontmetrics.h>
41#include <qcombobox.h> 41#include <qcombobox.h>
42#include <qevent.h> 42#include <qevent.h>
43#include <qtabwidget.h> 43#include <qtabwidget.h>
44#include <qtabbar.h> 44#include <qtabbar.h>
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 <sys/wait.h> 49#include <sys/wait.h>
50#include <stdio.h> 50#include <stdio.h>
51#include <stdlib.h> 51#include <stdlib.h>
52#include <assert.h> 52#include <assert.h>
53 53
54#include "konsole.h" 54#include "konsole.h"
55#include "keytrans.h" 55#include "keytrans.h"
56#include "commandeditdialog.h" 56#include "commandeditdialog.h"
57 57
58#ifdef QWS_QT_OPIE 58#ifdef QT_QWS_OPIE
59#include <opie/colorpopupmenu.h> 59#include <opie/colorpopupmenu.h>
60#endif 60#endif
61 61
62class EKNumTabBar : public QTabBar { 62class EKNumTabBar : public QTabBar {
63public: 63public:
64 void numberTabs() 64 void numberTabs()
65 { 65 {
66 // Yes, it really is this messy. QTabWidget needs functions 66 // Yes, it really is this messy. QTabWidget needs functions
67 // that provide acces to tabs in a sequential way. 67 // that provide acces to tabs in a sequential way.
68 int m=INT_MIN; 68 int m=INT_MIN;
69 for (int i=0; i<count(); i++) { 69 for (int i=0; i<count(); i++) {
70 QTab* left=0; 70 QTab* left=0;
71 QListIterator<QTab> it(*tabList()); 71 QListIterator<QTab> it(*tabList());
72 int x=INT_MAX; 72 int x=INT_MAX;
73 for( QTab* t; (t=it.current()); ++it ) { 73 for( QTab* t; (t=it.current()); ++it ) {
74 int tx = t->rect().x(); 74 int tx = t->rect().x();
75 if ( tx<x && tx>m ) { 75 if ( tx<x && tx>m ) {
76 x = tx; 76 x = tx;
77 left = t; 77 left = t;
78 } 78 }
79 } 79 }
80 if ( left ) { 80 if ( left ) {
81 left->setText(QString::number(i+1)); 81 left->setText(QString::number(i+1));
82 m = left->rect().x(); 82 m = left->rect().x();
83 } 83 }
84 } 84 }
85 } 85 }
86}; 86};
87 87
88class EKNumTabWidget : public QTabWidget { 88class EKNumTabWidget : public QTabWidget {
89public: 89public:
90 EKNumTabWidget(QWidget* parent) : QTabWidget(parent) 90 EKNumTabWidget(QWidget* parent) : QTabWidget(parent)
91 { 91 {
92 } 92 }
93 93
94 void addTab(QWidget* w) 94 void addTab(QWidget* w)
95 { 95 {
96 QTab* t = new QTab(QString::number(tabBar()->count()+1)); 96 QTab* t = new QTab(QString::number(tabBar()->count()+1));
97 QTabWidget::addTab(w,t); 97 QTabWidget::addTab(w,t);
98 } 98 }
99 99
100 void removeTab(QWidget* w) 100 void removeTab(QWidget* w)
101 { 101 {
102 removePage(w); 102 removePage(w);
103 ((EKNumTabBar*)tabBar())->numberTabs(); 103 ((EKNumTabBar*)tabBar())->numberTabs();
104 } 104 }
105}; 105};
106 106
@@ -251,172 +251,175 @@ void Konsole::init(const char* _pgm, QStrList & _args)
251 for(uint i = 0; i < fonts.count(); i++) { 251 for(uint i = 0; i < fonts.count(); i++) {
252 VTFont *fnt = fonts.at(i); 252 VTFont *fnt = fonts.at(i);
253 fontList->insertItem(fnt->getName(), i); 253 fontList->insertItem(fnt->getName(), i);
254 } 254 }
255 fontChanged(cfont); 255 fontChanged(cfont);
256 256
257 configMenu = new QPopupMenu( this); 257 configMenu = new QPopupMenu( this);
258 colorMenu = new QPopupMenu( this); 258 colorMenu = new QPopupMenu( this);
259 scrollMenu = new QPopupMenu( this); 259 scrollMenu = new QPopupMenu( this);
260 editCommandListMenu = new QPopupMenu( this); 260 editCommandListMenu = new QPopupMenu( this);
261 261
262 configMenu->insertItem(tr("Command List"), editCommandListMenu); 262 configMenu->insertItem(tr("Command List"), editCommandListMenu);
263 263
264 bool listHidden; 264 bool listHidden;
265 cfg.setGroup("Menubar"); 265 cfg.setGroup("Menubar");
266 if( cfg.readEntry("Hidden","FALSE") == "TRUE") { 266 if( cfg.readEntry("Hidden","FALSE") == "TRUE") {
267 editCommandListMenu->insertItem( tr( "Show command list" )); 267 editCommandListMenu->insertItem( tr( "Show command list" ));
268 listHidden=TRUE; 268 listHidden=TRUE;
269 } else { 269 } else {
270 editCommandListMenu->insertItem( tr( "Hide command list" )); 270 editCommandListMenu->insertItem( tr( "Hide command list" ));
271 listHidden=FALSE; 271 listHidden=FALSE;
272 } 272 }
273 273
274 cfg.setGroup("Tabs"); 274 cfg.setGroup("Tabs");
275 tmp=cfg.readEntry("Position","Bottom"); 275 tmp=cfg.readEntry("Position","Bottom");
276 if(tmp=="Top") { 276 if(tmp=="Top") {
277 tab->setTabPosition(QTabWidget::Top); 277 tab->setTabPosition(QTabWidget::Top);
278 configMenu->insertItem( tr( "Tabs on Bottom" ) ); 278 configMenu->insertItem( tr( "Tabs on Bottom" ) );
279 } else { 279 } else {
280 tab->setTabPosition(QTabWidget::Bottom); 280 tab->setTabPosition(QTabWidget::Bottom);
281 configMenu->insertItem("Tabs on Top"); 281 configMenu->insertItem("Tabs on Top");
282 } 282 }
283 configMenu->insertSeparator(2); 283 configMenu->insertSeparator(2);
284 284
285 colorMenu->insertItem(tr( "Green on Black")); 285 colorMenu->insertItem(tr( "Green on Black"));
286 colorMenu->insertItem(tr( "Black on White")); 286 colorMenu->insertItem(tr( "Black on White"));
287 colorMenu->insertItem(tr( "White on Black")); 287 colorMenu->insertItem(tr( "White on Black"));
288 colorMenu->insertItem(tr( "Black on Transparent")); 288 colorMenu->insertItem(tr( "Black on Transparent"));
289 colorMenu->insertItem(tr( "Black on Red")); 289 colorMenu->insertItem(tr( "Black on Red"));
290 colorMenu->insertItem(tr( "Red on Black")); 290 colorMenu->insertItem(tr( "Red on Black"));
291 colorMenu->insertItem(tr( "Green on Yellow")); 291 colorMenu->insertItem(tr( "Green on Yellow"));
292 colorMenu->insertItem(tr( "Blue on Magenta")); 292 colorMenu->insertItem(tr( "Blue on Magenta"));
293 colorMenu->insertItem(tr( "Magenta on Blue")); 293 colorMenu->insertItem(tr( "Magenta on Blue"));
294 colorMenu->insertItem(tr( "Cyan on White")); 294 colorMenu->insertItem(tr( "Cyan on White"));
295 colorMenu->insertItem(tr( "White on Cyan")); 295 colorMenu->insertItem(tr( "White on Cyan"));
296 colorMenu->insertItem(tr( "Blue on Black")); 296 colorMenu->insertItem(tr( "Blue on Black"));
297 colorMenu->insertItem(tr( "Amber on Black")); 297 colorMenu->insertItem(tr( "Amber on Black"));
298 298
299#ifdef QWS_QT_OPIE 299#ifdef QT_QWS_OPIE
300 colorMenu->insertItem(tr( "Custom")); 300 colorMenu->insertItem(tr( "Custom"));
301#endif 301#endif
302 302
303 configMenu->insertItem(tr( "Colors") ,colorMenu); 303 configMenu->insertItem(tr( "Colors") ,colorMenu);
304 304
305 connect( fontList, SIGNAL( activated(int) ), this, SLOT( fontChanged(int) )); 305 connect( fontList, SIGNAL( activated(int) ), this, SLOT( fontChanged(int) ));
306 connect( configMenu, SIGNAL( activated(int) ), this, SLOT( configMenuSelected(int) )); 306 connect( configMenu, SIGNAL( activated(int) ), this, SLOT( configMenuSelected(int) ));
307 connect( colorMenu, SIGNAL( activated(int) ), this, SLOT( colorMenuIsSelected(int) )); 307 connect( colorMenu, SIGNAL( activated(int) ), this, SLOT( colorMenuIsSelected(int) ));
308 connect( scrollMenu, SIGNAL(activated(int)),this,SLOT(scrollMenuSelected(int))); 308 connect( scrollMenu, SIGNAL(activated(int)),this,SLOT(scrollMenuSelected(int)));
309 connect(editCommandListMenu,SIGNAL(activated(int)),this,SLOT(editCommandListMenuSelected(int))); 309 connect(editCommandListMenu,SIGNAL(activated(int)),this,SLOT(editCommandListMenuSelected(int)));
310 menuBar->insertItem( tr("Font"), fontList ); 310 menuBar->insertItem( tr("Font"), fontList );
311 menuBar->insertItem( tr("Options"), configMenu ); 311 menuBar->insertItem( tr("Options"), configMenu );
312 312
313 QPEToolBar *toolbar = new QPEToolBar( this ); 313 QPEToolBar *toolbar = new QPEToolBar( this );
314 314
315 QAction *a; 315 QAction *a;
316 316
317 // Button Commands 317 // Button Commands
318 a = new QAction( tr("New"), Resource::loadPixmap( "konsole" ), QString::null, 0, this, 0 ); 318 a = new QAction( tr("New"), Resource::loadPixmap( "konsole" ), QString::null, 0, this, 0 );
319 connect( a, SIGNAL( activated() ), this, SLOT( newSession() ) ); a->addTo( toolbar ); 319 connect( a, SIGNAL( activated() ), this, SLOT( newSession() ) ); a->addTo( toolbar );
320 a = new QAction( tr("Enter"), Resource::loadPixmap( "konsole/enter" ), QString::null, 0, this, 0 ); 320 a = new QAction( tr("Enter"), Resource::loadPixmap( "konsole/enter" ), QString::null, 0, this, 0 );
321 connect( a, SIGNAL( activated() ), this, SLOT( hitEnter() ) ); a->addTo( toolbar ); 321 connect( a, SIGNAL( activated() ), this, SLOT( hitEnter() ) ); a->addTo( toolbar );
322 a = new QAction( tr("Space"), Resource::loadPixmap( "konsole/space" ), QString::null, 0, this, 0 ); 322 a = new QAction( tr("Space"), Resource::loadPixmap( "konsole/space" ), QString::null, 0, this, 0 );
323 connect( a, SIGNAL( activated() ), this, SLOT( hitSpace() ) ); a->addTo( toolbar ); 323 connect( a, SIGNAL( activated() ), this, SLOT( hitSpace() ) ); a->addTo( toolbar );
324 a = new QAction( tr("Tab"), Resource::loadPixmap( "konsole/tab" ), QString::null, 0, this, 0 ); 324 a = new QAction( tr("Tab"), Resource::loadPixmap( "konsole/tab" ), QString::null, 0, this, 0 );
325 connect( a, SIGNAL( activated() ), this, SLOT( hitTab() ) ); a->addTo( toolbar ); 325 connect( a, SIGNAL( activated() ), this, SLOT( hitTab() ) ); a->addTo( toolbar );
326 a = new QAction( tr("Up"), Resource::loadPixmap( "konsole/up" ), QString::null, 0, this, 0 ); 326 a = new QAction( tr("Up"), Resource::loadPixmap( "konsole/up" ), QString::null, 0, this, 0 );
327 connect( a, SIGNAL( activated() ), this, SLOT( hitUp() ) ); a->addTo( toolbar ); 327 connect( a, SIGNAL( activated() ), this, SLOT( hitUp() ) ); a->addTo( toolbar );
328 a = new QAction( tr("Down"), Resource::loadPixmap( "konsole/down" ), QString::null, 0, this, 0 ); 328 a = new QAction( tr("Down"), Resource::loadPixmap( "konsole/down" ), QString::null, 0, this, 0 );
329 connect( a, SIGNAL( activated() ), this, SLOT( hitDown() ) ); a->addTo( toolbar ); 329 connect( a, SIGNAL( activated() ), this, SLOT( hitDown() ) ); a->addTo( toolbar );
330 a = new QAction( tr("Paste"), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); 330 a = new QAction( tr("Paste"), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 );
331 connect( a, SIGNAL( activated() ), this, SLOT( hitPaste() ) ); a->addTo( toolbar ); 331 connect( a, SIGNAL( activated() ), this, SLOT( hitPaste() ) ); a->addTo( toolbar );
332/* 332/*
333 a = new QAction( tr("Up"), Resource::loadPixmap( "up" ), QString::null, 0, this, 0 ); 333 a = new QAction( tr("Up"), Resource::loadPixmap( "up" ), QString::null, 0, this, 0 );
334 connect( a, SIGNAL( activated() ), this, SLOT( hitUp() ) ); a->addTo( toolbar ); 334 connect( a, SIGNAL( activated() ), this, SLOT( hitUp() ) ); a->addTo( toolbar );
335 a = new QAction( tr("Down"), Resource::loadPixmap( "down" ), QString::null, 0, this, 0 ); 335 a = new QAction( tr("Down"), Resource::loadPixmap( "down" ), QString::null, 0, this, 0 );
336 connect( a, SIGNAL( activated() ), this, SLOT( hitDown() ) ); a->addTo( toolbar ); 336 connect( a, SIGNAL( activated() ), this, SLOT( hitDown() ) ); a->addTo( toolbar );
337*/ 337*/
338 338
339 secondToolBar = new QPEToolBar( this ); 339 secondToolBar = new QPEToolBar( this );
340 secondToolBar->setHorizontalStretchable( TRUE ); 340 secondToolBar->setHorizontalStretchable( TRUE );
341 341
342 commonCombo = new QComboBox( secondToolBar ); 342 commonCombo = new QComboBox( secondToolBar );
343 commonCombo->setMaximumWidth(236); 343 commonCombo->setMaximumWidth(236);
344 344
345 editCommandListMenu->insertItem( tr( "Quick Edit" ) ); 345 editCommandListMenu->insertItem( tr( "Quick Edit" ) );
346 if( listHidden) { 346 if( listHidden) {
347 secondToolBar->hide(); 347 secondToolBar->hide();
348 editCommandListMenu->setItemEnabled(-23 ,FALSE); 348 editCommandListMenu->setItemEnabled(-23 ,FALSE);
349 } 349 }
350 editCommandListMenu->insertItem(tr( "Edit" ) ); 350 editCommandListMenu->insertItem(tr( "Edit" ) );
351 351
352 cfg.setGroup("Commands"); 352 cfg.setGroup("Commands");
353 commonCombo->setInsertionPolicy(QComboBox::AtCurrent); 353 commonCombo->setInsertionPolicy(QComboBox::AtCurrent);
354 354
355 initCommandList(); 355 initCommandList();
356// for (int i = 0; commonCmds[i] != NULL; i++) { 356// for (int i = 0; commonCmds[i] != NULL; i++) {
357// commonCombo->insertItem( commonCmds[i], i ); 357// commonCombo->insertItem( commonCmds[i], i );
358// tmp = cfg.readEntry( QString::number(i),""); 358// tmp = cfg.readEntry( QString::number(i),"");
359// if(tmp != "") 359// if(tmp != "")
360// commonCombo->changeItem( tmp,i ); 360// commonCombo->changeItem( tmp,i );
361// } 361// }
362 362
363 connect( commonCombo, SIGNAL( activated(int) ), this, SLOT( enterCommand(int) )); 363 connect( commonCombo, SIGNAL( activated(int) ), this, SLOT( enterCommand(int) ));
364 364
365 scrollMenu->insertItem(tr( "None" )); 365 scrollMenu->insertItem(tr( "None" ));
366 scrollMenu->insertItem(tr( "Left" )); 366 scrollMenu->insertItem(tr( "Left" ));
367 scrollMenu->insertItem(tr( "Right" )); 367 scrollMenu->insertItem(tr( "Right" ));
368// scrollMenu->insertSeparator(4); 368// scrollMenu->insertSeparator(4);
369// scrollMenu->insertItem(tr( "Horizontal" )); 369// scrollMenu->insertItem(tr( "Horizontal" ));
370 370
371 configMenu->insertItem(tr( "ScrollBar" ),scrollMenu); 371 configMenu->insertItem(tr( "ScrollBar" ),scrollMenu);
372 372
373 configMenu->insertItem(tr( "Wrap" )); 373 int jut = configMenu->insertItem(tr( "Wrap" ));
374 int jut = configMenu->insertItem(tr( "Use Beep" )); 374 cfg.setGroup("ScrollBar");
375 configMenu->setItemChecked(jut, cfg.readBoolEntry("HorzScroll",0));
376
377 jut = configMenu->insertItem(tr( "Use Beep" ));
375 cfg.setGroup("Menubar"); 378 cfg.setGroup("Menubar");
376 configMenu->setItemChecked(jut, cfg.readBoolEntry("useBeep",0)); 379 configMenu->setItemChecked(jut, cfg.readBoolEntry("useBeep",0));
377 380
378 381
379//scrollMenuSelected(-29); 382//scrollMenuSelected(-29);
380// cfg.setGroup("ScrollBar"); 383// cfg.setGroup("ScrollBar");
381// if(cfg.readBoolEntry("HorzScroll",0)) { 384// if(cfg.readBoolEntry("HorzScroll",0)) {
382// if(cfg.readNumEntry("Position",2) == 0) 385// if(cfg.readNumEntry("Position",2) == 0)
383// te->setScrollbarLocation(1); 386// te->setScrollbarLocation(1);
384// else 387// else
385// te->setScrollbarLocation(0); 388// te->setScrollbarLocation(0);
386// te->setScrollbarLocation( cfg.readNumEntry("Position",2)); 389// te->setScrollbarLocation( cfg.readNumEntry("Position",2));
387// te->setWrapAt(120); 390// te->setWrapAt(120);
388// } 391// }
389 // create applications ///////////////////////////////////////////////////// 392 // create applications /////////////////////////////////////////////////////
390 setCentralWidget(tab); 393 setCentralWidget(tab);
391 394
392 // load keymaps //////////////////////////////////////////////////////////// 395 // load keymaps ////////////////////////////////////////////////////////////
393 KeyTrans::loadAll(); 396 KeyTrans::loadAll();
394 for (int i = 0; i < KeyTrans::count(); i++) 397 for (int i = 0; i < KeyTrans::count(); i++)
395 { KeyTrans* s = KeyTrans::find(i); 398 { KeyTrans* s = KeyTrans::find(i);
396 assert( s ); 399 assert( s );
397 } 400 }
398 401
399 se_pgm = _pgm; 402 se_pgm = _pgm;
400 se_args = _args; 403 se_args = _args;
401 se_args.prepend("--login"); 404 se_args.prepend("--login");
402parseCommandLine(); 405parseCommandLine();
403 // read and apply default values /////////////////////////////////////////// 406 // read and apply default values ///////////////////////////////////////////
404 resize(321, 321); // Dummy. 407 resize(321, 321); // Dummy.
405 QSize currentSize = size(); 408 QSize currentSize = size();
406 if (currentSize != size()) 409 if (currentSize != size())
407 defaultSize = size(); 410 defaultSize = size();
408} 411}
409 412
410void Konsole::show() 413void Konsole::show()
411{ 414{
412 if ( !nsessions ) { 415 if ( !nsessions ) {
413 newSession(); 416 newSession();
414 } 417 }
415 QMainWindow::show(); 418 QMainWindow::show();
416 419
417} 420}
418 421
419void Konsole::initSession(const char*, QStrList &) 422void Konsole::initSession(const char*, QStrList &)
420{ 423{
421 QMainWindow::show(); 424 QMainWindow::show();
422} 425}
@@ -708,141 +711,141 @@ void Konsole::colorMenuSelected(int iD)
708 background.setRgb(0x00,0x00,0x00); 711 background.setRgb(0x00,0x00,0x00);
709 cfg.writeEntry("Schema","11"); 712 cfg.writeEntry("Schema","11");
710 colorMenu->setItemChecked(-11,TRUE); 713 colorMenu->setItemChecked(-11,TRUE);
711 } 714 }
712 if(iD==-12) {// Green, Yellow - is ugly 715 if(iD==-12) {// Green, Yellow - is ugly
713// foreground.setRgb(0x18,0xB2,0x18); 716// foreground.setRgb(0x18,0xB2,0x18);
714 foreground.setRgb(36,139,10); 717 foreground.setRgb(36,139,10);
715// background.setRgb(0xB2,0x68,0x18); 718// background.setRgb(0xB2,0x68,0x18);
716 background.setRgb(255,255,0); 719 background.setRgb(255,255,0);
717 cfg.writeEntry("Schema","12"); 720 cfg.writeEntry("Schema","12");
718 colorMenu->setItemChecked(-12,TRUE); 721 colorMenu->setItemChecked(-12,TRUE);
719 } 722 }
720 if(iD==-13) {// Blue, Magenta 723 if(iD==-13) {// Blue, Magenta
721 foreground.setRgb(0x18,0xB2,0xB2); 724 foreground.setRgb(0x18,0xB2,0xB2);
722 background.setRgb(0x18,0x18,0xB2); 725 background.setRgb(0x18,0x18,0xB2);
723 cfg.writeEntry("Schema","13"); 726 cfg.writeEntry("Schema","13");
724 colorMenu->setItemChecked(-13,TRUE); 727 colorMenu->setItemChecked(-13,TRUE);
725 } 728 }
726 if(iD==-14) {// Magenta, Blue 729 if(iD==-14) {// Magenta, Blue
727 foreground.setRgb(0x18,0x18,0xB2); 730 foreground.setRgb(0x18,0x18,0xB2);
728 background.setRgb(0x18,0xB2,0xB2); 731 background.setRgb(0x18,0xB2,0xB2);
729 cfg.writeEntry("Schema","14"); 732 cfg.writeEntry("Schema","14");
730 colorMenu->setItemChecked(-14,TRUE); 733 colorMenu->setItemChecked(-14,TRUE);
731 } 734 }
732 if(iD==-15) {// Cyan, White 735 if(iD==-15) {// Cyan, White
733 foreground.setRgb(0x18,0xB2,0xB2); 736 foreground.setRgb(0x18,0xB2,0xB2);
734 background.setRgb(0xFF,0xFF,0xFF); 737 background.setRgb(0xFF,0xFF,0xFF);
735 cfg.writeEntry("Schema","15"); 738 cfg.writeEntry("Schema","15");
736 colorMenu->setItemChecked(-15,TRUE); 739 colorMenu->setItemChecked(-15,TRUE);
737 } 740 }
738 if(iD==-16) {// White, Cyan 741 if(iD==-16) {// White, Cyan
739 background.setRgb(0x18,0xB2,0xB2); 742 background.setRgb(0x18,0xB2,0xB2);
740 foreground.setRgb(0xFF,0xFF,0xFF); 743 foreground.setRgb(0xFF,0xFF,0xFF);
741 cfg.writeEntry("Schema","16"); 744 cfg.writeEntry("Schema","16");
742 colorMenu->setItemChecked(-16,TRUE); 745 colorMenu->setItemChecked(-16,TRUE);
743 } 746 }
744 if(iD==-17) {// Black, Blue 747 if(iD==-17) {// Black, Blue
745 background.setRgb(0x00,0x00,0x00); 748 background.setRgb(0x00,0x00,0x00);
746 foreground.setRgb(0x18,0xB2,0xB2); 749 foreground.setRgb(0x18,0xB2,0xB2);
747 cfg.writeEntry("Schema","17"); 750 cfg.writeEntry("Schema","17");
748 colorMenu->setItemChecked(-17,TRUE); 751 colorMenu->setItemChecked(-17,TRUE);
749 } 752 }
750 if(iD==-18) {// Black, Gold 753 if(iD==-18) {// Black, Gold
751 background.setRgb(0x00,0x00,0x00); 754 background.setRgb(0x00,0x00,0x00);
752 foreground.setRgb(255,215,0); 755 foreground.setRgb(255,215,0);
753 cfg.writeEntry("Schema","18"); 756 cfg.writeEntry("Schema","18");
754 colorMenu->setItemChecked(-18,TRUE); 757 colorMenu->setItemChecked(-18,TRUE);
755 } 758 }
756#ifdef QWS_QT_OPIE 759#ifdef QT_QWS_OPIE
757 if(iD==-19) { 760 if(iD==-19) {
758// Custom 761// Custom
759 qDebug("do custom"); 762 qDebug("do custom");
760 if(fromMenu) { 763 if(fromMenu) {
761 ColorPopupMenu* penColorPopupMenu = new ColorPopupMenu(Qt::black, this, "foreground color"); 764 ColorPopupMenu* penColorPopupMenu = new ColorPopupMenu(Qt::black, this, "foreground color");
762 connect(penColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this, 765 connect(penColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this,
763 SLOT(changeForegroundColor(const QColor&))); 766 SLOT(changeForegroundColor(const QColor&)));
764 penColorPopupMenu->exec(); 767 penColorPopupMenu->exec();
765 } 768 }
766 cfg.writeEntry("Schema","19"); 769 cfg.writeEntry("Schema","19");
767 if(!fromMenu) { 770 if(!fromMenu) {
768 foreground.setNamedColor(cfg.readEntry("foreground","")); 771 foreground.setNamedColor(cfg.readEntry("foreground",""));
769 background.setNamedColor(cfg.readEntry("background","")); 772 background.setNamedColor(cfg.readEntry("background",""));
770 } 773 }
771 fromMenu=FALSE; 774 fromMenu=FALSE;
772 colorMenu->setItemChecked(-19,TRUE); 775 colorMenu->setItemChecked(-19,TRUE);
773 } 776 }
774#endif 777#endif
775 for (i = 0; i < TABLE_COLORS; i++) { 778 for (i = 0; i < TABLE_COLORS; i++) {
776 if(i==0 || i == 10) { 779 if(i==0 || i == 10) {
777 m_table[i].color = foreground; 780 m_table[i].color = foreground;
778 } 781 }
779 else if(i==1 || i == 11) { 782 else if(i==1 || i == 11) {
780 m_table[i].color = background; m_table[i].transparent=0; 783 m_table[i].color = background; m_table[i].transparent=0;
781 } 784 }
782 else 785 else
783 m_table[i].color = defaultCt[i].color; 786 m_table[i].color = defaultCt[i].color;
784 } 787 }
785 } 788 }
786 lastSelectedMenu = iD; 789 lastSelectedMenu = iD;
787 te->setColorTable(m_table); 790 te->setColorTable(m_table);
788 update(); 791 update();
789 792
790} 793}
791 794
792void Konsole::configMenuSelected(int iD) 795void Konsole::configMenuSelected(int iD)
793{ 796{
794// QString temp; 797// QString temp;
795// qDebug( temp.sprintf("configmenu %d",iD)); 798// qDebug( temp.sprintf("configmenu %d",iD));
796 TEWidget* te = getTe(); 799 TEWidget* te = getTe();
797 Config cfg("Konsole"); 800 Config cfg("Konsole");
798 cfg.setGroup("Menubar"); 801 cfg.setGroup("Menubar");
799 int i,j; 802 int i,j;
800#ifdef QWS_QT_OPIE 803#ifdef QT_QWS_OPIE
801 i=-29;j=-30; 804 i=-29;j=-30;
802#else 805#else
803 i=-28;j=-29; 806 i=-28;j=-29;
804#endif 807#endif
805 808
806 if(iD == -4) { 809 if(iD == -4) {
807 cfg.setGroup("Tabs"); 810 cfg.setGroup("Tabs");
808 QString tmp=cfg.readEntry("Position","Bottom"); 811 QString tmp=cfg.readEntry("Position","Bottom");
809 812
810 if(tmp=="Top") { 813 if(tmp=="Top") {
811 tab->setTabPosition(QTabWidget::Bottom); 814 tab->setTabPosition(QTabWidget::Bottom);
812 configMenu->changeItem( iD,"Tabs on Top"); 815 configMenu->changeItem( iD,"Tabs on Top");
813 cfg.writeEntry("Position","Bottom"); 816 cfg.writeEntry("Position","Bottom");
814 } else { 817 } else {
815 tab->setTabPosition(QTabWidget::Top); 818 tab->setTabPosition(QTabWidget::Top);
816 configMenu->changeItem( iD,"Tabs on Bottom"); 819 configMenu->changeItem( iD,"Tabs on Bottom");
817 cfg.writeEntry("Position","Top"); 820 cfg.writeEntry("Position","Top");
818 } 821 }
819 } 822 }
820 if(iD == i) { 823 if(iD == i) {
821 cfg.setGroup("ScrollBar"); 824 cfg.setGroup("ScrollBar");
822 bool b=cfg.readBoolEntry("HorzScroll",0); 825 bool b=cfg.readBoolEntry("HorzScroll",0);
823 b=!b; 826 b=!b;
824 cfg.writeEntry("HorzScroll", b ); 827 cfg.writeEntry("HorzScroll", b );
825 cfg.write(); 828 cfg.write();
826 doWrap(); 829 doWrap();
827 if(cfg.readNumEntry("Position",2) == 0) { 830 if(cfg.readNumEntry("Position",2) == 0) {
828 te->setScrollbarLocation(1); 831 te->setScrollbarLocation(1);
829 } else { 832 } else {
830 te->setScrollbarLocation(0); 833 te->setScrollbarLocation(0);
831 } 834 }
832 te->setScrollbarLocation( cfg.readNumEntry("Position",2)); 835 te->setScrollbarLocation( cfg.readNumEntry("Position",2));
833 } 836 }
834 if(iD == j) { 837 if(iD == j) {
835 cfg.setGroup("Menubar"); 838 cfg.setGroup("Menubar");
836 bool b=cfg.readBoolEntry("useBeep",0); 839 bool b=cfg.readBoolEntry("useBeep",0);
837 b=!b; 840 b=!b;
838 cfg.writeEntry("useBeep", b ); 841 cfg.writeEntry("useBeep", b );
839 cfg.write(); 842 cfg.write();
840 configMenu->setItemChecked(j,b); 843 configMenu->setItemChecked(j,b);
841 te->useBeep=b; 844 te->useBeep=b;
842 } 845 }
843} 846}
844 847
845void Konsole::changeCommand(const QString &text, int c) 848void Konsole::changeCommand(const QString &text, int c)
846{ 849{
847 Config cfg("Konsole"); 850 Config cfg("Konsole");
848 cfg.setGroup("Commands"); 851 cfg.setGroup("Commands");
@@ -955,90 +958,90 @@ void Konsole::setDocument( const QString &cmd) {
955 newSession(); 958 newSession();
956 TEWidget* te = getTe(); 959 TEWidget* te = getTe();
957 if(cmd.find("-e", 0, TRUE) != -1) { 960 if(cmd.find("-e", 0, TRUE) != -1) {
958 QString cmd2; 961 QString cmd2;
959 cmd2=cmd.right(cmd.length()-3)+" &"; 962 cmd2=cmd.right(cmd.length()-3)+" &";
960 system(cmd2.latin1()); 963 system(cmd2.latin1());
961 if(startUp <= 1 && nsessions < 2) { 964 if(startUp <= 1 && nsessions < 2) {
962 doneSession(getTe()->currentSession, 0); 965 doneSession(getTe()->currentSession, 0);
963 exit(0); 966 exit(0);
964 } else 967 } else
965 doneSession(getTe()->currentSession, 0); 968 doneSession(getTe()->currentSession, 0);
966 } else { 969 } else {
967 if (te != 0) { 970 if (te != 0) {
968 te->emitText(cmd+"\r"); 971 te->emitText(cmd+"\r");
969 } 972 }
970 } 973 }
971 startUp++; 974 startUp++;
972} 975}
973 976
974void Konsole::parseCommandLine() { 977void Konsole::parseCommandLine() {
975 QString cmd; 978 QString cmd;
976 // newSession(); 979 // newSession();
977 for (int i=1;i< qApp->argc();i++) { 980 for (int i=1;i< qApp->argc();i++) {
978 if( QString(qApp->argv()[i]) == "-e") { 981 if( QString(qApp->argv()[i]) == "-e") {
979 i++; 982 i++;
980 for ( int j=i;j< qApp->argc();j++) { 983 for ( int j=i;j< qApp->argc();j++) {
981 cmd+=QString(qApp->argv()[j])+" "; 984 cmd+=QString(qApp->argv()[j])+" ";
982 } 985 }
983 cmd.stripWhiteSpace(); 986 cmd.stripWhiteSpace();
984 system(cmd.latin1()); 987 system(cmd.latin1());
985 exit(0);//close(); 988 exit(0);//close();
986 } // end -e switch 989 } // end -e switch
987 } 990 }
988 startUp++; 991 startUp++;
989} 992}
990 993
991void Konsole::changeForegroundColor(const QColor &color) { 994void Konsole::changeForegroundColor(const QColor &color) {
992 Config cfg("Konsole"); 995 Config cfg("Konsole");
993 cfg.setGroup("Colors"); 996 cfg.setGroup("Colors");
994 int r, g, b; 997 int r, g, b;
995 color.rgb(&r,&g,&b); 998 color.rgb(&r,&g,&b);
996 foreground.setRgb(r,g,b); 999 foreground.setRgb(r,g,b);
997 1000
998 cfg.writeEntry("foreground",color.name()); 1001 cfg.writeEntry("foreground",color.name());
999 qDebug("foreground "+color.name()); 1002 qDebug("foreground "+color.name());
1000 cfg.write(); 1003 cfg.write();
1001 1004
1002qDebug("do other dialog"); 1005qDebug("do other dialog");
1003#ifdef QWS_QT_OPIE 1006#ifdef QT_QWS_OPIE
1004 1007
1005 ColorPopupMenu* penColorPopupMenu2 = new ColorPopupMenu(Qt::black, this,"background color"); 1008 ColorPopupMenu* penColorPopupMenu2 = new ColorPopupMenu(Qt::black, this,"background color");
1006 connect(penColorPopupMenu2, SIGNAL(colorSelected(const QColor&)), this, 1009 connect(penColorPopupMenu2, SIGNAL(colorSelected(const QColor&)), this,
1007 SLOT(changeBackgroundColor(const QColor&))); 1010 SLOT(changeBackgroundColor(const QColor&)));
1008 penColorPopupMenu2->exec(); 1011 penColorPopupMenu2->exec();
1009#endif 1012#endif
1010} 1013}
1011 1014
1012void Konsole::changeBackgroundColor(const QColor &color) { 1015void Konsole::changeBackgroundColor(const QColor &color) {
1013 1016
1014 qDebug("Change background"); 1017 qDebug("Change background");
1015 Config cfg("Konsole"); 1018 Config cfg("Konsole");
1016 cfg.setGroup("Colors"); 1019 cfg.setGroup("Colors");
1017 int r, g, b; 1020 int r, g, b;
1018 color.rgb(&r,&g,&b); 1021 color.rgb(&r,&g,&b);
1019 background.setRgb(r,g,b); 1022 background.setRgb(r,g,b);
1020 cfg.writeEntry("background",color.name()); 1023 cfg.writeEntry("background",color.name());
1021 qDebug("background "+color.name()); 1024 qDebug("background "+color.name());
1022 cfg.write(); 1025 cfg.write();
1023} 1026}
1024 1027
1025void Konsole::doWrap() { 1028void Konsole::doWrap() {
1026int i; 1029int i;
1027#ifdef QWS_QT_OPIE 1030#ifdef QT_QWS_OPIE
1028i=-29; 1031i=-29;
1029#else 1032#else
1030i=-28; 1033i=-28;
1031#endif 1034#endif
1032 1035
1033 Config cfg("Konsole"); 1036 Config cfg("Konsole");
1034 cfg.setGroup("ScrollBar"); 1037 cfg.setGroup("ScrollBar");
1035 TEWidget* te = getTe(); 1038 TEWidget* te = getTe();
1036 if( !cfg.readBoolEntry("HorzScroll",0)) { 1039 if( !cfg.readBoolEntry("HorzScroll",0)) {
1037 te->setWrapAt(0); 1040 te->setWrapAt(0);
1038 configMenu->setItemChecked( i,TRUE); 1041 configMenu->setItemChecked( i,TRUE);
1039 } else { 1042 } else {
1040// te->setWrapAt(90); 1043// te->setWrapAt(90);
1041 te->setWrapAt(120); 1044 te->setWrapAt(120);
1042 configMenu->setItemChecked( i,FALSE); 1045 configMenu->setItemChecked( i,FALSE);
1043 } 1046 }
1044} 1047}