author | zecke <zecke> | 2004-10-13 13:00:45 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-10-13 13:00:45 (UTC) |
commit | 72065f1f1aa12882ae63f8b063312e96dd683156 (patch) (unidiff) | |
tree | 0e4a68f4aac3cc8686987d03adc323a795db6b5c | |
parent | c931e96eb4bf7df64bca49c2343f2203bac637ba (diff) | |
download | opie-72065f1f1aa12882ae63f8b063312e96dd683156.zip opie-72065f1f1aa12882ae63f8b063312e96dd683156.tar.gz opie-72065f1f1aa12882ae63f8b063312e96dd683156.tar.bz2 |
-Create the QPE/System channel in ODevice to listen for button remapping
-Remove various connect and QCopChannel creation from actual device implementations
Let us see if that breaks anything, I hope SIMpad still will do fine. We might need to
guard if a qApp exists?
-rw-r--r-- | libopie2/opiecore/device/odevice.cpp | 13 | ||||
-rw-r--r-- | libopie2/opiecore/device/odevice.h | 1 | ||||
-rw-r--r-- | libopie2/opiecore/device/odevice_ipaq.cpp | 3 | ||||
-rw-r--r-- | libopie2/opiecore/device/odevice_jornada.cpp | 3 | ||||
-rw-r--r-- | libopie2/opiecore/device/odevice_yopy.cpp | 4 | ||||
-rw-r--r-- | libopie2/opiecore/device/odevice_zaurus.cpp | 4 |
6 files changed, 11 insertions, 17 deletions
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp index 8b64c41..67cae1c 100644 --- a/libopie2/opiecore/device/odevice.cpp +++ b/libopie2/opiecore/device/odevice.cpp | |||
@@ -172,16 +172,19 @@ ODevice::ODevice() | |||
172 | 172 | ||
173 | d->m_holdtime = 1000; // 1000ms | 173 | d->m_holdtime = 1000; // 1000ms |
174 | d->m_buttons = 0; | 174 | d->m_buttons = 0; |
175 | d->m_cpu_frequencies = new QStrList; | 175 | d->m_cpu_frequencies = new QStrList; |
176 | 176 | ||
177 | 177 | ||
178 | /* mixer */ | 178 | /* mixer */ |
179 | d->m_sound = d->m_vol = d->m_mixer = -1; | 179 | d->m_sound = d->m_vol = d->m_mixer = -1; |
180 | |||
181 | /* System QCopChannel created */ | ||
182 | d->m_initializedButtonQcop = false; | ||
180 | 183 | ||
181 | // New distribution detection code first checks for legacy distributions, | 184 | // New distribution detection code first checks for legacy distributions, |
182 | // identified by /etc/familiar-version or /etc/oz_version. | 185 | // identified by /etc/familiar-version or /etc/oz_version. |
183 | // Then check for OpenEmbedded and lastly, read /etc/issue | 186 | // Then check for OpenEmbedded and lastly, read /etc/issue |
184 | 187 | ||
185 | for ( unsigned int i = 0; i < sizeof distributions; ++i ) | 188 | for ( unsigned int i = 0; i < sizeof distributions; ++i ) |
186 | { | 189 | { |
187 | if ( QFile::exists( distributions[i].sysvfile ) ) | 190 | if ( QFile::exists( distributions[i].sysvfile ) ) |
@@ -228,19 +231,16 @@ void ODevice::initButtons() | |||
228 | b. setUserText ( QObject::tr ( "Button", db->utext )); | 231 | b. setUserText ( QObject::tr ( "Button", db->utext )); |
229 | b. setPixmap ( Resource::loadPixmap ( db->pix )); | 232 | b. setPixmap ( Resource::loadPixmap ( db->pix )); |
230 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( db->fpressedservice ), db->fpressedaction )); | 233 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( db->fpressedservice ), db->fpressedaction )); |
231 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( db->fheldservice ), db->fheldaction )); | 234 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( db->fheldservice ), db->fheldaction )); |
232 | d->m_buttons->append ( b ); | 235 | d->m_buttons->append ( b ); |
233 | } | 236 | } |
234 | 237 | ||
235 | reloadButtonMapping(); | 238 | reloadButtonMapping(); |
236 | |||
237 | QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); | ||
238 | connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&))); | ||
239 | } | 239 | } |
240 | 240 | ||
241 | ODevice::~ODevice() | 241 | ODevice::~ODevice() |
242 | { | 242 | { |
243 | // we leak m_devicebuttons and m_cpu_frequency | 243 | // we leak m_devicebuttons and m_cpu_frequency |
244 | // but it's a singleton and it is not so importantant | 244 | // but it's a singleton and it is not so importantant |
245 | // -zecke | 245 | // -zecke |
246 | delete d; | 246 | delete d; |
@@ -640,16 +640,23 @@ const ODeviceButton *ODevice::buttonForKeycode ( ushort code ) | |||
640 | return &(*it); | 640 | return &(*it); |
641 | } | 641 | } |
642 | return 0; | 642 | return 0; |
643 | } | 643 | } |
644 | 644 | ||
645 | void ODevice::reloadButtonMapping() | 645 | void ODevice::reloadButtonMapping() |
646 | { | 646 | { |
647 | initButtons(); | 647 | initButtons(); |
648 | |||
649 | if(!d->m_initializedButtonQcop) { | ||
650 | QCopChannel *chan = new QCopChannel("QPE/System", this, "ODevice button channel"); | ||
651 | connect(chan,SIGNAL(received(const QCString&,const QByteArray&)), | ||
652 | this,SLOT(systemMessage(const QCString&,const QByteArray&))); | ||
653 | d->m_initializedButtonQcop = true; | ||
654 | } | ||
648 | 655 | ||
649 | Config cfg ( "ButtonSettings" ); | 656 | Config cfg ( "ButtonSettings" ); |
650 | 657 | ||
651 | for ( uint i = 0; i < d->m_buttons->count(); i++ ) { | 658 | for ( uint i = 0; i < d->m_buttons->count(); i++ ) { |
652 | ODeviceButton &b = ( *d->m_buttons ) [i]; | 659 | ODeviceButton &b = ( *d->m_buttons ) [i]; |
653 | QString group = "Button" + QString::number ( i ); | 660 | QString group = "Button" + QString::number ( i ); |
654 | 661 | ||
655 | QCString pch, hch; | 662 | QCString pch, hch; |
diff --git a/libopie2/opiecore/device/odevice.h b/libopie2/opiecore/device/odevice.h index 6f0d036..21fcc3f 100644 --- a/libopie2/opiecore/device/odevice.h +++ b/libopie2/opiecore/device/odevice.h | |||
@@ -352,16 +352,17 @@ class ODeviceData { | |||
352 | QString m_sysverstr; | 352 | QString m_sysverstr; |
353 | 353 | ||
354 | Transformation m_rotation; | 354 | Transformation m_rotation; |
355 | ODirection m_direction; | 355 | ODirection m_direction; |
356 | 356 | ||
357 | QValueList <ODeviceButton> *m_buttons; | 357 | QValueList <ODeviceButton> *m_buttons; |
358 | uint m_holdtime; | 358 | uint m_holdtime; |
359 | QStrList *m_cpu_frequencies; | 359 | QStrList *m_cpu_frequencies; |
360 | boolm_initializedButtonQcop : 1; | ||
360 | 361 | ||
361 | /* values for changeMixerForAlarm */ | 362 | /* values for changeMixerForAlarm */ |
362 | int m_sound, m_vol, m_mixer; | 363 | int m_sound, m_vol, m_mixer; |
363 | }; | 364 | }; |
364 | 365 | ||
365 | extern bool isQWS(); | 366 | extern bool isQWS(); |
366 | extern QCString makeChannel ( const char *str ); | 367 | extern QCString makeChannel ( const char *str ); |
367 | } | 368 | } |
diff --git a/libopie2/opiecore/device/odevice_ipaq.cpp b/libopie2/opiecore/device/odevice_ipaq.cpp index 6193ddc..9e01a0c 100644 --- a/libopie2/opiecore/device/odevice_ipaq.cpp +++ b/libopie2/opiecore/device/odevice_ipaq.cpp | |||
@@ -184,19 +184,16 @@ void iPAQ::initButtons() | |||
184 | b. setPixmap ( Resource::loadPixmap ( ib->pix )); | 184 | b. setPixmap ( Resource::loadPixmap ( ib->pix )); |
185 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib->fpressedservice ), ib->fpressedaction )); | 185 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib->fpressedservice ), ib->fpressedaction )); |
186 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib->fheldservice ), ib->fheldaction )); | 186 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib->fheldservice ), ib->fheldaction )); |
187 | 187 | ||
188 | d->m_buttons->append ( b ); | 188 | d->m_buttons->append ( b ); |
189 | } | 189 | } |
190 | } | 190 | } |
191 | reloadButtonMapping(); | 191 | reloadButtonMapping(); |
192 | |||
193 | QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); | ||
194 | connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&))); | ||
195 | } | 192 | } |
196 | 193 | ||
197 | QValueList <OLed> iPAQ::ledList() const | 194 | QValueList <OLed> iPAQ::ledList() const |
198 | { | 195 | { |
199 | QValueList <OLed> vl; | 196 | QValueList <OLed> vl; |
200 | vl << Led_Power; | 197 | vl << Led_Power; |
201 | 198 | ||
202 | if ( d->m_model == Model_iPAQ_H38xx ) | 199 | if ( d->m_model == Model_iPAQ_H38xx ) |
diff --git a/libopie2/opiecore/device/odevice_jornada.cpp b/libopie2/opiecore/device/odevice_jornada.cpp index 2cab0c8..8141f1c 100644 --- a/libopie2/opiecore/device/odevice_jornada.cpp +++ b/libopie2/opiecore/device/odevice_jornada.cpp | |||
@@ -135,19 +135,16 @@ void Jornada::initButtons() | |||
135 | b. setPixmap ( Resource::loadPixmap ( ib->pix )); | 135 | b. setPixmap ( Resource::loadPixmap ( ib->pix )); |
136 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib->fpressedservice ), ib->fpressedaction )); | 136 | b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib->fpressedservice ), ib->fpressedaction )); |
137 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib->fheldservice ), ib->fheldaction )); | 137 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib->fheldservice ), ib->fheldaction )); |
138 | 138 | ||
139 | d->m_buttons->append ( b ); | 139 | d->m_buttons->append ( b ); |
140 | } | 140 | } |
141 | } | 141 | } |
142 | reloadButtonMapping(); | 142 | reloadButtonMapping(); |
143 | |||
144 | QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); | ||
145 | connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&))); | ||
146 | } | 143 | } |
147 | 144 | ||
148 | int Jornada::displayBrightnessResolution() const | 145 | int Jornada::displayBrightnessResolution() const |
149 | { | 146 | { |
150 | return 255; | 147 | return 255; |
151 | } | 148 | } |
152 | 149 | ||
153 | 150 | ||
diff --git a/libopie2/opiecore/device/odevice_yopy.cpp b/libopie2/opiecore/device/odevice_yopy.cpp index a06d7ec..8f22514 100644 --- a/libopie2/opiecore/device/odevice_yopy.cpp +++ b/libopie2/opiecore/device/odevice_yopy.cpp | |||
@@ -104,20 +104,16 @@ void Yopy::initButtons() | |||
104 | b. setFactoryPresetPressedAction | 104 | b. setFactoryPresetPressedAction |
105 | ( OQCopMessage( makeChannel( ib->fpressedservice ), ib->fpressedaction ) ); | 105 | ( OQCopMessage( makeChannel( ib->fpressedservice ), ib->fpressedaction ) ); |
106 | b. setFactoryPresetHeldAction | 106 | b. setFactoryPresetHeldAction |
107 | ( OQCopMessage( makeChannel( ib->fheldservice ), ib->fheldaction ) ); | 107 | ( OQCopMessage( makeChannel( ib->fheldservice ), ib->fheldaction ) ); |
108 | 108 | ||
109 | d->m_buttons->append ( b ); | 109 | d->m_buttons->append ( b ); |
110 | } | 110 | } |
111 | reloadButtonMapping(); | 111 | reloadButtonMapping(); |
112 | |||
113 | QCopChannel *sysch = new QCopChannel( "QPE/System", this ); | ||
114 | connect( sysch, SIGNAL( received(const QCString&,const QByteArray&) ), | ||
115 | this, SLOT( systemMessage(const QCString&,const QByteArray&) ) ); | ||
116 | } | 112 | } |
117 | 113 | ||
118 | 114 | ||
119 | bool Yopy::suspend() | 115 | bool Yopy::suspend() |
120 | { | 116 | { |
121 | /* Opie for Yopy does not implement its own power management at the | 117 | /* Opie for Yopy does not implement its own power management at the |
122 | moment. The public version runs parallel to X, and relies on the | 118 | moment. The public version runs parallel to X, and relies on the |
123 | existing power management features. */ | 119 | existing power management features. */ |
diff --git a/libopie2/opiecore/device/odevice_zaurus.cpp b/libopie2/opiecore/device/odevice_zaurus.cpp index 733479e..ebe1949 100644 --- a/libopie2/opiecore/device/odevice_zaurus.cpp +++ b/libopie2/opiecore/device/odevice_zaurus.cpp | |||
@@ -233,20 +233,16 @@ void Zaurus::initButtons() | |||
233 | zb->fpressedaction )); | 233 | zb->fpressedaction )); |
234 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( zb->fheldservice ), | 234 | b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( zb->fheldservice ), |
235 | zb->fheldaction )); | 235 | zb->fheldaction )); |
236 | 236 | ||
237 | d->m_buttons->append ( b ); | 237 | d->m_buttons->append ( b ); |
238 | } | 238 | } |
239 | 239 | ||
240 | reloadButtonMapping(); | 240 | reloadButtonMapping(); |
241 | |||
242 | QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); | ||
243 | connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), | ||
244 | this, SLOT( systemMessage(const QCString&,const QByteArray&))); | ||
245 | } | 241 | } |
246 | 242 | ||
247 | #include <unistd.h> | 243 | #include <unistd.h> |
248 | #include <fcntl.h> | 244 | #include <fcntl.h> |
249 | #include <sys/ioctl.h> | 245 | #include <sys/ioctl.h> |
250 | 246 | ||
251 | //#include <asm/sharp_char.h> // including kernel headers is evil ... | 247 | //#include <asm/sharp_char.h> // including kernel headers is evil ... |
252 | 248 | ||