Diffstat (limited to 'libopie2/opiecore/device/odevice_simpad.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | libopie2/opiecore/device/odevice_simpad.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/libopie2/opiecore/device/odevice_simpad.cpp b/libopie2/opiecore/device/odevice_simpad.cpp index ebf0cbb..9fde7f9 100644 --- a/libopie2/opiecore/device/odevice_simpad.cpp +++ b/libopie2/opiecore/device/odevice_simpad.cpp | |||
@@ -46,28 +46,40 @@ | |||
46 | /* STD */ | 46 | /* STD */ |
47 | #include <fcntl.h> | 47 | #include <fcntl.h> |
48 | #include <math.h> | 48 | #include <math.h> |
49 | #include <stdlib.h> | 49 | #include <stdlib.h> |
50 | #include <signal.h> | 50 | #include <signal.h> |
51 | #include <sys/ioctl.h> | 51 | #include <sys/ioctl.h> |
52 | #include <sys/time.h> | 52 | #include <sys/time.h> |
53 | #include <unistd.h> | 53 | #include <unistd.h> |
54 | #ifndef QT_NO_SOUND | 54 | #ifndef QT_NO_SOUND |
55 | #include <linux/soundcard.h> | 55 | #include <linux/soundcard.h> |
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | using namespace Opie::Core; | 58 | namespace Opie { |
59 | using namespace Opie::Core::Internal; | 59 | namespace Core { |
60 | namespace Internal { | ||
61 | namespace { | ||
62 | struct s_button { | ||
63 | uint model; | ||
64 | Qt::Key code; | ||
65 | char *utext; | ||
66 | char *pix; | ||
67 | char *fpressedservice; | ||
68 | char *fpressedaction; | ||
69 | char *fheldservice; | ||
70 | char *fheldaction; | ||
71 | }; | ||
60 | 72 | ||
61 | struct s_button simpad_buttons [] = { | 73 | static struct s_button simpad_buttons [] = { |
62 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, | 74 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, |
63 | Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Lower+Up"), | 75 | Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Lower+Up"), |
64 | "devicebuttons/simpad_lower_up", | 76 | "devicebuttons/simpad_lower_up", |
65 | "datebook", "nextView()", | 77 | "datebook", "nextView()", |
66 | "today", "raise()" }, | 78 | "today", "raise()" }, |
67 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, | 79 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, |
68 | Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Lower+Down"), | 80 | Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Lower+Down"), |
69 | "devicebuttons/simpad_lower_down", | 81 | "devicebuttons/simpad_lower_down", |
70 | "addressbook", "raise()", | 82 | "addressbook", "raise()", |
71 | "addressbook", "beamBusinessCard()" }, | 83 | "addressbook", "beamBusinessCard()" }, |
72 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, | 84 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, |
73 | Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Lower+Right"), | 85 | Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Lower+Right"), |
@@ -104,24 +116,26 @@ struct s_button simpad_buttons [] = { | |||
104 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, | 116 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, |
105 | Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Lower+Upper"), | 117 | Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Lower+Upper"), |
106 | "devicebuttons/simpad_lower_upper", | 118 | "devicebuttons/simpad_lower_upper", |
107 | "QPE/Launcher", "home()", | 119 | "QPE/Launcher", "home()", |
108 | "buttonsettings", "raise()" }, | 120 | "buttonsettings", "raise()" }, |
109 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, | 121 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, |
110 | Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Lower+Upper"), | 122 | Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Lower+Upper"), |
111 | "devicebuttons/simpad_upper_lower", | 123 | "devicebuttons/simpad_upper_lower", |
112 | "QPE/Launcher", "home()", | 124 | "QPE/Launcher", "home()", |
113 | "buttonsettings", "raise()" }, | 125 | "buttonsettings", "raise()" }, |
114 | */ | 126 | */ |
115 | }; | 127 | }; |
128 | } | ||
129 | |||
116 | 130 | ||
117 | void SIMpad::init(const QString&) | 131 | void SIMpad::init(const QString&) |
118 | { | 132 | { |
119 | d->m_vendorstr = "SIEMENS"; | 133 | d->m_vendorstr = "SIEMENS"; |
120 | d->m_vendor = Vendor_SIEMENS; | 134 | d->m_vendor = Vendor_SIEMENS; |
121 | 135 | ||
122 | 136 | ||
123 | //TODO Implement model checking | 137 | //TODO Implement model checking |
124 | //FIXME For now we assume an SL4 | 138 | //FIXME For now we assume an SL4 |
125 | 139 | ||
126 | d->m_modelstr = "SL4"; | 140 | d->m_modelstr = "SL4"; |
127 | d->m_model = Model_SIMpad_SL4; | 141 | d->m_model = Model_SIMpad_SL4; |
@@ -140,25 +154,26 @@ void SIMpad::init(const QString&) | |||
140 | 154 | ||
141 | m_power_timer = 0; | 155 | m_power_timer = 0; |
142 | 156 | ||
143 | } | 157 | } |
144 | 158 | ||
145 | void SIMpad::initButtons() | 159 | void SIMpad::initButtons() |
146 | { | 160 | { |
147 | if ( d->m_buttons ) | 161 | if ( d->m_buttons ) |
148 | return; | 162 | return; |
149 | 163 | ||
150 | d->m_buttons = new QValueList <ODeviceButton>; | 164 | d->m_buttons = new QValueList <ODeviceButton>; |
151 | 165 | ||
152 | for ( uint i = 0; i < ( sizeof( simpad_buttons ) / sizeof( s_button )); i++ ) { | 166 | uint size = sizeof(simpad_buttons)/sizeof(s_button); |
167 | for ( uint i = 0; i < size; i++ ) { | ||
153 | s_button *sb = simpad_buttons + i; | 168 | s_button *sb = simpad_buttons + i; |
154 | ODeviceButton b; | 169 | ODeviceButton b; |
155 | 170 | ||
156 | if (( sb->model & d->m_model ) == d->m_model ) { | 171 | if (( sb->model & d->m_model ) == d->m_model ) { |
157 | b. setKeycode ( sb->code ); | 172 | b. setKeycode ( sb->code ); |
158 | b. setUserText ( QObject::tr ( "Button", sb->utext )); | 173 | b. setUserText ( QObject::tr ( "Button", sb->utext )); |
159 | b. setPixmap ( Resource::loadPixmap ( sb->pix )); | 174 | b. setPixmap ( Resource::loadPixmap ( sb->pix )); |
160 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( sb->fpressedservice ), sb->fpressedaction )); | 175 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( sb->fpressedservice ), sb->fpressedaction )); |
161 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( sb->fheldservice ), sb->fheldaction )); | 176 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( sb->fheldservice ), sb->fheldaction )); |
162 | 177 | ||
163 | d->m_buttons->append ( b ); | 178 | d->m_buttons->append ( b ); |
164 | } | 179 | } |
@@ -372,12 +387,16 @@ int SIMpad::displayBrightnessResolution() const | |||
372 | void SIMpad::updateAllWidgets() { | 387 | void SIMpad::updateAllWidgets() { |
373 | QWidgetList *list = QApplication::allWidgets(); | 388 | QWidgetList *list = QApplication::allWidgets(); |
374 | QWidgetListIt it( *list ); | 389 | QWidgetListIt it( *list ); |
375 | QWidget *wid; | 390 | QWidget *wid; |
376 | 391 | ||
377 | while ((wid=it.current()) != 0 ) { | 392 | while ((wid=it.current()) != 0 ) { |
378 | wid->update(); | 393 | wid->update(); |
379 | ++it; | 394 | ++it; |
380 | } | 395 | } |
381 | 396 | ||
382 | delete list; | 397 | delete list; |
383 | } | 398 | } |
399 | |||
400 | } | ||
401 | } | ||
402 | } | ||