summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/keytrans.cpp
Unidiff
Diffstat (limited to 'noncore/apps/opie-console/keytrans.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/keytrans.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/noncore/apps/opie-console/keytrans.cpp b/noncore/apps/opie-console/keytrans.cpp
index d569ae0..5ea192e 100644
--- a/noncore/apps/opie-console/keytrans.cpp
+++ b/noncore/apps/opie-console/keytrans.cpp
@@ -582,108 +582,111 @@ void KeyTransSymbols::defKeySyms()
582 defKeySym("G", Qt::Key_G ); 582 defKeySym("G", Qt::Key_G );
583 defKeySym("H", Qt::Key_H ); 583 defKeySym("H", Qt::Key_H );
584 defKeySym("I", Qt::Key_I ); 584 defKeySym("I", Qt::Key_I );
585 defKeySym("J", Qt::Key_J ); 585 defKeySym("J", Qt::Key_J );
586 defKeySym("K", Qt::Key_K ); 586 defKeySym("K", Qt::Key_K );
587 defKeySym("L", Qt::Key_L ); 587 defKeySym("L", Qt::Key_L );
588 defKeySym("M", Qt::Key_M ); 588 defKeySym("M", Qt::Key_M );
589 defKeySym("N", Qt::Key_N ); 589 defKeySym("N", Qt::Key_N );
590 defKeySym("O", Qt::Key_O ); 590 defKeySym("O", Qt::Key_O );
591 defKeySym("P", Qt::Key_P ); 591 defKeySym("P", Qt::Key_P );
592 defKeySym("Q", Qt::Key_Q ); 592 defKeySym("Q", Qt::Key_Q );
593 defKeySym("R", Qt::Key_R ); 593 defKeySym("R", Qt::Key_R );
594 defKeySym("S", Qt::Key_S ); 594 defKeySym("S", Qt::Key_S );
595 defKeySym("T", Qt::Key_T ); 595 defKeySym("T", Qt::Key_T );
596 defKeySym("U", Qt::Key_U ); 596 defKeySym("U", Qt::Key_U );
597 defKeySym("V", Qt::Key_V ); 597 defKeySym("V", Qt::Key_V );
598 defKeySym("W", Qt::Key_W ); 598 defKeySym("W", Qt::Key_W );
599 defKeySym("X", Qt::Key_X ); 599 defKeySym("X", Qt::Key_X );
600 defKeySym("Y", Qt::Key_Y ); 600 defKeySym("Y", Qt::Key_Y );
601 defKeySym("Z", Qt::Key_Z ); 601 defKeySym("Z", Qt::Key_Z );
602 defKeySym("BracketLeft", Qt::Key_BracketLeft ); 602 defKeySym("BracketLeft", Qt::Key_BracketLeft );
603 defKeySym("Backslash", Qt::Key_Backslash ); 603 defKeySym("Backslash", Qt::Key_Backslash );
604 defKeySym("BracketRight", Qt::Key_BracketRight); 604 defKeySym("BracketRight", Qt::Key_BracketRight);
605 defKeySym("AsciiCircum", Qt::Key_AsciiCircum ); 605 defKeySym("AsciiCircum", Qt::Key_AsciiCircum );
606 defKeySym("Underscore", Qt::Key_Underscore ); 606 defKeySym("Underscore", Qt::Key_Underscore );
607 defKeySym("QuoteLeft", Qt::Key_QuoteLeft ); 607 defKeySym("QuoteLeft", Qt::Key_QuoteLeft );
608 defKeySym("BraceLeft", Qt::Key_BraceLeft ); 608 defKeySym("BraceLeft", Qt::Key_BraceLeft );
609 defKeySym("Bar", Qt::Key_Bar ); 609 defKeySym("Bar", Qt::Key_Bar );
610 defKeySym("BraceRight", Qt::Key_BraceRight ); 610 defKeySym("BraceRight", Qt::Key_BraceRight );
611 defKeySym("AsciiTilde", Qt::Key_AsciiTilde ); 611 defKeySym("AsciiTilde", Qt::Key_AsciiTilde );
612} 612}
613 613
614KeyTransSymbols::KeyTransSymbols() 614KeyTransSymbols::KeyTransSymbols()
615{ 615{
616 defModSyms(); 616 defModSyms();
617 defOprSyms(); 617 defOprSyms();
618 defKeySyms(); 618 defKeySyms();
619} 619}
620 620
621// Global material ----------------------------------------------------------- 621// Global material -----------------------------------------------------------
622 622
623static int keytab_serial = 0; //FIXME: remove,localize 623static int keytab_serial = 0; //FIXME: remove,localize
624 624
625static QIntDict<KeyTrans> * numb2keymap = 0L; 625static QIntDict<KeyTrans> * numb2keymap = 0L;
626static QDict<KeyTrans> * path2keymap = 0L; 626static QDict<KeyTrans> * path2keymap = 0L;
627 627
628KeyTrans* KeyTrans::find(int numb) 628KeyTrans* KeyTrans::find(int numb)
629{ 629{
630 loadAll();
630 KeyTrans* res = numb2keymap->find(numb); 631 KeyTrans* res = numb2keymap->find(numb);
631 return res ? res : numb2keymap->find(0); 632 return res ? res : numb2keymap->find(0);
632} 633}
633 634
634KeyTrans* KeyTrans::find(const char* path) 635KeyTrans* KeyTrans::find(const char* path)
635{ 636{
637 loadAll();
636 KeyTrans* res = path2keymap->find(path); 638 KeyTrans* res = path2keymap->find(path);
637 return res ? res : numb2keymap->find(0); 639 return res ? res : numb2keymap->find(0);
638} 640}
639 641
640int KeyTrans::count() 642int KeyTrans::count()
641{ 643{
644 loadAll();
642 return numb2keymap->count(); 645 return numb2keymap->count();
643} 646}
644 647
645void KeyTrans::addKeyTrans() 648void KeyTrans::addKeyTrans()
646{ 649{
647 this->numb = keytab_serial ++; 650 this->numb = keytab_serial ++;
648 numb2keymap->insert(numb,this); 651 numb2keymap->insert(numb,this);
649 path2keymap->insert(path,this); 652 path2keymap->insert(path,this);
650} 653}
651 654
652void KeyTrans::loadAll() 655void KeyTrans::loadAll()
653{ 656{
654 if (!numb2keymap) 657 if (!numb2keymap)
655 numb2keymap = new QIntDict<KeyTrans>; 658 numb2keymap = new QIntDict<KeyTrans>;
656 if (!path2keymap) 659 if (!path2keymap)
657 path2keymap = new QDict<KeyTrans>; 660 path2keymap = new QDict<KeyTrans>;
658 if (!syms) 661 if (!syms)
659 syms = new KeyTransSymbols; 662 syms = new KeyTransSymbols;
660 663
661 defaultKeyTrans()->addKeyTrans(); 664 defaultKeyTrans()->addKeyTrans();
662 665
663 666
664 QString path = QPEApplication::qpeDir() + "etc/keytabs"; 667 QString path = QPEApplication::qpeDir() + "etc/keytabs";
665 QDir dir(path); 668 QDir dir(path);
666 QStringList lst = dir.entryList("*.keytab"); 669 QStringList lst = dir.entryList("*.keytab");
667 670
668 for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { 671 for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) {
669 QFile file(path + "/" + *it); 672 QFile file(path + "/" + *it);
670 KeyTrans* sc = KeyTrans::fromDevice(*it, file); 673 KeyTrans* sc = KeyTrans::fromDevice(*it, file);
671 if (sc) { 674 if (sc) {
672 sc->addKeyTrans(); 675 sc->addKeyTrans();
673 } 676 }
674 } 677 }
675 678
676} 679}
677 680
678// Debugging material ----------------------------------------------------------- 681// Debugging material -----------------------------------------------------------
679/* 682/*
680void TestTokenizer(QBuffer &buf) 683void TestTokenizer(QBuffer &buf)
681{ 684{
682 // opening sequence 685 // opening sequence
683 686
684 buf.open(IO_ReadOnly); 687 buf.open(IO_ReadOnly);
685 cc = buf.getch(); 688 cc = buf.getch();
686 lineno = 1; 689 lineno = 1;
687 690
688 // Test tokenizer 691 // Test tokenizer
689 692