Diffstat (limited to 'noncore/apps/opie-console/keytrans.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/keytrans.cpp | 3 |
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 | |||
@@ -606,60 +606,63 @@ void KeyTransSymbols::defKeySyms() | |||
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 | ||
614 | KeyTransSymbols::KeyTransSymbols() | 614 | KeyTransSymbols::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 | ||
623 | static int keytab_serial = 0; //FIXME: remove,localize | 623 | static int keytab_serial = 0; //FIXME: remove,localize |
624 | 624 | ||
625 | static QIntDict<KeyTrans> * numb2keymap = 0L; | 625 | static QIntDict<KeyTrans> * numb2keymap = 0L; |
626 | static QDict<KeyTrans> * path2keymap = 0L; | 626 | static QDict<KeyTrans> * path2keymap = 0L; |
627 | 627 | ||
628 | KeyTrans* KeyTrans::find(int numb) | 628 | KeyTrans* 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 | ||
634 | KeyTrans* KeyTrans::find(const char* path) | 635 | KeyTrans* 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 | ||
640 | int KeyTrans::count() | 642 | int KeyTrans::count() |
641 | { | 643 | { |
644 | loadAll(); | ||
642 | return numb2keymap->count(); | 645 | return numb2keymap->count(); |
643 | } | 646 | } |
644 | 647 | ||
645 | void KeyTrans::addKeyTrans() | 648 | void 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 | ||
652 | void KeyTrans::loadAll() | 655 | void 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); |