author | groucho <groucho> | 2003-03-19 11:36:34 (UTC) |
---|---|---|
committer | groucho <groucho> | 2003-03-19 11:36:34 (UTC) |
commit | 28be0fcc9bda71175c3ee17e79fce2ac24340ff2 (patch) (unidiff) | |
tree | f09c80460e4f0219eb308d612a2e67df57f2c254 /libopie | |
parent | 18c6c51705de3b1897f671e54b25929e74d11f23 (diff) | |
download | opie-28be0fcc9bda71175c3ee17e79fce2ac24340ff2.zip opie-28be0fcc9bda71175c3ee17e79fce2ac24340ff2.tar.gz opie-28be0fcc9bda71175c3ee17e79fce2ac24340ff2.tar.bz2 |
Fixed bug #744 where non mapped buttons in buttonsettings were not saved by introducing the "
ignore" statement.
Also removed unsed debug code
-rw-r--r-- | libopie/odevice.cpp | 15 | ||||
-rw-r--r-- | libopie/odevicebutton.cpp | 3 |
2 files changed, 12 insertions, 6 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 9e97c56..d5e3c5c 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp | |||
@@ -259,49 +259,48 @@ ODevice::ODevice ( ) | |||
259 | connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & ))); | 259 | connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & ))); |
260 | } | 260 | } |
261 | 261 | ||
262 | void ODevice::systemMessage ( const QCString &msg, const QByteArray & ) | 262 | void ODevice::systemMessage ( const QCString &msg, const QByteArray & ) |
263 | { | 263 | { |
264 | if ( msg == "deviceButtonMappingChanged()" ) { | 264 | if ( msg == "deviceButtonMappingChanged()" ) { |
265 | reloadButtonMapping ( ); | 265 | reloadButtonMapping ( ); |
266 | } | 266 | } |
267 | } | 267 | } |
268 | 268 | ||
269 | void ODevice::init ( ) | 269 | void ODevice::init ( ) |
270 | { | 270 | { |
271 | // Simulation uses iPAQ 3660 device buttons | 271 | // Simulation uses iPAQ 3660 device buttons |
272 | 272 | ||
273 | for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { | 273 | for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { |
274 | i_button *ib = ipaq_buttons + i; | 274 | i_button *ib = ipaq_buttons + i; |
275 | ODeviceButton b; | 275 | ODeviceButton b; |
276 | 276 | ||
277 | if (( ib-> model & Model_iPAQ_H36xx ) == Model_iPAQ_H36xx ) { | 277 | if (( ib-> model & Model_iPAQ_H36xx ) == Model_iPAQ_H36xx ) { |
278 | b. setKeycode ( ib-> code ); | 278 | b. setKeycode ( ib-> code ); |
279 | b. setUserText ( qApp-> translate ( "Button", ib-> utext )); | 279 | b. setUserText ( qApp-> translate ( "Button", ib-> utext )); |
280 | b. setPixmap ( Resource::loadPixmap ( ib-> pix )); | 280 | b. setPixmap ( Resource::loadPixmap ( ib-> pix )); |
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 | } |
286 | } | 285 | } |
287 | reloadButtonMapping ( ); | 286 | reloadButtonMapping ( ); |
288 | } | 287 | } |
289 | 288 | ||
290 | ODevice::~ODevice ( ) | 289 | ODevice::~ODevice ( ) |
291 | { | 290 | { |
292 | delete d; | 291 | delete d; |
293 | } | 292 | } |
294 | 293 | ||
295 | bool ODevice::setSoftSuspend ( bool /*soft*/ ) | 294 | bool ODevice::setSoftSuspend ( bool /*soft*/ ) |
296 | { | 295 | { |
297 | return false; | 296 | return false; |
298 | } | 297 | } |
299 | 298 | ||
300 | //#include <linux/apm_bios.h> | 299 | //#include <linux/apm_bios.h> |
301 | 300 | ||
302 | #define APM_IOC_SUSPEND OD_IO( 'A', 2 ) | 301 | #define APM_IOC_SUSPEND OD_IO( 'A', 2 ) |
303 | 302 | ||
304 | 303 | ||
305 | bool ODevice::suspend ( ) | 304 | bool ODevice::suspend ( ) |
306 | { | 305 | { |
307 | if ( !d-> m_qwsserver ) // only qwsserver is allowed to suspend | 306 | if ( !d-> m_qwsserver ) // only qwsserver is allowed to suspend |
@@ -495,79 +494,85 @@ const ODeviceButton *ODevice::buttonForKeycode ( ushort code ) | |||
495 | } | 494 | } |
496 | 495 | ||
497 | void ODevice::reloadButtonMapping ( ) | 496 | void ODevice::reloadButtonMapping ( ) |
498 | { | 497 | { |
499 | Config cfg ( "ButtonSettings" ); | 498 | Config cfg ( "ButtonSettings" ); |
500 | 499 | ||
501 | for ( uint i = 0; i < d-> m_buttons. count ( ); i++ ) { | 500 | for ( uint i = 0; i < d-> m_buttons. count ( ); i++ ) { |
502 | ODeviceButton &b = d-> m_buttons [i]; | 501 | ODeviceButton &b = d-> m_buttons [i]; |
503 | QString group = "Button" + QString::number ( i ); | 502 | QString group = "Button" + QString::number ( i ); |
504 | 503 | ||
505 | QCString pch, hch; | 504 | QCString pch, hch; |
506 | QCString pm, hm; | 505 | QCString pm, hm; |
507 | QByteArray pdata, hdata; | 506 | QByteArray pdata, hdata; |
508 | 507 | ||
509 | if ( cfg. hasGroup ( group )) { | 508 | if ( cfg. hasGroup ( group )) { |
510 | cfg. setGroup ( group ); | 509 | cfg. setGroup ( group ); |
511 | pch = cfg. readEntry ( "PressedActionChannel" ). latin1 ( ); | 510 | pch = cfg. readEntry ( "PressedActionChannel" ). latin1 ( ); |
512 | pm = cfg. readEntry ( "PressedActionMessage" ). latin1 ( ); | 511 | pm = cfg. readEntry ( "PressedActionMessage" ). latin1 ( ); |
513 | // pdata = decodeBase64 ( buttonFile. readEntry ( "PressedActionArgs" )); | 512 | // pdata = decodeBase64 ( buttonFile. readEntry ( "PressedActionArgs" )); |
514 | 513 | ||
515 | hch = cfg. readEntry ( "HeldActionChannel" ). latin1 ( ); | 514 | hch = cfg. readEntry ( "HeldActionChannel" ). latin1 ( ); |
516 | hm = cfg. readEntry ( "HeldActionMessage" ). latin1 ( ); | 515 | hm = cfg. readEntry ( "HeldActionMessage" ). latin1 ( ); |
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 | } |
523 | } | 523 | } |
524 | 524 | ||
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 | ||
538 | //buttonFile. writeEntry ( "PressedActionArgs", encodeBase64 ( b. pressedAction ( ). data ( ))); | 543 | //buttonFile. writeEntry ( "PressedActionArgs", encodeBase64 ( b. pressedAction ( ). data ( ))); |
539 | 544 | ||
540 | QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); | 545 | QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); |
541 | } | 546 | } |
542 | 547 | ||
543 | void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) | 548 | void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) |
544 | { | 549 | { |
545 | if ( button >= (int) d-> m_buttons. count ( )) | 550 | if ( button >= (int) d-> m_buttons. count ( )) |
546 | return; | 551 | return; |
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" ); |
552 | buttonFile. setGroup ( "Button" + QString::number ( button )); | 557 | buttonFile. setGroup ( "Button" + QString::number ( button )); |
553 | buttonFile. writeEntry ( "HeldActionChannel", (const char *) b. heldAction ( ). channel ( )); | 558 | buttonFile. writeEntry ( "HeldActionChannel", (const char *) b. heldAction ( ). channel ( )); |
554 | buttonFile. writeEntry ( "HeldActionMessage", (const char *) b. heldAction ( ). message ( )); | 559 | buttonFile. writeEntry ( "HeldActionMessage", (const char *) b. heldAction ( ). message ( )); |
555 | 560 | ||
556 | //buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction ( ). data ( ))); | 561 | //buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction ( ). data ( ))); |
557 | 562 | ||
558 | QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); | 563 | QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); |
559 | } | 564 | } |
560 | 565 | ||
561 | 566 | ||
562 | 567 | ||
563 | 568 | ||
564 | /************************************************** | 569 | /************************************************** |
565 | * | 570 | * |
566 | * iPAQ | 571 | * iPAQ |
567 | * | 572 | * |
568 | **************************************************/ | 573 | **************************************************/ |
569 | 574 | ||
570 | void iPAQ::init ( ) | 575 | void iPAQ::init ( ) |
571 | { | 576 | { |
572 | d-> m_vendorstr = "HP"; | 577 | d-> m_vendorstr = "HP"; |
573 | d-> m_vendor = Vendor_HP; | 578 | d-> m_vendor = Vendor_HP; |
diff --git a/libopie/odevicebutton.cpp b/libopie/odevicebutton.cpp index 2270343..4b22358 100644 --- a/libopie/odevicebutton.cpp +++ b/libopie/odevicebutton.cpp | |||
@@ -49,49 +49,49 @@ OQCopMessage::OQCopMessage ( const OQCopMessage © ) | |||
49 | 49 | ||
50 | OQCopMessage &OQCopMessage::operator = ( const OQCopMessage &assign ) | 50 | OQCopMessage &OQCopMessage::operator = ( const OQCopMessage &assign ) |
51 | { | 51 | { |
52 | init ( assign. channel ( ), assign. message ( ), assign. data ( )); | 52 | init ( assign. channel ( ), assign. message ( ), assign. data ( )); |
53 | return *this; | 53 | return *this; |
54 | } | 54 | } |
55 | 55 | ||
56 | OQCopMessage::OQCopMessage ( const QCString &ch, const QCString &m, const QByteArray &arg ) | 56 | OQCopMessage::OQCopMessage ( const QCString &ch, const QCString &m, const QByteArray &arg ) |
57 | : d ( 0 ) | 57 | : d ( 0 ) |
58 | { | 58 | { |
59 | init ( ch, m, arg ); | 59 | init ( ch, m, arg ); |
60 | } | 60 | } |
61 | 61 | ||
62 | void OQCopMessage::init ( const QCString &ch, const QCString &m, const QByteArray &arg ) | 62 | void OQCopMessage::init ( const QCString &ch, const QCString &m, const QByteArray &arg ) |
63 | { | 63 | { |
64 | if ( !d ) | 64 | if ( !d ) |
65 | d = new OQCopMessageData ( ); | 65 | d = new OQCopMessageData ( ); |
66 | d-> m_channel = ch; | 66 | d-> m_channel = ch; |
67 | d-> m_message = m; | 67 | d-> m_message = m; |
68 | d-> m_data = arg; | 68 | d-> m_data = arg; |
69 | } | 69 | } |
70 | 70 | ||
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 | ||
76 | QCopEnvelope e ( d-> m_channel, d-> m_message ); | 76 | QCopEnvelope e ( d-> m_channel, d-> m_message ); |
77 | 77 | ||
78 | if ( d-> m_data. size ( )) | 78 | if ( d-> m_data. size ( )) |
79 | e. writeRawBytes ( d-> m_data. data ( ), d-> m_data. size ( )); | 79 | e. writeRawBytes ( d-> m_data. data ( ), d-> m_data. size ( )); |
80 | 80 | ||
81 | return true; | 81 | return true; |
82 | } | 82 | } |
83 | 83 | ||
84 | QCString OQCopMessage::channel ( ) const | 84 | QCString OQCopMessage::channel ( ) const |
85 | { | 85 | { |
86 | return d-> m_channel; | 86 | return d-> m_channel; |
87 | } | 87 | } |
88 | 88 | ||
89 | QCString OQCopMessage::message ( ) const | 89 | QCString OQCopMessage::message ( ) const |
90 | { | 90 | { |
91 | return d-> m_message; | 91 | return d-> m_message; |
92 | } | 92 | } |
93 | 93 | ||
94 | QByteArray OQCopMessage::data ( ) const | 94 | QByteArray OQCopMessage::data ( ) const |
95 | { | 95 | { |
96 | return d-> m_data; | 96 | return d-> m_data; |
97 | } | 97 | } |
@@ -197,38 +197,39 @@ OQCopMessage ODeviceButton::heldAction() const | |||
197 | return factoryPresetHeldAction(); | 197 | return factoryPresetHeldAction(); |
198 | return m_HeldAction; | 198 | return m_HeldAction; |
199 | } | 199 | } |
200 | 200 | ||
201 | void ODeviceButton::setKeycode(ushort keycode) | 201 | void ODeviceButton::setKeycode(ushort keycode) |
202 | { | 202 | { |
203 | m_Keycode = keycode; | 203 | m_Keycode = keycode; |
204 | } | 204 | } |
205 | 205 | ||
206 | void ODeviceButton::setUserText(const QString& text) | 206 | void ODeviceButton::setUserText(const QString& text) |
207 | { | 207 | { |
208 | m_UserText = text; | 208 | m_UserText = text; |
209 | } | 209 | } |
210 | 210 | ||
211 | void ODeviceButton::setPixmap(const QPixmap& picture) | 211 | void ODeviceButton::setPixmap(const QPixmap& picture) |
212 | { | 212 | { |
213 | m_Pixmap = picture; | 213 | m_Pixmap = picture; |
214 | } | 214 | } |
215 | 215 | ||
216 | void ODeviceButton::setFactoryPresetPressedAction(const OQCopMessage& action) | 216 | void ODeviceButton::setFactoryPresetPressedAction(const OQCopMessage& action) |
217 | { | 217 | { |
218 | m_FactoryPresetPressedAction = action; | 218 | m_FactoryPresetPressedAction = action; |
219 | } | 219 | } |
220 | 220 | ||
221 | |||
221 | void ODeviceButton::setPressedAction(const OQCopMessage& action) | 222 | void ODeviceButton::setPressedAction(const OQCopMessage& action) |
222 | { | 223 | { |
223 | m_PressedAction = action; | 224 | m_PressedAction = action; |
224 | } | 225 | } |
225 | 226 | ||
226 | void ODeviceButton::setFactoryPresetHeldAction(const OQCopMessage& action) | 227 | void ODeviceButton::setFactoryPresetHeldAction(const OQCopMessage& action) |
227 | { | 228 | { |
228 | m_FactoryPresetHeldAction = action; | 229 | m_FactoryPresetHeldAction = action; |
229 | } | 230 | } |
230 | 231 | ||
231 | void ODeviceButton::setHeldAction(const OQCopMessage& action) | 232 | void ODeviceButton::setHeldAction(const OQCopMessage& action) |
232 | { | 233 | { |
233 | m_HeldAction = action; | 234 | m_HeldAction = action; |
234 | } | 235 | } |