summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp43
1 files changed, 34 insertions, 9 deletions
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp
index 16db0ea..06bee33 100644
--- a/core/apps/embeddedkonsole/konsole.cpp
+++ b/core/apps/embeddedkonsole/konsole.cpp
@@ -10,24 +10,25 @@
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 23
23#include <qpe/resource.h> 24#include <qpe/resource.h>
24 25
25#include <qdir.h> 26#include <qdir.h>
26#include <qevent.h> 27#include <qevent.h>
27#include <qdragobject.h> 28#include <qdragobject.h>
28#include <qobjectlist.h> 29#include <qobjectlist.h>
29#include <qtoolbutton.h> 30#include <qtoolbutton.h>
30#include <qpe/qpetoolbar.h> 31#include <qpe/qpetoolbar.h>
31#include <qpushbutton.h> 32#include <qpushbutton.h>
32#include <qfontdialog.h> 33#include <qfontdialog.h>
33#include <qglobal.h> 34#include <qglobal.h>
@@ -45,25 +46,27 @@
45#include <qstringlist.h> 46#include <qstringlist.h>
46#include <qpalette.h> 47#include <qpalette.h>
47 48
48#include <sys/wait.h> 49#include <sys/wait.h>
49#include <stdio.h> 50#include <stdio.h>
50#include <stdlib.h> 51#include <stdlib.h>
51#include <assert.h> 52#include <assert.h>
52 53
53#include "konsole.h" 54#include "konsole.h"
54#include "keytrans.h" 55#include "keytrans.h"
55#include "commandeditdialog.h" 56#include "commandeditdialog.h"
56 57
58#ifdef QWS_QT_OPIE
57#include <opie/colorpopupmenu.h> 59#include <opie/colorpopupmenu.h>
60#endif
58 61
59class EKNumTabBar : public QTabBar { 62class EKNumTabBar : public QTabBar {
60public: 63public:
61 void numberTabs() 64 void numberTabs()
62 { 65 {
63 // Yes, it really is this messy. QTabWidget needs functions 66 // Yes, it really is this messy. QTabWidget needs functions
64 // that provide acces to tabs in a sequential way. 67 // that provide acces to tabs in a sequential way.
65 int m=INT_MIN; 68 int m=INT_MIN;
66 for (int i=0; i<count(); i++) { 69 for (int i=0; i<count(); i++) {
67 QTab* left=0; 70 QTab* left=0;
68 QListIterator<QTab> it(*tabList()); 71 QListIterator<QTab> it(*tabList());
69 int x=INT_MAX; 72 int x=INT_MAX;
@@ -283,25 +286,29 @@ void Konsole::init(const char* _pgm, QStrList & _args)
283 colorMenu->insertItem(tr( "Black on White")); 286 colorMenu->insertItem(tr( "Black on White"));
284 colorMenu->insertItem(tr( "White on Black")); 287 colorMenu->insertItem(tr( "White on Black"));
285 colorMenu->insertItem(tr( "Black on Transparent")); 288 colorMenu->insertItem(tr( "Black on Transparent"));
286 colorMenu->insertItem(tr( "Black on Red")); 289 colorMenu->insertItem(tr( "Black on Red"));
287 colorMenu->insertItem(tr( "Red on Black")); 290 colorMenu->insertItem(tr( "Red on Black"));
288 colorMenu->insertItem(tr( "Green on Yellow")); 291 colorMenu->insertItem(tr( "Green on Yellow"));
289 colorMenu->insertItem(tr( "Blue on Magenta")); 292 colorMenu->insertItem(tr( "Blue on Magenta"));
290 colorMenu->insertItem(tr( "Magenta on Blue")); 293 colorMenu->insertItem(tr( "Magenta on Blue"));
291 colorMenu->insertItem(tr( "Cyan on White")); 294 colorMenu->insertItem(tr( "Cyan on White"));
292 colorMenu->insertItem(tr( "White on Cyan")); 295 colorMenu->insertItem(tr( "White on Cyan"));
293 colorMenu->insertItem(tr( "Blue on Black")); 296 colorMenu->insertItem(tr( "Blue on Black"));
294 colorMenu->insertItem(tr( "Amber on Black")); 297 colorMenu->insertItem(tr( "Amber on Black"));
298
299#ifdef QWS_QT_OPIE
295 colorMenu->insertItem(tr( "Custom")); 300 colorMenu->insertItem(tr( "Custom"));
301#endif
302
296 configMenu->insertItem(tr( "Colors") ,colorMenu); 303 configMenu->insertItem(tr( "Colors") ,colorMenu);
297 304
298 connect( fontList, SIGNAL( activated(int) ), this, SLOT( fontChanged(int) )); 305 connect( fontList, SIGNAL( activated(int) ), this, SLOT( fontChanged(int) ));
299 connect( configMenu, SIGNAL( activated(int) ), this, SLOT( configMenuSelected(int) )); 306 connect( configMenu, SIGNAL( activated(int) ), this, SLOT( configMenuSelected(int) ));
300 connect( colorMenu, SIGNAL( activated(int) ), this, SLOT( colorMenuIsSelected(int) )); 307 connect( colorMenu, SIGNAL( activated(int) ), this, SLOT( colorMenuIsSelected(int) ));
301 connect( scrollMenu, SIGNAL(activated(int)),this,SLOT(scrollMenuSelected(int))); 308 connect( scrollMenu, SIGNAL(activated(int)),this,SLOT(scrollMenuSelected(int)));
302 connect(editCommandListMenu,SIGNAL(activated(int)),this,SLOT(editCommandListMenuSelected(int))); 309 connect(editCommandListMenu,SIGNAL(activated(int)),this,SLOT(editCommandListMenuSelected(int)));
303 menuBar->insertItem( tr("Font"), fontList ); 310 menuBar->insertItem( tr("Font"), fontList );
304 menuBar->insertItem( tr("Options"), configMenu ); 311 menuBar->insertItem( tr("Options"), configMenu );
305 312
306 QPEToolBar *toolbar = new QPEToolBar( this ); 313 QPEToolBar *toolbar = new QPEToolBar( this );
307 314
@@ -733,80 +740,89 @@ void Konsole::colorMenuSelected(int iD)
733 if(iD==-17) {// Black, Blue 740 if(iD==-17) {// Black, Blue
734 background.setRgb(0x00,0x00,0x00); 741 background.setRgb(0x00,0x00,0x00);
735 foreground.setRgb(0x18,0xB2,0xB2); 742 foreground.setRgb(0x18,0xB2,0xB2);
736 cfg.writeEntry("Schema","17"); 743 cfg.writeEntry("Schema","17");
737 colorMenu->setItemChecked(-17,TRUE); 744 colorMenu->setItemChecked(-17,TRUE);
738 } 745 }
739 if(iD==-18) {// Black, Gold 746 if(iD==-18) {// Black, Gold
740 background.setRgb(0x00,0x00,0x00); 747 background.setRgb(0x00,0x00,0x00);
741 foreground.setRgb(255,215,0); 748 foreground.setRgb(255,215,0);
742 cfg.writeEntry("Schema","18"); 749 cfg.writeEntry("Schema","18");
743 colorMenu->setItemChecked(-18,TRUE); 750 colorMenu->setItemChecked(-18,TRUE);
744 } 751 }
745 if(iD==-19) {// Custom 752#ifdef QWS_QT_OPIE
753 if(iD==-19) {
754// Custom
746 qDebug("do custom"); 755 qDebug("do custom");
747 if(fromMenu) { 756 if(fromMenu) {
748 ColorPopupMenu* penColorPopupMenu = new ColorPopupMenu(Qt::black, this, "foreground color"); 757 ColorPopupMenu* penColorPopupMenu = new ColorPopupMenu(Qt::black, this, "foreground color");
749 connect(penColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this, 758 connect(penColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this,
750 SLOT(changeForegroundColor(const QColor&))); 759 SLOT(changeForegroundColor(const QColor&)));
751 penColorPopupMenu->exec(); 760 penColorPopupMenu->exec();
752 } 761 }
753 cfg.writeEntry("Schema","19"); 762 cfg.writeEntry("Schema","19");
754 if(!fromMenu) { 763 if(!fromMenu) {
755 foreground.setNamedColor(cfg.readEntry("foreground","")); 764 foreground.setNamedColor(cfg.readEntry("foreground",""));
756 background.setNamedColor(cfg.readEntry("background","")); 765 background.setNamedColor(cfg.readEntry("background",""));
757 } 766 }
758 fromMenu=FALSE; 767 fromMenu=FALSE;
759 colorMenu->setItemChecked(-19,TRUE); 768 colorMenu->setItemChecked(-19,TRUE);
760 } 769 }
761 770#endif
762 for (i = 0; i < TABLE_COLORS; i++) { 771 for (i = 0; i < TABLE_COLORS; i++) {
763 if(i==0 || i == 10) { 772 if(i==0 || i == 10) {
764 m_table[i].color = foreground; 773 m_table[i].color = foreground;
765 } 774 }
766 else if(i==1 || i == 11) { 775 else if(i==1 || i == 11) {
767 m_table[i].color = background; m_table[i].transparent=0; 776 m_table[i].color = background; m_table[i].transparent=0;
768 } 777 }
769 else 778 else
770 m_table[i].color = defaultCt[i].color; 779 m_table[i].color = defaultCt[i].color;
771 } 780 }
772 } 781 }
773 lastSelectedMenu = iD; 782 lastSelectedMenu = iD;
774 te->setColorTable(m_table); 783 te->setColorTable(m_table);
775 update(); 784 update();
776 785
777} 786}
778 787
779void Konsole::configMenuSelected(int iD) 788void Konsole::configMenuSelected(int iD)
780{ 789{
781 QString temp; 790// QString temp;
782 qDebug( temp.sprintf("configmenu %d",iD)); 791// qDebug( temp.sprintf("configmenu %d",iD));
783 TEWidget* te = getTe(); 792 TEWidget* te = getTe();
784 Config cfg("Konsole"); 793 Config cfg("Konsole");
785 cfg.setGroup("Menubar"); 794 cfg.setGroup("Menubar");
786 if( iD == -4) { 795 if( iD == -4) {
787 cfg.setGroup("Tabs"); 796 cfg.setGroup("Tabs");
788 QString tmp=cfg.readEntry("Position","Bottom"); 797 QString tmp=cfg.readEntry("Position","Bottom");
789 798
790 if(tmp=="Top") { 799 if(tmp=="Top") {
791 tab->setTabPosition(QTabWidget::Bottom); 800 tab->setTabPosition(QTabWidget::Bottom);
792 configMenu->changeItem( iD,"Tabs on Top"); 801 configMenu->changeItem( iD,"Tabs on Top");
793 cfg.writeEntry("Position","Bottom"); 802 cfg.writeEntry("Position","Bottom");
794 } else { 803 } else {
795 tab->setTabPosition(QTabWidget::Top); 804 tab->setTabPosition(QTabWidget::Top);
796 configMenu->changeItem( iD,"Tabs on Bottom"); 805 configMenu->changeItem( iD,"Tabs on Bottom");
797 cfg.writeEntry("Position","Top"); 806 cfg.writeEntry("Position","Top");
798 } 807 }
799 } 808 }
800 if( iD == -29) { 809 int i;
810#ifdef QWS_QT_OPIE
811i=-29;
812#else
813i=-28;
814#endif
815
816 if( iD == i) {
801 cfg.setGroup("ScrollBar"); 817 cfg.setGroup("ScrollBar");
802 bool b=cfg.readBoolEntry("HorzScroll",0); 818 bool b=cfg.readBoolEntry("HorzScroll",0);
803 b=!b; 819 b=!b;
804 cfg.writeEntry("HorzScroll", b ); 820 cfg.writeEntry("HorzScroll", b );
805 cfg.write(); 821 cfg.write();
806 doWrap(); 822 doWrap();
807 if(cfg.readNumEntry("Position",2) == 0) { 823 if(cfg.readNumEntry("Position",2) == 0) {
808 te->setScrollbarLocation(1); 824 te->setScrollbarLocation(1);
809 } else { 825 } else {
810 te->setScrollbarLocation(0); 826 te->setScrollbarLocation(0);
811 } 827 }
812 te->setScrollbarLocation( cfg.readNumEntry("Position",2)); 828 te->setScrollbarLocation( cfg.readNumEntry("Position",2));
@@ -962,46 +978,55 @@ void Konsole::parseCommandLine() {
962void Konsole::changeForegroundColor(const QColor &color) { 978void Konsole::changeForegroundColor(const QColor &color) {
963 Config cfg("Konsole"); 979 Config cfg("Konsole");
964 cfg.setGroup("Colors"); 980 cfg.setGroup("Colors");
965 int r, g, b; 981 int r, g, b;
966 color.rgb(&r,&g,&b); 982 color.rgb(&r,&g,&b);
967 foreground.setRgb(r,g,b); 983 foreground.setRgb(r,g,b);
968// QString colors; 984// QString colors;
969// colors.sprintf("%d,%d,%d"color.red,color.green,color.blue); 985// colors.sprintf("%d,%d,%d"color.red,color.green,color.blue);
970 cfg.writeEntry("foreground",color.name()); 986 cfg.writeEntry("foreground",color.name());
971 cfg.write(); 987 cfg.write();
972 988
973qDebug("do other dialog"); 989qDebug("do other dialog");
990#ifdef QWS_QT_OPIE
991
974 ColorPopupMenu* penColorPopupMenu2 = new ColorPopupMenu(Qt::black, this,"background color"); 992 ColorPopupMenu* penColorPopupMenu2 = new ColorPopupMenu(Qt::black, this,"background color");
975 connect(penColorPopupMenu2, SIGNAL(colorSelected(const QColor&)), this, 993 connect(penColorPopupMenu2, SIGNAL(colorSelected(const QColor&)), this,
976 SLOT(changeBackgroundColor(const QColor&))); 994 SLOT(changeBackgroundColor(const QColor&)));
977 penColorPopupMenu2->exec(); 995 penColorPopupMenu2->exec();
978 996#endif
979} 997}
980 998
981void Konsole::changeBackgroundColor(const QColor &color) { 999void Konsole::changeBackgroundColor(const QColor &color) {
982 1000
983 qDebug("Change background"); 1001 qDebug("Change background");
984 Config cfg("Konsole"); 1002 Config cfg("Konsole");
985 cfg.setGroup("Colors"); 1003 cfg.setGroup("Colors");
986 int r, g, b; 1004 int r, g, b;
987 color.rgb(&r,&g,&b); 1005 color.rgb(&r,&g,&b);
988 background.setRgb(r,g,b); 1006 background.setRgb(r,g,b);
989// QString colors; 1007// QString colors;
990// colors.sprintf("%d,%d,%d"color.red,color.green,color.blue); 1008// colors.sprintf("%d,%d,%d"color.red,color.green,color.blue);
991 cfg.writeEntry("background",color.name()); 1009 cfg.writeEntry("background",color.name());
992 cfg.write(); 1010 cfg.write();
993} 1011}
994 1012
995void Konsole::doWrap() { 1013void Konsole::doWrap() {
996 Config cfg("Konsole"); 1014int i;
1015#ifdef QWS_QT_OPIE
1016i=-29;
1017#else
1018i=-28;
1019#endif
1020
1021 Config cfg("Konsole");
997 cfg.setGroup("ScrollBar"); 1022 cfg.setGroup("ScrollBar");
998 TEWidget* te = getTe(); 1023 TEWidget* te = getTe();
999 if( !cfg.readBoolEntry("HorzScroll",0)) { 1024 if( !cfg.readBoolEntry("HorzScroll",0)) {
1000 te->setWrapAt(0); 1025 te->setWrapAt(0);
1001 configMenu->setItemChecked(-29,FALSE); 1026 configMenu->setItemChecked( i,FALSE);
1002 } else { 1027 } else {
1003 te->setWrapAt(90); 1028 te->setWrapAt(90);
1004// te->setWrapAt(120); 1029// te->setWrapAt(120);
1005 configMenu->setItemChecked(-29,TRUE); 1030 configMenu->setItemChecked( i,TRUE);
1006 } 1031 }
1007} 1032}