-rw-r--r-- | libopie2/opiecore/okeyconfigmanager.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libopie2/opiecore/okeyconfigmanager.cpp b/libopie2/opiecore/okeyconfigmanager.cpp index 18740ef..ad0f7f7 100644 --- a/libopie2/opiecore/okeyconfigmanager.cpp +++ b/libopie2/opiecore/okeyconfigmanager.cpp | |||
@@ -484,48 +484,51 @@ OKeyConfigManager::OKeyConfigManager( Opie::Core::OConfig* conf, | |||
484 | if ( m_grab ) | 484 | if ( m_grab ) |
485 | QPEApplication::grabKeyboard(); | 485 | QPEApplication::grabKeyboard(); |
486 | m_event_mask = OKeyConfigManager::MaskReleased; | 486 | m_event_mask = OKeyConfigManager::MaskReleased; |
487 | } | 487 | } |
488 | 488 | ||
489 | 489 | ||
490 | /** | 490 | /** |
491 | * Destructor | 491 | * Destructor |
492 | */ | 492 | */ |
493 | OKeyConfigManager::~OKeyConfigManager() { | 493 | OKeyConfigManager::~OKeyConfigManager() { |
494 | if ( m_grab ) | 494 | if ( m_grab ) |
495 | QPEApplication::ungrabKeyboard(); | 495 | QPEApplication::ungrabKeyboard(); |
496 | delete m_map; | ||
496 | } | 497 | } |
497 | 498 | ||
498 | /** | 499 | /** |
499 | * Load the Configuration from the OConfig | 500 | * Load the Configuration from the OConfig |
500 | * If a Key is restricted but was in the config we will | 501 | * If a Key is restricted but was in the config we will |
501 | * make it be the empty key paur | 502 | * make it be the empty key paur |
502 | * We will change the group but restore to the previous. | 503 | * We will change the group but restore to the previous. |
503 | * | 504 | * |
504 | * @see OKeyPair::emptyKey | 505 | * @see OKeyPair::emptyKey |
505 | */ | 506 | */ |
506 | void OKeyConfigManager::load() { | 507 | void OKeyConfigManager::load() { |
507 | Opie::Core::OConfigGroupSaver( m_conf, m_group ); | 508 | Opie::Core::OConfigGroupSaver( m_conf, m_group ); |
508 | 509 | ||
509 | /* | 510 | /* |
510 | * Read each item | 511 | * Read each item |
511 | */ | 512 | */ |
512 | int key, mod; | 513 | int key, mod; |
513 | for( OKeyConfigItem::List::Iterator it = m_keys.begin(); it != m_keys.end(); ++it ) { | 514 | for( OKeyConfigItem::List::Iterator it = m_keys.begin(); it != m_keys.end(); ++it ) { |
514 | key = m_conf->readNumEntry( (*it).configKey()+"key", (*it).defaultKeyPair().keycode() ); | 515 | key = m_conf->readNumEntry( (*it).configKey()+"key", |
515 | mod = m_conf->readNumEntry( (*it).configKey()+"mod", (*it).defaultKeyPair().modifier() ); | 516 | (*it).defaultKeyPair().keycode() ); |
517 | mod = m_conf->readNumEntry( (*it).configKey()+"mod", | ||
518 | (*it).defaultKeyPair().modifier() ); | ||
516 | OKeyPair okey( key, mod ); | 519 | OKeyPair okey( key, mod ); |
517 | 520 | ||
518 | if ( !m_blackKeys.contains( okey ) && key != -1 && mod != -1 ) | 521 | if ( !m_blackKeys.contains( okey ) && key != -1 && mod != -1 ) |
519 | (*it).setKeyPair( OKeyPair(key, mod) ); | 522 | (*it).setKeyPair( okey ); |
520 | else | 523 | else |
521 | (*it).setKeyPair( OKeyPair::emptyKey() ); | 524 | (*it).setKeyPair( OKeyPair::emptyKey() ); |
522 | } | 525 | } |
523 | delete m_map; m_map = 0; | 526 | delete m_map; m_map = 0; |
524 | } | 527 | } |
525 | 528 | ||
526 | /** | 529 | /** |
527 | * We will save the current configuration | 530 | * We will save the current configuration |
528 | * to the OConfig. We will change the group but restore | 531 | * to the OConfig. We will change the group but restore |
529 | * to the previous | 532 | * to the previous |
530 | */ | 533 | */ |
531 | void OKeyConfigManager::save() { | 534 | void OKeyConfigManager::save() { |
@@ -676,24 +679,27 @@ OKeyPair::List OKeyConfigManager::blackList()const { | |||
676 | */ | 679 | */ |
677 | void OKeyConfigManager::handleWidget( QWidget* wid ) { | 680 | void OKeyConfigManager::handleWidget( QWidget* wid ) { |
678 | wid->installEventFilter( this ); | 681 | wid->installEventFilter( this ); |
679 | } | 682 | } |
680 | 683 | ||
681 | /** | 684 | /** |
682 | * @internal | 685 | * @internal |
683 | */ | 686 | */ |
684 | bool OKeyConfigManager::eventFilter( QObject* obj, QEvent* ev) { | 687 | bool OKeyConfigManager::eventFilter( QObject* obj, QEvent* ev) { |
685 | if ( !obj->isWidgetType() ) | 688 | if ( !obj->isWidgetType() ) |
686 | return false; | 689 | return false; |
687 | 690 | ||
691 | /* | ||
692 | * check if we care for the event | ||
693 | */ | ||
688 | if ( (ev->type() != QEvent::KeyPress||!testEventMask(MaskPressed)) && | 694 | if ( (ev->type() != QEvent::KeyPress||!testEventMask(MaskPressed)) && |
689 | (ev->type() != QEvent::KeyRelease||!testEventMask(MaskReleased)) ) | 695 | (ev->type() != QEvent::KeyRelease||!testEventMask(MaskReleased)) ) |
690 | return false; | 696 | return false; |
691 | 697 | ||
692 | QKeyEvent *key = static_cast<QKeyEvent*>( ev ); | 698 | QKeyEvent *key = static_cast<QKeyEvent*>( ev ); |
693 | OKeyConfigItem item = handleKeyEvent( key ); | 699 | OKeyConfigItem item = handleKeyEvent( key ); |
694 | 700 | ||
695 | if ( item.isEmpty() ) | 701 | if ( item.isEmpty() ) |
696 | return false; | 702 | return false; |
697 | 703 | ||
698 | QWidget *wid = static_cast<QWidget*>( obj ); | 704 | QWidget *wid = static_cast<QWidget*>( obj ); |
699 | 705 | ||