summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp
index 9c1167b..c324c35 100644
--- a/core/apps/embeddedkonsole/konsole.cpp
+++ b/core/apps/embeddedkonsole/konsole.cpp
@@ -387,676 +387,676 @@ void Konsole::init(const char* _pgm, QStrList & _args)
387// if(cfg.readNumEntry("Position",2) == 0) 387// if(cfg.readNumEntry("Position",2) == 0)
388// te->setScrollbarLocation(1); 388// te->setScrollbarLocation(1);
389// else 389// else
390// te->setScrollbarLocation(0); 390// te->setScrollbarLocation(0);
391// te->setScrollbarLocation( cfg.readNumEntry("Position",2)); 391// te->setScrollbarLocation( cfg.readNumEntry("Position",2));
392// te->setWrapAt(120); 392// te->setWrapAt(120);
393// } 393// }
394 // create applications ///////////////////////////////////////////////////// 394 // create applications /////////////////////////////////////////////////////
395 setCentralWidget(tab); 395 setCentralWidget(tab);
396 396
397 // load keymaps //////////////////////////////////////////////////////////// 397 // load keymaps ////////////////////////////////////////////////////////////
398 KeyTrans::loadAll(); 398 KeyTrans::loadAll();
399 for (int i = 0; i < KeyTrans::count(); i++) 399 for (int i = 0; i < KeyTrans::count(); i++)
400 { KeyTrans* s = KeyTrans::find(i); 400 { KeyTrans* s = KeyTrans::find(i);
401 assert( s ); 401 assert( s );
402 } 402 }
403 403
404 se_pgm = _pgm; 404 se_pgm = _pgm;
405 se_args = _args; 405 se_args = _args;
406 se_args.prepend("--login"); 406 se_args.prepend("--login");
407parseCommandLine(); 407parseCommandLine();
408 // read and apply default values /////////////////////////////////////////// 408 // read and apply default values ///////////////////////////////////////////
409 resize(321, 321); // Dummy. 409 resize(321, 321); // Dummy.
410 QSize currentSize = size(); 410 QSize currentSize = size();
411 if (currentSize != size()) 411 if (currentSize != size())
412 defaultSize = size(); 412 defaultSize = size();
413} 413}
414 414
415void Konsole::show() 415void Konsole::show()
416{ 416{
417 if ( !nsessions ) { 417 if ( !nsessions ) {
418 newSession(); 418 newSession();
419 } 419 }
420 QMainWindow::show(); 420 QMainWindow::show();
421 421
422} 422}
423 423
424void Konsole::initSession(const char*, QStrList &) 424void Konsole::initSession(const char*, QStrList &)
425{ 425{
426 QMainWindow::show(); 426 QMainWindow::show();
427} 427}
428 428
429Konsole::~Konsole() 429Konsole::~Konsole()
430{ 430{
431 while (nsessions > 0) { 431 while (nsessions > 0) {
432 doneSession(getTe()->currentSession, 0); 432 doneSession(getTe()->currentSession, 0);
433 } 433 }
434 434
435 Config cfg("Konsole"); 435 Config cfg("Konsole");
436 cfg.setGroup("Konsole"); 436 cfg.setGroup("Konsole");
437 cfg.writeEntry("FontID", cfont); 437 cfg.writeEntry("FontID", cfont);
438} 438}
439 439
440void Konsole::fontChanged(int f) 440void Konsole::fontChanged(int f)
441{ 441{
442 VTFont* font = fonts.at(f); 442 VTFont* font = fonts.at(f);
443 if (font != 0) { 443 if (font != 0) {
444 for(uint i = 0; i < fonts.count(); i++) { 444 for(uint i = 0; i < fonts.count(); i++) {
445 fontList->setItemChecked(i, (i == (uint) f) ? TRUE : FALSE); 445 fontList->setItemChecked(i, (i == (uint) f) ? TRUE : FALSE);
446 } 446 }
447 447
448 cfont = f; 448 cfont = f;
449 449
450 TEWidget* te = getTe(); 450 TEWidget* te = getTe();
451 if (te != 0) { 451 if (te != 0) {
452 te->setVTFont(font->getFont()); 452 te->setVTFont(font->getFont());
453 } 453 }
454 } 454 }
455} 455}
456 456
457 457
458void Konsole::enterCommand(int c) 458void Konsole::enterCommand(int c)
459{ 459{
460 TEWidget* te = getTe(); 460 TEWidget* te = getTe();
461 if (te != 0) { 461 if (te != 0) {
462 if(!commonCombo->editable()) { 462 if(!commonCombo->editable()) {
463 QString text = commonCombo->text(c); //commonCmds[c]; 463 QString text = commonCombo->text(c); //commonCmds[c];
464 te->emitText(text); 464 te->emitText(text);
465 } else { 465 } else {
466 changeCommand( commonCombo->text(c), c); 466 changeCommand( commonCombo->text(c), c);
467 } 467 }
468 } 468 }
469} 469}
470 470
471void Konsole::hitEnter() 471void Konsole::hitEnter()
472{ 472{
473 TEWidget* te = getTe(); 473 TEWidget* te = getTe();
474 if (te != 0) { 474 if (te != 0) {
475 te->emitText(QString("\r")); 475 te->emitText(QString("\r"));
476 } 476 }
477} 477}
478 478
479void Konsole::hitSpace() 479void Konsole::hitSpace()
480{ 480{
481 TEWidget* te = getTe(); 481 TEWidget* te = getTe();
482 if (te != 0) { 482 if (te != 0) {
483 te->emitText(QString(" ")); 483 te->emitText(QString(" "));
484 } 484 }
485} 485}
486 486
487void Konsole::hitTab() 487void Konsole::hitTab()
488{ 488{
489 TEWidget* te = getTe(); 489 TEWidget* te = getTe();
490 if (te != 0) { 490 if (te != 0) {
491 te->emitText(QString("\t")); 491 te->emitText(QString("\t"));
492 } 492 }
493} 493}
494 494
495void Konsole::hitPaste() 495void Konsole::hitPaste()
496{ 496{
497 TEWidget* te = getTe(); 497 TEWidget* te = getTe();
498 if (te != 0) { 498 if (te != 0) {
499 te->pasteClipboard(); 499 te->pasteClipboard();
500 } 500 }
501} 501}
502 502
503void Konsole::hitUp() 503void Konsole::hitUp()
504{ 504{
505 TEWidget* te = getTe(); 505 TEWidget* te = getTe();
506 if (te != 0) { 506 if (te != 0) {
507 QKeyEvent ke( QKeyEvent::KeyPress, Qt::Key_Up, 0, 0); 507 QKeyEvent ke( QKeyEvent::KeyPress, Qt::Key_Up, 0, 0);
508 QApplication::sendEvent( te, &ke ); 508 QApplication::sendEvent( te, &ke );
509 } 509 }
510} 510}
511 511
512void Konsole::hitDown() 512void Konsole::hitDown()
513{ 513{
514 TEWidget* te = getTe(); 514 TEWidget* te = getTe();
515 if (te != 0) { 515 if (te != 0) {
516 QKeyEvent ke( QKeyEvent::KeyPress, Qt::Key_Down, 0, 0); 516 QKeyEvent ke( QKeyEvent::KeyPress, Qt::Key_Down, 0, 0);
517 QApplication::sendEvent( te, &ke ); 517 QApplication::sendEvent( te, &ke );
518 } 518 }
519} 519}
520 520
521/** 521/**
522 This function calculates the size of the external widget 522 This function calculates the size of the external widget
523 needed for the internal widget to be 523 needed for the internal widget to be
524 */ 524 */
525QSize Konsole::calcSize(int columns, int lines) { 525QSize Konsole::calcSize(int columns, int lines) {
526 TEWidget* te = getTe(); 526 TEWidget* te = getTe();
527 if (te != 0) { 527 if (te != 0) {
528 QSize size = te->calcSize(columns, lines); 528 QSize size = te->calcSize(columns, lines);
529 return size; 529 return size;
530 } else { 530 } else {
531 QSize size; 531 QSize size;
532 return size; 532 return size;
533 } 533 }
534} 534}
535 535
536/** 536/**
537 sets application window to a size based on columns X lines of the te 537 sets application window to a size based on columns X lines of the te
538 guest widget. Call with (0,0) for setting default size. 538 guest widget. Call with (0,0) for setting default size.
539*/ 539*/
540 540
541void Konsole::setColLin(int columns, int lines) 541void Konsole::setColLin(int columns, int lines)
542{ 542{
543 qDebug("konsole::setColLin:: Columns %d", columns); 543 qDebug("konsole::setColLin:: Columns %d", columns);
544 544
545 if ((columns==0) || (lines==0)) 545 if ((columns==0) || (lines==0))
546 { 546 {
547 if (defaultSize.isEmpty()) // not in config file : set default value 547 if (defaultSize.isEmpty()) // not in config file : set default value
548 { 548 {
549 defaultSize = calcSize(80,24); 549 defaultSize = calcSize(80,24);
550 // notifySize(24,80); // set menu items (strange arg order !) 550 // notifySize(24,80); // set menu items (strange arg order !)
551 } 551 }
552 resize(defaultSize); 552 resize(defaultSize);
553 } else { 553 } else {
554 resize(calcSize(columns, lines)); 554 resize(calcSize(columns, lines));
555 // notifySize(lines,columns); // set menu items (strange arg order !) 555 // notifySize(lines,columns); // set menu items (strange arg order !)
556 } 556 }
557} 557}
558 558
559/* 559/*
560void Konsole::setFont(int fontno) 560void Konsole::setFont(int fontno)
561{ 561{
562 QFont f; 562 QFont f;
563 if (fontno == 0) 563 if (fontno == 0)
564 f = defaultFont = QFont( "Helvetica", 12 ); 564 f = defaultFont = QFont( "Helvetica", 12 );
565 else 565 else
566 if (fonts[fontno][0] == '-') 566 if (fonts[fontno][0] == '-')
567 f.setRawName( fonts[fontno] ); 567 f.setRawName( fonts[fontno] );
568 else 568 else
569 { 569 {
570 f.setFamily(fonts[fontno]); 570 f.setFamily(fonts[fontno]);
571 f.setRawMode( TRUE ); 571 f.setRawMode( TRUE );
572 } 572 }
573 if ( !f.exactMatch() && fontno != 0) 573 if ( !f.exactMatch() && fontno != 0)
574 { 574 {
575 QString msg = i18n("Font `%1' not found.\nCheck README.linux.console for help.").arg(fonts[fontno]); 575 QString msg = i18n("Font `%1' not found.\nCheck README.linux.console for help.").arg(fonts[fontno]);
576 QMessageBox(this, msg); 576 QMessageBox(this, msg);
577 return; 577 return;
578 } 578 }
579 if (se) se->setFontNo(fontno); 579 if (se) se->setFontNo(fontno);
580 te->setVTFont(f); 580 te->setVTFont(f);
581 n_font = fontno; 581 n_font = fontno;
582} 582}
583*/ 583*/
584 584
585// --| color selection |------------------------------------------------------- 585// --| color selection |-------------------------------------------------------
586 586
587void Konsole::changeColumns(int columns) 587void Konsole::changeColumns(int columns)
588{ //FIXME this seems to cause silliness when reset command is executed 588{ //FIXME this seems to cause silliness when reset command is executed
589// qDebug("change columns"); 589// qDebug("change columns");
590// TEWidget* te = getTe(); 590// TEWidget* te = getTe();
591// if (te != 0) { 591// if (te != 0) {
592// setColLin(columns,te->Lines()); 592// setColLin(columns,te->Lines());
593// te->update(); 593// te->update();
594// } 594// }
595} 595}
596 596
597//FIXME: If a child dies during session swap, 597//FIXME: If a child dies during session swap,
598// this routine might be called before 598// this routine might be called before
599// session swap is completed. 599// session swap is completed.
600 600
601void Konsole::doneSession(TESession*, int ) 601void Konsole::doneSession(TESession*, int )
602{ 602{
603 TEWidget *te = getTe(); 603 TEWidget *te = getTe();
604 if (te != 0) { 604 if (te != 0) {
605 te->currentSession->setConnect(FALSE); 605 te->currentSession->setConnect(FALSE);
606 tab->removeTab(te); 606 tab->removeTab(te);
607 delete te->currentSession; 607 delete te->currentSession;
608 delete te; 608 delete te;
609 nsessions--; 609 nsessions--;
610 } 610 }
611 611
612 if (nsessions == 0) { 612 if (nsessions == 0) {
613 close(); 613 close();
614 } 614 }
615} 615}
616 616
617void Konsole::newSession() { 617void Konsole::newSession() {
618 if(nsessions < 15) { // seems to be something weird about 16 tabs on the Zaurus.... memory? 618 if(nsessions < 15) { // seems to be something weird about 16 tabs on the Zaurus.... memory?
619 TEWidget* te = new TEWidget(tab); 619 TEWidget* te = new TEWidget(tab);
620 Config c("Konsole"); 620 Config c("Konsole");
621 c.setGroup("Menubar"); 621 c.setGroup("Menubar");
622 te->useBeep=c.readBoolEntry("useBeep",0); 622 te->useBeep=c.readBoolEntry("useBeep",0);
623 623
624// te->setBackgroundMode(PaletteBase); //we want transparent!! 624// te->setBackgroundMode(PaletteBase); //we want transparent!!
625 te->setVTFont(fonts.at(cfont)->getFont()); 625 te->setVTFont(fonts.at(cfont)->getFont());
626 tab->addTab(te); 626 tab->addTab(te);
627 TESession* se = new TESession(this, te, se_pgm, se_args, "xterm"); 627 TESession* se = new TESession(this, te, se_pgm, se_args, "xterm");
628 te->currentSession = se; 628 te->currentSession = se;
629 connect( se, SIGNAL(done(TESession*,int)), this, SLOT(doneSession(TESession*,int)) ); 629 connect( se, SIGNAL(done(TESession*,int)), this, SLOT(doneSession(TESession*,int)) );
630 se->run(); 630 se->run();
631 se->setConnect(TRUE); 631 se->setConnect(TRUE);
632 se->setHistory(b_scroll); 632 se->setHistory(b_scroll);
633 tab->setCurrentPage(nsessions); 633 tab->setCurrentPage(nsessions);
634 nsessions++; 634 nsessions++;
635 doWrap(); 635 doWrap();
636 setColor(); 636 setColor();
637 } 637 }
638} 638}
639 639
640TEWidget* Konsole::getTe() { 640TEWidget* Konsole::getTe() {
641 if (nsessions) { 641 if (nsessions) {
642 return (TEWidget *) tab->currentPage(); 642 return (TEWidget *) tab->currentPage();
643 } else { 643 } else {
644 return 0; 644 return 0;
645 } 645 }
646} 646}
647 647
648void Konsole::switchSession(QWidget* w) { 648void Konsole::switchSession(QWidget* w) {
649 TEWidget* te = (TEWidget *) w; 649 TEWidget* te = (TEWidget *) w;
650 650
651 QFont teFnt = te->getVTFont(); 651 QFont teFnt = te->getVTFont();
652 for(uint i = 0; i < fonts.count(); i++) { 652 for(uint i = 0; i < fonts.count(); i++) {
653 VTFont *fnt = fonts.at(i); 653 VTFont *fnt = fonts.at(i);
654 bool cf = fnt->getFont() == teFnt; 654 bool cf = fnt->getFont() == teFnt;
655 fontList->setItemChecked(i, cf); 655 fontList->setItemChecked(i, cf);
656 if (cf) { 656 if (cf) {
657 cfont = i; 657 cfont = i;
658 } 658 }
659 } 659 }
660} 660}
661 661
662void Konsole::colorMenuIsSelected(int iD) { 662void Konsole::colorMenuIsSelected(int iD) {
663 fromMenu = TRUE; 663 fromMenu = TRUE;
664 colorMenuSelected(iD); 664 colorMenuSelected(iD);
665} 665}
666 666
667/// ------------------------------- some new stuff by L.J. Potter 667/// ------------------------------- some new stuff by L.J. Potter
668void Konsole::colorMenuSelected(int iD) 668void Konsole::colorMenuSelected(int iD)
669{ // this is NOT pretty, elegant or anything else besides functional 669{ // this is NOT pretty, elegant or anything else besides functional
670// QString temp; 670// QString temp;
671// qDebug( temp.sprintf("colormenu %d", iD)); 671// qDebug( temp.sprintf("colormenu %d", iD));
672 672
673 TEWidget* te = getTe(); 673 TEWidget* te = getTe();
674 Config cfg("Konsole"); 674 Config cfg("Konsole");
675 cfg.setGroup("Colors"); 675 cfg.setGroup("Colors");
676// QColor foreground; 676// QColor foreground;
677// QColor background; 677// QColor background;
678 colorMenu->setItemChecked(lastSelectedMenu,FALSE); 678 colorMenu->setItemChecked(lastSelectedMenu,FALSE);
679 ColorEntry m_table[TABLE_COLORS]; 679 ColorEntry m_table[TABLE_COLORS];
680 const ColorEntry * defaultCt=te->getdefaultColorTable(); 680 const ColorEntry * defaultCt=te->getdefaultColorTable();
681 /////////// fore back 681 /////////// fore back
682 int i; 682 int i;
683 if(iD==-9) { // default default 683 if(iD==-9) { // default default
684 for (i = 0; i < TABLE_COLORS; i++) { 684 for (i = 0; i < TABLE_COLORS; i++) {
685 m_table[i].color = defaultCt[i].color; 685 m_table[i].color = defaultCt[i].color;
686 if(i==1 || i == 11) 686 if(i==1 || i == 11)
687 m_table[i].transparent=1; 687 m_table[i].transparent=1;
688 cfg.writeEntry("Schema","9"); 688 cfg.writeEntry("Schema","9");
689 colorMenu->setItemChecked(-9,TRUE); 689 colorMenu->setItemChecked(-9,TRUE);
690 } 690 }
691 } else { 691 } else {
692 if(iD==-6) { // green black 692 if(iD==-6) { // green black
693 foreground.setRgb(0x18,255,0x18); 693 foreground.setRgb(0x18,255,0x18);
694 background.setRgb(0x00,0x00,0x00); 694 background.setRgb(0x00,0x00,0x00);
695 cfg.writeEntry("Schema","6"); 695 cfg.writeEntry("Schema","6");
696 colorMenu->setItemChecked(-6,TRUE); 696 colorMenu->setItemChecked(-6,TRUE);
697 } 697 }
698 if(iD==-7) { // black white 698 if(iD==-7) { // black white
699 foreground.setRgb(0x00,0x00,0x00); 699 foreground.setRgb(0x00,0x00,0x00);
700 background.setRgb(0xFF,0xFF,0xFF); 700 background.setRgb(0xFF,0xFF,0xFF);
701 cfg.writeEntry("Schema","7"); 701 cfg.writeEntry("Schema","7");
702 colorMenu->setItemChecked(-7,TRUE); 702 colorMenu->setItemChecked(-7,TRUE);
703 } 703 }
704 if(iD==-8) { // white black 704 if(iD==-8) { // white black
705 foreground.setRgb(0xFF,0xFF,0xFF); 705 foreground.setRgb(0xFF,0xFF,0xFF);
706 background.setRgb(0x00,0x00,0x00); 706 background.setRgb(0x00,0x00,0x00);
707 cfg.writeEntry("Schema","8"); 707 cfg.writeEntry("Schema","8");
708 colorMenu->setItemChecked(-8,TRUE); 708 colorMenu->setItemChecked(-8,TRUE);
709 } 709 }
710 if(iD==-10) {// Black, Red 710 if(iD==-10) {// Black, Red
711 foreground.setRgb(0x00,0x00,0x00); 711 foreground.setRgb(0x00,0x00,0x00);
712 background.setRgb(0xB2,0x18,0x18); 712 background.setRgb(0xB2,0x18,0x18);
713 cfg.writeEntry("Schema","10"); 713 cfg.writeEntry("Schema","10");
714 colorMenu->setItemChecked(-10,TRUE); 714 colorMenu->setItemChecked(-10,TRUE);
715 } 715 }
716 if(iD==-11) {// Red, Black 716 if(iD==-11) {// Red, Black
717 foreground.setRgb(230,31,31); //0xB2,0x18,0x18 717 foreground.setRgb(230,31,31); //0xB2,0x18,0x18
718 background.setRgb(0x00,0x00,0x00); 718 background.setRgb(0x00,0x00,0x00);
719 cfg.writeEntry("Schema","11"); 719 cfg.writeEntry("Schema","11");
720 colorMenu->setItemChecked(-11,TRUE); 720 colorMenu->setItemChecked(-11,TRUE);
721 } 721 }
722 if(iD==-12) {// Green, Yellow - is ugly 722 if(iD==-12) {// Green, Yellow - is ugly
723// foreground.setRgb(0x18,0xB2,0x18); 723// foreground.setRgb(0x18,0xB2,0x18);
724 foreground.setRgb(36,139,10); 724 foreground.setRgb(36,139,10);
725// background.setRgb(0xB2,0x68,0x18); 725// background.setRgb(0xB2,0x68,0x18);
726 background.setRgb(255,255,0); 726 background.setRgb(255,255,0);
727 cfg.writeEntry("Schema","12"); 727 cfg.writeEntry("Schema","12");
728 colorMenu->setItemChecked(-12,TRUE); 728 colorMenu->setItemChecked(-12,TRUE);
729 } 729 }
730 if(iD==-13) {// Blue, Magenta 730 if(iD==-13) {// Blue, Magenta
731 foreground.setRgb(0x18,0xB2,0xB2); 731 foreground.setRgb(0x18,0xB2,0xB2);
732 background.setRgb(0x18,0x18,0xB2); 732 background.setRgb(0x18,0x18,0xB2);
733 cfg.writeEntry("Schema","13"); 733 cfg.writeEntry("Schema","13");
734 colorMenu->setItemChecked(-13,TRUE); 734 colorMenu->setItemChecked(-13,TRUE);
735 } 735 }
736 if(iD==-14) {// Magenta, Blue 736 if(iD==-14) {// Magenta, Blue
737 foreground.setRgb(0x18,0x18,0xB2); 737 foreground.setRgb(0x18,0x18,0xB2);
738 background.setRgb(0x18,0xB2,0xB2); 738 background.setRgb(0x18,0xB2,0xB2);
739 cfg.writeEntry("Schema","14"); 739 cfg.writeEntry("Schema","14");
740 colorMenu->setItemChecked(-14,TRUE); 740 colorMenu->setItemChecked(-14,TRUE);
741 } 741 }
742 if(iD==-15) {// Cyan, White 742 if(iD==-15) {// Cyan, White
743 foreground.setRgb(0x18,0xB2,0xB2); 743 foreground.setRgb(0x18,0xB2,0xB2);
744 background.setRgb(0xFF,0xFF,0xFF); 744 background.setRgb(0xFF,0xFF,0xFF);
745 cfg.writeEntry("Schema","15"); 745 cfg.writeEntry("Schema","15");
746 colorMenu->setItemChecked(-15,TRUE); 746 colorMenu->setItemChecked(-15,TRUE);
747 } 747 }
748 if(iD==-16) {// White, Cyan 748 if(iD==-16) {// White, Cyan
749 background.setRgb(0x18,0xB2,0xB2); 749 background.setRgb(0x18,0xB2,0xB2);
750 foreground.setRgb(0xFF,0xFF,0xFF); 750 foreground.setRgb(0xFF,0xFF,0xFF);
751 cfg.writeEntry("Schema","16"); 751 cfg.writeEntry("Schema","16");
752 colorMenu->setItemChecked(-16,TRUE); 752 colorMenu->setItemChecked(-16,TRUE);
753 } 753 }
754 if(iD==-17) {// Black, Blue 754 if(iD==-17) {// Black, Blue
755 background.setRgb(0x00,0x00,0x00); 755 background.setRgb(0x00,0x00,0x00);
756 foreground.setRgb(0x18,0xB2,0xB2); 756 foreground.setRgb(0x18,0xB2,0xB2);
757 cfg.writeEntry("Schema","17"); 757 cfg.writeEntry("Schema","17");
758 colorMenu->setItemChecked(-17,TRUE); 758 colorMenu->setItemChecked(-17,TRUE);
759 } 759 }
760 if(iD==-18) {// Black, Gold 760 if(iD==-18) {// Black, Gold
761 background.setRgb(0x00,0x00,0x00); 761 background.setRgb(0x00,0x00,0x00);
762 foreground.setRgb(255,215,0); 762 foreground.setRgb(255,215,0);
763 cfg.writeEntry("Schema","18"); 763 cfg.writeEntry("Schema","18");
764 colorMenu->setItemChecked(-18,TRUE); 764 colorMenu->setItemChecked(-18,TRUE);
765 } 765 }
766#ifdef QT_QWS_OPIE 766#ifdef QT_QWS_OPIE
767 if(iD==-19) { 767 if(iD==-19) {
768// Custom 768// Custom
769 qDebug("do custom"); 769 qDebug("do custom");
770 if(fromMenu) { 770 if(fromMenu) {
771 ColorPopupMenu* penColorPopupMenu = new ColorPopupMenu(Qt::black, this, "foreground color"); 771 OColorPopupMenu* penColorPopupMenu = new OColorPopupMenu(Qt::black, this, "foreground color");
772 connect(penColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this, 772 connect(penColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this,
773 SLOT(changeForegroundColor(const QColor&))); 773 SLOT(changeForegroundColor(const QColor&)));
774 penColorPopupMenu->exec(); 774 penColorPopupMenu->exec();
775 } 775 }
776 cfg.writeEntry("Schema","19"); 776 cfg.writeEntry("Schema","19");
777 if(!fromMenu) { 777 if(!fromMenu) {
778 foreground.setNamedColor(cfg.readEntry("foreground","")); 778 foreground.setNamedColor(cfg.readEntry("foreground",""));
779 background.setNamedColor(cfg.readEntry("background","")); 779 background.setNamedColor(cfg.readEntry("background",""));
780 } 780 }
781 fromMenu=FALSE; 781 fromMenu=FALSE;
782 colorMenu->setItemChecked(-19,TRUE); 782 colorMenu->setItemChecked(-19,TRUE);
783 } 783 }
784#endif 784#endif
785 for (i = 0; i < TABLE_COLORS; i++) { 785 for (i = 0; i < TABLE_COLORS; i++) {
786 if(i==0 || i == 10) { 786 if(i==0 || i == 10) {
787 m_table[i].color = foreground; 787 m_table[i].color = foreground;
788 } 788 }
789 else if(i==1 || i == 11) { 789 else if(i==1 || i == 11) {
790 m_table[i].color = background; m_table[i].transparent=0; 790 m_table[i].color = background; m_table[i].transparent=0;
791 } 791 }
792 else 792 else
793 m_table[i].color = defaultCt[i].color; 793 m_table[i].color = defaultCt[i].color;
794 } 794 }
795 } 795 }
796 lastSelectedMenu = iD; 796 lastSelectedMenu = iD;
797 te->setColorTable(m_table); 797 te->setColorTable(m_table);
798 update(); 798 update();
799 799
800} 800}
801 801
802void Konsole::configMenuSelected(int iD) 802void Konsole::configMenuSelected(int iD)
803{ 803{
804// QString temp; 804// QString temp;
805// qDebug( temp.sprintf("configmenu %d",iD)); 805// qDebug( temp.sprintf("configmenu %d",iD));
806 806
807 TEWidget* te = getTe(); 807 TEWidget* te = getTe();
808 Config cfg("Konsole"); 808 Config cfg("Konsole");
809 cfg.setGroup("Menubar"); 809 cfg.setGroup("Menubar");
810 int i,j; 810 int i,j;
811#ifdef QT_QWS_OPIE 811#ifdef QT_QWS_OPIE
812 i=-29;j=-30; 812 i=-29;j=-30;
813#else 813#else
814 i=-28;j=-29; 814 i=-28;j=-29;
815#endif 815#endif
816 816
817 if(iD == -4) { 817 if(iD == -4) {
818 cfg.setGroup("Tabs"); 818 cfg.setGroup("Tabs");
819 QString tmp=cfg.readEntry("Position","Bottom"); 819 QString tmp=cfg.readEntry("Position","Bottom");
820 820
821 if(tmp=="Top") { 821 if(tmp=="Top") {
822 tab->setTabPosition(QTabWidget::Bottom); 822 tab->setTabPosition(QTabWidget::Bottom);
823 configMenu->changeItem( iD, tr("Tabs on Top")); 823 configMenu->changeItem( iD, tr("Tabs on Top"));
824 cfg.writeEntry("Position","Bottom"); 824 cfg.writeEntry("Position","Bottom");
825 } else { 825 } else {
826 tab->setTabPosition(QTabWidget::Top); 826 tab->setTabPosition(QTabWidget::Top);
827 configMenu->changeItem( iD, tr("Tabs on Bottom")); 827 configMenu->changeItem( iD, tr("Tabs on Bottom"));
828 cfg.writeEntry("Position","Top"); 828 cfg.writeEntry("Position","Top");
829 } 829 }
830 } 830 }
831 if(iD == i) { 831 if(iD == i) {
832 cfg.setGroup("ScrollBar"); 832 cfg.setGroup("ScrollBar");
833 bool b=cfg.readBoolEntry("HorzScroll",0); 833 bool b=cfg.readBoolEntry("HorzScroll",0);
834 b=!b; 834 b=!b;
835 cfg.writeEntry("HorzScroll", b ); 835 cfg.writeEntry("HorzScroll", b );
836 cfg.write(); 836 cfg.write();
837 doWrap(); 837 doWrap();
838 if(cfg.readNumEntry("Position",2) == 0) { 838 if(cfg.readNumEntry("Position",2) == 0) {
839 te->setScrollbarLocation(1); 839 te->setScrollbarLocation(1);
840 } else { 840 } else {
841 te->setScrollbarLocation(0); 841 te->setScrollbarLocation(0);
842 } 842 }
843 te->setScrollbarLocation( cfg.readNumEntry("Position",2)); 843 te->setScrollbarLocation( cfg.readNumEntry("Position",2));
844 } 844 }
845 if(iD == j) { 845 if(iD == j) {
846 cfg.setGroup("Menubar"); 846 cfg.setGroup("Menubar");
847 bool b=cfg.readBoolEntry("useBeep",0); 847 bool b=cfg.readBoolEntry("useBeep",0);
848 b=!b; 848 b=!b;
849 cfg.writeEntry("useBeep", b ); 849 cfg.writeEntry("useBeep", b );
850 cfg.write(); 850 cfg.write();
851 configMenu->setItemChecked(j,b); 851 configMenu->setItemChecked(j,b);
852 te->useBeep=b; 852 te->useBeep=b;
853 } 853 }
854} 854}
855 855
856void Konsole::changeCommand(const QString &text, int c) 856void Konsole::changeCommand(const QString &text, int c)
857{ 857{
858 Config cfg("Konsole"); 858 Config cfg("Konsole");
859 cfg.setGroup("Commands"); 859 cfg.setGroup("Commands");
860 if(commonCmds[c] != text) { 860 if(commonCmds[c] != text) {
861 cfg.writeEntry(QString::number(c),text); 861 cfg.writeEntry(QString::number(c),text);
862 commonCombo->clearEdit(); 862 commonCombo->clearEdit();
863 commonCombo->setCurrentItem(c); 863 commonCombo->setCurrentItem(c);
864 } 864 }
865} 865}
866 866
867void Konsole::setColor() 867void Konsole::setColor()
868{ 868{
869 Config cfg("Konsole"); 869 Config cfg("Konsole");
870 cfg.setGroup("Colors"); 870 cfg.setGroup("Colors");
871 int scheme = cfg.readNumEntry("Schema",1); 871 int scheme = cfg.readNumEntry("Schema",1);
872 if(scheme != 1) colorMenuSelected( -scheme); 872 if(scheme != 1) colorMenuSelected( -scheme);
873} 873}
874 874
875void Konsole::scrollMenuSelected(int index) 875void Konsole::scrollMenuSelected(int index)
876{ 876{
877// qDebug( "scrollbar menu %d",index); 877// qDebug( "scrollbar menu %d",index);
878 878
879 TEWidget* te = getTe(); 879 TEWidget* te = getTe();
880 Config cfg("Konsole"); 880 Config cfg("Konsole");
881 cfg.setGroup("ScrollBar"); 881 cfg.setGroup("ScrollBar");
882 int i,j,k; 882 int i,j,k;
883#ifdef QT_QWS_OPIE 883#ifdef QT_QWS_OPIE
884i=-25;j=-26;k=-27; 884i=-25;j=-26;k=-27;
885#else 885#else
886i=-24;j=-25;k=-26; 886i=-24;j=-25;k=-26;
887#endif 887#endif
888 if(index == i) { 888 if(index == i) {
889 889
890 te->setScrollbarLocation(0); 890 te->setScrollbarLocation(0);
891 cfg.writeEntry("Position",0); 891 cfg.writeEntry("Position",0);
892 } else if(index == j) { 892 } else if(index == j) {
893 893
894 te->setScrollbarLocation(1); 894 te->setScrollbarLocation(1);
895 cfg.writeEntry("Position",1); 895 cfg.writeEntry("Position",1);
896 } else if(index == k) { 896 } else if(index == k) {
897 897
898 te->setScrollbarLocation(2); 898 te->setScrollbarLocation(2);
899 cfg.writeEntry("Position",2); 899 cfg.writeEntry("Position",2);
900 } 900 }
901 901
902// case -29: { 902// case -29: {
903// bool b=cfg.readBoolEntry("HorzScroll",0); 903// bool b=cfg.readBoolEntry("HorzScroll",0);
904// cfg.writeEntry("HorzScroll", !b ); 904// cfg.writeEntry("HorzScroll", !b );
905// cfg.write(); 905// cfg.write();
906// if(cfg.readNumEntry("Position",2) == 0) { 906// if(cfg.readNumEntry("Position",2) == 0) {
907// te->setScrollbarLocation(1); 907// te->setScrollbarLocation(1);
908// te->setWrapAt(0); 908// te->setWrapAt(0);
909// } else { 909// } else {
910// te->setScrollbarLocation(0); 910// te->setScrollbarLocation(0);
911// te->setWrapAt(120); 911// te->setWrapAt(120);
912// } 912// }
913// te->setScrollbarLocation( cfg.readNumEntry("Position",2)); 913// te->setScrollbarLocation( cfg.readNumEntry("Position",2));
914// } 914// }
915// break; 915// break;
916} 916}
917 917
918void Konsole::editCommandListMenuSelected(int iD) 918void Konsole::editCommandListMenuSelected(int iD)
919{ 919{
920// QString temp; 920// QString temp;
921// qDebug( temp.sprintf("edit command list %d",iD)); 921// qDebug( temp.sprintf("edit command list %d",iD));
922 TEWidget* te = getTe(); 922 TEWidget* te = getTe();
923 Config cfg("Konsole"); 923 Config cfg("Konsole");
924 cfg.setGroup("Menubar"); 924 cfg.setGroup("Menubar");
925 if( iD == -3) { 925 if( iD == -3) {
926 if(!secondToolBar->isHidden()) { 926 if(!secondToolBar->isHidden()) {
927 secondToolBar->hide(); 927 secondToolBar->hide();
928 configMenu->changeItem( iD,tr( "Show Command List" )); 928 configMenu->changeItem( iD,tr( "Show Command List" ));
929 cfg.writeEntry("Hidden","TRUE"); 929 cfg.writeEntry("Hidden","TRUE");
930 configMenu->setItemEnabled(-23 ,FALSE); 930 configMenu->setItemEnabled(-23 ,FALSE);
931 } else { 931 } else {
932 secondToolBar->show(); 932 secondToolBar->show();
933 configMenu->changeItem( iD,tr( "Hide Command List" )); 933 configMenu->changeItem( iD,tr( "Hide Command List" ));
934 cfg.writeEntry("Hidden","FALSE"); 934 cfg.writeEntry("Hidden","FALSE");
935 configMenu->setItemEnabled(-23 ,TRUE); 935 configMenu->setItemEnabled(-23 ,TRUE);
936 936
937 if(cfg.readEntry("EditEnabled","FALSE")=="TRUE") { 937 if(cfg.readEntry("EditEnabled","FALSE")=="TRUE") {
938 configMenu->setItemChecked(-23,TRUE); 938 configMenu->setItemChecked(-23,TRUE);
939 commonCombo->setEditable( TRUE ); 939 commonCombo->setEditable( TRUE );
940 } else { 940 } else {
941 configMenu->setItemChecked(-23,FALSE); 941 configMenu->setItemChecked(-23,FALSE);
942 commonCombo->setEditable( FALSE ); 942 commonCombo->setEditable( FALSE );
943 } 943 }
944 } 944 }
945 } 945 }
946 if( iD == -23) { 946 if( iD == -23) {
947 cfg.setGroup("Commands"); 947 cfg.setGroup("Commands");
948// qDebug("enableCommandEdit"); 948// qDebug("enableCommandEdit");
949 if( !configMenu->isItemChecked(iD) ) { 949 if( !configMenu->isItemChecked(iD) ) {
950 commonCombo->setEditable( TRUE ); 950 commonCombo->setEditable( TRUE );
951 configMenu->setItemChecked(iD,TRUE); 951 configMenu->setItemChecked(iD,TRUE);
952 commonCombo->setCurrentItem(0); 952 commonCombo->setCurrentItem(0);
953 cfg.writeEntry("EditEnabled","TRUE"); 953 cfg.writeEntry("EditEnabled","TRUE");
954 } else { 954 } else {
955 commonCombo->setEditable( FALSE ); 955 commonCombo->setEditable( FALSE );
956 configMenu->setItemChecked(iD,FALSE); 956 configMenu->setItemChecked(iD,FALSE);
957 cfg.writeEntry("EditEnabled","FALSE"); 957 cfg.writeEntry("EditEnabled","FALSE");
958 commonCombo->setFocusPolicy(QWidget::NoFocus); 958 commonCombo->setFocusPolicy(QWidget::NoFocus);
959 te->setFocus(); 959 te->setFocus();
960 } 960 }
961 } 961 }
962 if(iD == -24) { 962 if(iD == -24) {
963 // "edit commands" 963 // "edit commands"
964 CommandEditDialog *m = new CommandEditDialog(this); 964 CommandEditDialog *m = new CommandEditDialog(this);
965 connect(m,SIGNAL(commandsEdited()),this,SLOT(initCommandList())); 965 connect(m,SIGNAL(commandsEdited()),this,SLOT(initCommandList()));
966 m->showMaximized(); 966 m->showMaximized();
967 } 967 }
968 968
969} 969}
970 970
971// $QPEDIR/bin/qcop QPE/Application/embeddedkonsole 'setDocument(QString)' 'ssh -V' 971// $QPEDIR/bin/qcop QPE/Application/embeddedkonsole 'setDocument(QString)' 'ssh -V'
972void Konsole::setDocument( const QString &cmd) { 972void Konsole::setDocument( const QString &cmd) {
973 newSession(); 973 newSession();
974 TEWidget* te = getTe(); 974 TEWidget* te = getTe();
975 if(cmd.find("-e", 0, TRUE) != -1) { 975 if(cmd.find("-e", 0, TRUE) != -1) {
976 QString cmd2; 976 QString cmd2;
977 cmd2=cmd.right(cmd.length()-3)+" &"; 977 cmd2=cmd.right(cmd.length()-3)+" &";
978 system(cmd2.latin1()); 978 system(cmd2.latin1());
979 if(startUp <= 1 && nsessions < 2) { 979 if(startUp <= 1 && nsessions < 2) {
980 doneSession(getTe()->currentSession, 0); 980 doneSession(getTe()->currentSession, 0);
981 exit(0); 981 exit(0);
982 } else 982 } else
983 doneSession(getTe()->currentSession, 0); 983 doneSession(getTe()->currentSession, 0);
984 } else { 984 } else {
985 if (te != 0) { 985 if (te != 0) {
986 te->emitText(cmd+"\r"); 986 te->emitText(cmd+"\r");
987 } 987 }
988 } 988 }
989 startUp++; 989 startUp++;
990} 990}
991 991
992void Konsole::parseCommandLine() { 992void Konsole::parseCommandLine() {
993 QString cmd; 993 QString cmd;
994 // newSession(); 994 // newSession();
995 for (int i=1;i< qApp->argc();i++) { 995 for (int i=1;i< qApp->argc();i++) {
996 if( QString(qApp->argv()[i]) == "-e") { 996 if( QString(qApp->argv()[i]) == "-e") {
997 i++; 997 i++;
998 for ( int j=i;j< qApp->argc();j++) { 998 for ( int j=i;j< qApp->argc();j++) {
999 cmd+=QString(qApp->argv()[j])+" "; 999 cmd+=QString(qApp->argv()[j])+" ";
1000 } 1000 }
1001 cmd.stripWhiteSpace(); 1001 cmd.stripWhiteSpace();
1002 system(cmd.latin1()); 1002 system(cmd.latin1());
1003 exit(0);//close(); 1003 exit(0);//close();
1004 } // end -e switch 1004 } // end -e switch
1005 } 1005 }
1006 startUp++; 1006 startUp++;
1007} 1007}
1008 1008
1009void Konsole::changeForegroundColor(const QColor &color) { 1009void Konsole::changeForegroundColor(const QColor &color) {
1010 Config cfg("Konsole"); 1010 Config cfg("Konsole");
1011 cfg.setGroup("Colors"); 1011 cfg.setGroup("Colors");
1012 int r, g, b; 1012 int r, g, b;
1013 color.rgb(&r,&g,&b); 1013 color.rgb(&r,&g,&b);
1014 foreground.setRgb(r,g,b); 1014 foreground.setRgb(r,g,b);
1015 1015
1016 cfg.writeEntry("foreground",color.name()); 1016 cfg.writeEntry("foreground",color.name());
1017 qDebug("foreground "+color.name()); 1017 qDebug("foreground "+color.name());
1018 cfg.write(); 1018 cfg.write();
1019 1019
1020qDebug("do other dialog"); 1020qDebug("do other dialog");
1021#ifdef QT_QWS_OPIE 1021#ifdef QT_QWS_OPIE
1022 1022
1023 ColorPopupMenu* penColorPopupMenu2 = new ColorPopupMenu(Qt::black, this,"background color"); 1023 OColorPopupMenu* penColorPopupMenu2 = new OColorPopupMenu(Qt::black, this,"background color");
1024 connect(penColorPopupMenu2, SIGNAL(colorSelected(const QColor&)), this, 1024 connect(penColorPopupMenu2, SIGNAL(colorSelected(const QColor&)), this,
1025 SLOT(changeBackgroundColor(const QColor&))); 1025 SLOT(changeBackgroundColor(const QColor&)));
1026 penColorPopupMenu2->exec(); 1026 penColorPopupMenu2->exec();
1027#endif 1027#endif
1028} 1028}
1029 1029
1030void Konsole::changeBackgroundColor(const QColor &color) { 1030void Konsole::changeBackgroundColor(const QColor &color) {
1031 1031
1032 qDebug("Change background"); 1032 qDebug("Change background");
1033 Config cfg("Konsole"); 1033 Config cfg("Konsole");
1034 cfg.setGroup("Colors"); 1034 cfg.setGroup("Colors");
1035 int r, g, b; 1035 int r, g, b;
1036 color.rgb(&r,&g,&b); 1036 color.rgb(&r,&g,&b);
1037 background.setRgb(r,g,b); 1037 background.setRgb(r,g,b);
1038 cfg.writeEntry("background",color.name()); 1038 cfg.writeEntry("background",color.name());
1039 qDebug("background "+color.name()); 1039 qDebug("background "+color.name());
1040 cfg.write(); 1040 cfg.write();
1041} 1041}
1042 1042
1043void Konsole::doWrap() { 1043void Konsole::doWrap() {
1044int i; 1044int i;
1045#ifdef QT_QWS_OPIE 1045#ifdef QT_QWS_OPIE
1046i=-29; 1046i=-29;
1047#else 1047#else
1048i=-28; 1048i=-28;
1049#endif 1049#endif
1050 1050
1051 Config cfg("Konsole"); 1051 Config cfg("Konsole");
1052 cfg.setGroup("ScrollBar"); 1052 cfg.setGroup("ScrollBar");
1053 TEWidget* te = getTe(); 1053 TEWidget* te = getTe();
1054 if( !cfg.readBoolEntry("HorzScroll",0)) { 1054 if( !cfg.readBoolEntry("HorzScroll",0)) {
1055 te->setWrapAt(0); 1055 te->setWrapAt(0);
1056 configMenu->setItemChecked( i,TRUE); 1056 configMenu->setItemChecked( i,TRUE);
1057 } else { 1057 } else {
1058// te->setWrapAt(90); 1058// te->setWrapAt(90);
1059 te->setWrapAt(120); 1059 te->setWrapAt(120);
1060 configMenu->setItemChecked( i,FALSE); 1060 configMenu->setItemChecked( i,FALSE);
1061 } 1061 }
1062} 1062}