-rw-r--r-- | core/launcher/desktop.cpp | 25 | ||||
-rw-r--r-- | core/launcher/desktop.h | 2 | ||||
-rw-r--r-- | core/settings/button/buttonsettings.cpp | 3 | ||||
-rw-r--r-- | core/settings/button/buttonutils.cpp | 3 | ||||
-rw-r--r-- | core/settings/button/remapdlg.cpp | 26 | ||||
-rw-r--r-- | libopie/odevice.cpp | 15 | ||||
-rw-r--r-- | libopie/odevicebutton.cpp | 3 |
7 files changed, 55 insertions, 22 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp index 59f2aea..fbcce7c 100644 --- a/core/launcher/desktop.cpp +++ b/core/launcher/desktop.cpp | |||
@@ -343,22 +343,32 @@ void DesktopApplication::sendHeldAction ( ) | |||
343 | 343 | ||
344 | 344 | ||
345 | void DesktopApplication::checkButtonAction ( const ODeviceButton *db, int /*keycode*/, bool press, bool autoRepeat ) | 345 | bool DesktopApplication::checkButtonAction ( const ODeviceButton *db, int /*keycode*/, bool press, bool autoRepeat ) |
346 | { | 346 | { |
347 | if ( db ) { | 347 | if ( db ) { |
348 | if ( !press && !autoRepeat && m_button_timer-> isActive ( )) { | 348 | if ( !press && !autoRepeat && m_button_timer-> isActive ( )) { |
349 | m_button_timer-> stop ( ); | 349 | m_button_timer-> stop ( ); |
350 | if ( !db-> pressedAction ( ). channel ( ). isEmpty ( )) { | 350 | |
351 | db-> pressedAction ( ). send ( ); | 351 | if (!db-> pressedAction ( ). channel ( ) .isEmpty()) |
352 | { | ||
353 | if ( db-> pressedAction ( ). channel ( )!="ignore") { | ||
354 | db-> pressedAction ( ). send ( ); | ||
355 | } | ||
356 | else return false; | ||
352 | } | 357 | } |
353 | } | 358 | } |
354 | else if ( press && !autoRepeat ) { | 359 | else if ( press && !autoRepeat ) { |
355 | m_button_timer-> stop ( ); | 360 | m_button_timer-> stop ( ); |
361 | if (!db-> pressedAction ( ). channel ( ) .isEmpty()) | ||
362 | { | ||
356 | 363 | ||
357 | if ( !db-> heldAction ( ). channel ( ). isEmpty ( )) { | 364 | if ( db-> heldAction ( ). channel ( )!="ignore") { |
358 | m_last_button = db; | 365 | m_last_button = db; |
359 | m_button_timer-> start ( ODevice::inst ( )-> buttonHoldTime ( ), true ); | 366 | m_button_timer-> start ( ODevice::inst ( )-> buttonHoldTime ( ), true ); |
367 | } | ||
368 | else return false; | ||
360 | } | 369 | } |
361 | } | 370 | } |
362 | } | 371 | } |
372 | return true; | ||
363 | } | 373 | } |
364 | 374 | ||
@@ -371,6 +381,5 @@ bool DesktopApplication::eventFilter ( QObject *o, QEvent *e ) | |||
371 | 381 | ||
372 | if ( db ) { | 382 | if ( db ) { |
373 | checkButtonAction ( db, ke-> key ( ), e-> type ( ) == QEvent::KeyPress, ke-> isAutoRepeat ( )); | 383 | return checkButtonAction ( db, ke-> key ( ), e-> type ( ) == QEvent::KeyPress, ke-> isAutoRepeat ( )); |
374 | return true; | ||
375 | } | 384 | } |
376 | } | 385 | } |
diff --git a/core/launcher/desktop.h b/core/launcher/desktop.h index db0173e..4024c38 100644 --- a/core/launcher/desktop.h +++ b/core/launcher/desktop.h | |||
@@ -84,5 +84,5 @@ protected slots: | |||
84 | protected: | 84 | protected: |
85 | virtual bool eventFilter ( QObject *o, QEvent *e ); | 85 | virtual bool eventFilter ( QObject *o, QEvent *e ); |
86 | void checkButtonAction ( const Opie::ODeviceButton *db, int keycode, bool press, bool autoRepeat ); | 86 | bool checkButtonAction ( const Opie::ODeviceButton *db, int keycode, bool press, bool autoRepeat ); |
87 | 87 | ||
88 | private: | 88 | private: |
diff --git a/core/settings/button/buttonsettings.cpp b/core/settings/button/buttonsettings.cpp index eabb779..942d5e4 100644 --- a/core/settings/button/buttonsettings.cpp +++ b/core/settings/button/buttonsettings.cpp | |||
@@ -209,5 +209,4 @@ void ButtonSettings::keyTimeout ( ) | |||
209 | void ButtonSettings::edit ( buttoninfo *bi, bool hold ) | 209 | void ButtonSettings::edit ( buttoninfo *bi, bool hold ) |
210 | { | 210 | { |
211 | qDebug ( "remap %s for %s", hold ? "hold" : "press", bi-> m_button-> userText ( ). latin1 ( )); | ||
212 | 211 | ||
213 | if ( m_lock ) | 212 | if ( m_lock ) |
@@ -219,5 +218,5 @@ void ButtonSettings::edit ( buttoninfo *bi, bool hold ) | |||
219 | d-> showMaximized ( ); | 218 | d-> showMaximized ( ); |
220 | if ( d-> exec ( ) == QDialog::Accepted ) { | 219 | if ( d-> exec ( ) == QDialog::Accepted ) { |
221 | qDebug ( " -> %s %s", d-> message ( ). channel ( ). data ( ), d-> message ( ). message ( ). data ( )); | 220 | |
222 | 221 | ||
223 | if ( hold ) { | 222 | if ( hold ) { |
diff --git a/core/settings/button/buttonutils.cpp b/core/settings/button/buttonutils.cpp index 91d2af3..27a2f38 100644 --- a/core/settings/button/buttonutils.cpp +++ b/core/settings/button/buttonutils.cpp | |||
@@ -66,5 +66,6 @@ qCopInfo ButtonUtils::messageToInfo ( const OQCopMessage &c ) | |||
66 | QCString f = c. message ( ); | 66 | QCString f = c. message ( ); |
67 | 67 | ||
68 | if ( ch. isNull ( )) | 68 | |
69 | if ( ch == "ignore" ) | ||
69 | return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Ignored</nobr>" )); | 70 | return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Ignored</nobr>" )); |
70 | 71 | ||
diff --git a/core/settings/button/remapdlg.cpp b/core/settings/button/remapdlg.cpp index a251bd4..b6ee60b 100644 --- a/core/settings/button/remapdlg.cpp +++ b/core/settings/button/remapdlg.cpp | |||
@@ -60,5 +60,16 @@ RemapDlg::RemapDlg ( const Opie::ODeviceButton *b, bool hold, QWidget *parent, c | |||
60 | m_map_preset = new NoSortItem ( w_list, 1, tr( "Default" ), m_msg_preset. channel ( ), m_msg_preset. message ( )); | 60 | m_map_preset = new NoSortItem ( w_list, 1, tr( "Default" ), m_msg_preset. channel ( ), m_msg_preset. message ( )); |
61 | ((NoSortItem *) m_map_preset )-> setDefault ( true ); | 61 | ((NoSortItem *) m_map_preset )-> setDefault ( true ); |
62 | m_map_custom = new NoSortItem ( w_list, 2, tr( "Custom" ), m_msg. channel ( ), m_msg. message ( )); | 62 | |
63 | if (m_msg. channel ( ) == "ignore") | ||
64 | { | ||
65 | m_map_custom = new NoSortItem ( w_list, 2, tr( "Custom" ), m_msg_preset. channel ( ), m_msg_preset. message ( )); | ||
66 | |||
67 | m_current = m_map_none; | ||
68 | } | ||
69 | else | ||
70 | { | ||
71 | m_map_custom = new NoSortItem ( w_list, 2, tr( "Custom" ), m_msg. channel ( ), m_msg. message ( )); | ||
72 | m_current = m_map_custom; | ||
73 | } | ||
63 | 74 | ||
64 | QListViewItem *it = new NoSortItem ( w_list, 3, tr( "Actions" )); | 75 | QListViewItem *it = new NoSortItem ( w_list, 3, tr( "Actions" )); |
@@ -68,5 +79,4 @@ RemapDlg::RemapDlg ( const Opie::ODeviceButton *b, bool hold, QWidget *parent, c | |||
68 | m_map_show = new NoSortItem ( w_list, 4, tr( "Show" )); | 79 | m_map_show = new NoSortItem ( w_list, 4, tr( "Show" )); |
69 | 80 | ||
70 | m_current = m_map_custom; | ||
71 | w_list-> setCurrentItem ( m_current ); | 81 | w_list-> setCurrentItem ( m_current ); |
72 | 82 | ||
@@ -98,8 +108,16 @@ void RemapDlg::itemChanged ( QListViewItem *it ) | |||
98 | 108 | ||
99 | if ( it == m_map_none ) | 109 | if ( it == m_map_none ) |
100 | m_msg = m = OQCopMessage ( 0, 0 ); | 110 | { |
111 | m_msg = m = OQCopMessage ( "ignore", 0 ); | ||
112 | qDebug ("***ignoring"); | ||
113 | } | ||
101 | else if ( it == m_map_preset ) | 114 | else if ( it == m_map_preset ) |
115 | { | ||
102 | m_msg = m = m_msg_preset; | 116 | m_msg = m = m_msg_preset; |
103 | else if ( it && !it-> childCount ( )) { | 117 | qDebug ("***Preset"); |
118 | } | ||
119 | else if ( it && !it-> childCount ( )) | ||
120 | { | ||
121 | qDebug ("***Custom: %s %s ",it-> text ( 1 ). latin1 ( ), it-> text ( 2 ). latin1 ( )); | ||
104 | enabled = ( it == m_map_custom ); | 122 | enabled = ( it == m_map_custom ); |
105 | m_msg = m = OQCopMessage ( it-> text ( 1 ). latin1 ( ), it-> text ( 2 ). latin1 ( )); | 123 | m_msg = m = OQCopMessage ( it-> text ( 1 ). latin1 ( ), it-> text ( 2 ). latin1 ( )); |
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 9e97c56..d5e3c5c 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp | |||
@@ -281,5 +281,4 @@ void ODevice::init ( ) | |||
281 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib-> fpressedservice ), ib-> fpressedaction )); | 281 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib-> fpressedservice ), ib-> fpressedaction )); |
282 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib-> fheldservice ), ib-> fheldaction )); | 282 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib-> fheldservice ), ib-> fheldaction )); |
283 | |||
284 | d-> m_buttons. append ( b ); | 283 | d-> m_buttons. append ( b ); |
285 | } | 284 | } |
@@ -517,6 +516,7 @@ void ODevice::reloadButtonMapping ( ) | |||
517 | // hdata = decodeBase64 ( buttonFile. readEntry ( "HeldActionArgs" )); | 516 | // hdata = decodeBase64 ( buttonFile. readEntry ( "HeldActionArgs" )); |
518 | } | 517 | } |
519 | 518 | ||
520 | b. setPressedAction ( OQCopMessage ( pch, pm, pdata )); | 519 | b. setPressedAction ( OQCopMessage ( pch, pm, pdata )); |
520 | |||
521 | b. setHeldAction ( OQCopMessage ( hch, hm, hdata )); | 521 | b. setHeldAction ( OQCopMessage ( hch, hm, hdata )); |
522 | } | 522 | } |
@@ -525,13 +525,18 @@ void ODevice::reloadButtonMapping ( ) | |||
525 | void ODevice::remapPressedAction ( int button, const OQCopMessage &action ) | 525 | void ODevice::remapPressedAction ( int button, const OQCopMessage &action ) |
526 | { | 526 | { |
527 | QString mb_chan; | ||
528 | |||
527 | if ( button >= (int) d-> m_buttons. count ( )) | 529 | if ( button >= (int) d-> m_buttons. count ( )) |
528 | return; | 530 | return; |
531 | |||
529 | 532 | ||
530 | ODeviceButton &b = d-> m_buttons [button]; | 533 | ODeviceButton &b = d-> m_buttons [button]; |
531 | b. setPressedAction ( action ); | 534 | b. setPressedAction ( action ); |
535 | |||
536 | mb_chan=b. pressedAction ( ). channel ( ); | ||
532 | 537 | ||
533 | Config buttonFile ( "ButtonSettings" ); | 538 | Config buttonFile ( "ButtonSettings" ); |
534 | buttonFile. setGroup ( "Button" + QString::number ( button )); | 539 | buttonFile. setGroup ( "Button" + QString::number ( button )); |
535 | buttonFile. writeEntry ( "PressedActionChannel", (const char*) b. pressedAction ( ). channel ( )); | 540 | buttonFile. writeEntry ( "PressedActionChannel", (const char*) mb_chan); |
536 | buttonFile. writeEntry ( "PressedActionMessage", (const char*) b. pressedAction ( ). message ( )); | 541 | buttonFile. writeEntry ( "PressedActionMessage", (const char*) b. pressedAction ( ). message ( )); |
537 | 542 | ||
@@ -547,5 +552,5 @@ void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) | |||
547 | 552 | ||
548 | ODeviceButton &b = d-> m_buttons [button]; | 553 | ODeviceButton &b = d-> m_buttons [button]; |
549 | b. setHeldAction ( action ); | 554 | b. setHeldAction ( action ); |
550 | 555 | ||
551 | Config buttonFile ( "ButtonSettings" ); | 556 | Config buttonFile ( "ButtonSettings" ); |
diff --git a/libopie/odevicebutton.cpp b/libopie/odevicebutton.cpp index 2270343..4b22358 100644 --- a/libopie/odevicebutton.cpp +++ b/libopie/odevicebutton.cpp | |||
@@ -71,5 +71,5 @@ void OQCopMessage::init ( const QCString &ch, const QCString &m, const QByteArra | |||
71 | bool OQCopMessage::send ( ) | 71 | bool OQCopMessage::send ( ) |
72 | { | 72 | { |
73 | if ( d-> m_channel. isEmpty ( ) || d-> m_message. isEmpty ( )) | 73 | if ( d-> m_channel. isEmpty ( ) || d-> m_message. isEmpty ( ) ) |
74 | return false; | 74 | return false; |
75 | 75 | ||
@@ -219,4 +219,5 @@ void ODeviceButton::setFactoryPresetPressedAction(const OQCopMessage& action) | |||
219 | } | 219 | } |
220 | 220 | ||
221 | |||
221 | void ODeviceButton::setPressedAction(const OQCopMessage& action) | 222 | void ODeviceButton::setPressedAction(const OQCopMessage& action) |
222 | { | 223 | { |