author | alwin <alwin> | 2004-08-01 19:54:59 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-08-01 19:54:59 (UTC) |
commit | 9084969d2d4fa39d4d2c185695f0c88739a0f95c (patch) (side-by-side diff) | |
tree | 4c76ee5bf61e9f0a883381d2ac68291075cfd541 | |
parent | 3d67a6ef781f59f9db936442a5b44329a0d5c70b (diff) | |
download | opie-9084969d2d4fa39d4d2c185695f0c88739a0f95c.zip opie-9084969d2d4fa39d4d2c185695f0c88739a0f95c.tar.gz opie-9084969d2d4fa39d4d2c185695f0c88739a0f95c.tar.bz2 |
cleanup - odevice is now and for future the one and only friend class
-rw-r--r-- | libopie2/opiecore/device/odevice.cpp | 53 | ||||
-rw-r--r-- | libopie2/opiecore/device/odevice.h | 45 | ||||
-rw-r--r-- | libopie2/opiecore/device/odevice_ipaq.cpp | 3 | ||||
-rw-r--r-- | libopie2/opiecore/device/odevice_simpad.cpp | 3 | ||||
-rw-r--r-- | libopie2/opiecore/okeyfilter.h | 7 |
5 files changed, 59 insertions, 52 deletions
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp index 0068d88..cd3a84c 100644 --- a/libopie2/opiecore/device/odevice.cpp +++ b/libopie2/opiecore/device/odevice.cpp @@ -1,63 +1,64 @@ /* - � � � � � � � � This file is part of the Opie Project -� � � � � � � Copyright (C) The Opie Team <opie-devel@handhelds.org> + This file is part of the Opie Project + Copyright (C) The Opie Team <opie-devel@handhelds.org> =. .=l. -� � � � � �.>+-= -�_;:, � � .> � �:=|. This program is free software; you can -.> <`_, � > �. � <= redistribute it and/or modify it under -:`=1 )Y*s>-.-- � : the terms of the GNU Library General Public -.="- .-=="i, � � .._ License as published by the Free Software -�- . � .-<_> � � .<> Foundation; either version 2 of the License, -� � �._= =} � � � : or (at your option) any later version. -� � .%`+i> � � � _;_. -� � .i_,=:_. � � �-<s. This program is distributed in the hope that -� � �+ �. �-:. � � � = it will be useful, but WITHOUT ANY WARRANTY; -� � : .. � �.:, � � . . . without even the implied warranty of -� � =_ � � � �+ � � =;=|` MERCHANTABILITY or FITNESS FOR A -� _.=:. � � � : � �:=>`: PARTICULAR PURPOSE. See the GNU -..}^=.= � � � = � � � ; Library General Public License for more -++= � -. � � .` � � .: details. -�: � � = �...= . :.=- -�-. � .:....=;==+<; You should have received a copy of the GNU -� -_. . . � )=. �= Library General Public License along with -� � -- � � � �:-=` this library; see the file COPYING.LIB. + .>+-= +_;:, .> :=|. This program is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software +- . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This program is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU +..}^=.= = ; Library General Public License for more +++= -. .` .: details. +: = ...= . :.=- +-. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "odevice_ipaq.h" #include "odevice_jornada.h" #include "odevice_ramses.h" #include "odevice_simpad.h" #include "odevice_yopy.h" #include "odevice_zaurus.h" /* QT */ #include <qapplication.h> #include <qfile.h> #include <qtextstream.h> #include <qwindowsystem_qws.h> /* OPIE */ #include <qpe/config.h> #include <qpe/resource.h> #include <qpe/sound.h> #include <qpe/qcopenvelope_qws.h> +#include <opie2/okeyfilter.h> /* STD */ #include <fcntl.h> #include <math.h> #include <stdlib.h> #include <signal.h> #include <sys/ioctl.h> #include <sys/time.h> #include <unistd.h> #ifndef QT_NO_SOUND #include <linux/soundcard.h> #endif namespace Opie { namespace Core { @@ -699,19 +700,29 @@ void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) // buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction(). data())); QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); } void ODevice::virtual_hook(int, void* ){ } void ODevice::sendSuspendmsg() { if ( isQWS() ) return; QCopEnvelope ( "QPE/System", "aboutToSuspend()" ); } +void ODevice::addPreHandler(QWSServer::KeyboardFilter*aFilter) +{ + Opie::Core::OKeyFilter::inst()->addPreHandler(aFilter); +} + +void ODevice::remPreHandler(QWSServer::KeyboardFilter*aFilter) +{ + Opie::Core::OKeyFilter::inst()->remPreHandler(aFilter); +} + } } diff --git a/libopie2/opiecore/device/odevice.h b/libopie2/opiecore/device/odevice.h index 0465d7e..762d3f1 100644 --- a/libopie2/opiecore/device/odevice.h +++ b/libopie2/opiecore/device/odevice.h @@ -1,57 +1,58 @@ /* - � � � � � � � � This file is part of the Opie Project -� � � � � � � Copyright (C) The Opie Team <opie-devel@handhelds.org> + This file is part of the Opie Project + Copyright (C) The Opie Team <opie-devel@handhelds.org> =. .=l. -� � � � � �.>+-= -�_;:, � � .> � �:=|. This program is free software; you can -.> <`_, � > �. � <= redistribute it and/or modify it under -:`=1 )Y*s>-.-- � : the terms of the GNU Library General Public -.="- .-=="i, � � .._ License as published by the Free Software -�- . � .-<_> � � .<> Foundation; either version 2 of the License, -� � �._= =} � � � : or (at your option) any later version. -� � .%`+i> � � � _;_. -� � .i_,=:_. � � �-<s. This program is distributed in the hope that -� � �+ �. �-:. � � � = it will be useful, but WITHOUT ANY WARRANTY; -� � : .. � �.:, � � . . . without even the implied warranty of -� � =_ � � � �+ � � =;=|` MERCHANTABILITY or FITNESS FOR A -� _.=:. � � � : � �:=>`: PARTICULAR PURPOSE. See the GNU -..}^=.= � � � = � � � ; Library General Public License for more -++= � -. � � .` � � .: details. -�: � � = �...= . :.=- -�-. � .:....=;==+<; You should have received a copy of the GNU -� -_. . . � )=. �= Library General Public License along with -� � -- � � � �:-=` this library; see the file COPYING.LIB. + .>+-= +_;:, .> :=|. This program is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software +- . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This program is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU +..}^=.= = ; Library General Public License for more +++= -. .` .: details. +: = ...= . :.=- +-. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef ODEVICE_H_ #define ODEVICE_H_ /* OPIE */ #include <opie2/odevicebutton.h> #include <qpe/qpeapplication.h> /* for Transformation enum.. */ /* QT */ #include <qnamespace.h> #include <qobject.h> #include <qstring.h> #include <qstrlist.h> +#include <qwindowsystem_qws.h> namespace Opie{ namespace Core{ class ODeviceData; /** * The available devices */ enum OModel { Model_Unknown, // = 0 Model_Series_Mask = 0xff000000, Model_iPAQ = ( 1 << 24 ), Model_iPAQ_All = ( Model_iPAQ | 0xffffff ), @@ -306,32 +307,34 @@ public: * default pass an empty string as \a qcopMessage. */ void remapHeldAction ( int button, const OQCopMessage &qcopMessage ); /** * How long (in ms) you have to press a button for a "hold" action */ uint buttonHoldTime() const; signals: void buttonMappingChanged(); private slots: void systemMessage ( const QCString &, const QByteArray & ); protected: + void addPreHandler(QWSServer::KeyboardFilter*aFilter); + void remPreHandler(QWSServer::KeyboardFilter*aFilter); void reloadButtonMapping(); /* ugly virtual hook */ virtual void virtual_hook( int id, void* data ); }; class ODeviceData { public: QString m_vendorstr; OVendor m_vendor; QString m_modelstr; OModel m_model; QString m_systemstr; OSystem m_system; diff --git a/libopie2/opiecore/device/odevice_ipaq.cpp b/libopie2/opiecore/device/odevice_ipaq.cpp index 791e409..21fed99 100644 --- a/libopie2/opiecore/device/odevice_ipaq.cpp +++ b/libopie2/opiecore/device/odevice_ipaq.cpp @@ -156,34 +156,33 @@ void iPAQ::init(const QString& model) break; } m_leds [0] = m_leds [1] = Led_Off; m_power_timer = 0; } void iPAQ::initButtons() { if ( d->m_buttons ) return; if ( isQWS( ) ) { - Opie::Core::OKeyFilter::inst()->addPreHandler(this); - //QWSServer::setKeyboardFilter ( this ); + addPreHandler(this); } d->m_buttons = new QValueList <ODeviceButton>; for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { i_button *ib = ipaq_buttons + i; ODeviceButton b; if (( ib->model & d->m_model ) == d->m_model ) { b. setKeycode ( ib->code ); b. setUserText ( QObject::tr ( "Button", ib->utext )); b. setPixmap ( Resource::loadPixmap ( ib->pix )); b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib->fpressedservice ), ib->fpressedaction )); b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib->fheldservice ), ib->fheldaction )); d->m_buttons->append ( b ); diff --git a/libopie2/opiecore/device/odevice_simpad.cpp b/libopie2/opiecore/device/odevice_simpad.cpp index 6c3253c..bf46e43 100644 --- a/libopie2/opiecore/device/odevice_simpad.cpp +++ b/libopie2/opiecore/device/odevice_simpad.cpp @@ -134,34 +134,33 @@ void SIMpad::init(const QString&) break; } //Distribution detecting code is now in base class m_leds [0] = m_leds [1] = Led_Off; m_power_timer = 0; } void SIMpad::initButtons() { if ( d->m_buttons ) return; if ( isQWS( ) ) { - Opie::Core::OKeyFilter::inst()->addPreHandler(this); -// QWSServer::setKeyboardFilter ( this ); + addPreHandler(this); } d->m_buttons = new QValueList <ODeviceButton>; for ( uint i = 0; i < ( sizeof( simpad_buttons ) / sizeof( s_button )); i++ ) { s_button *sb = simpad_buttons + i; ODeviceButton b; if (( sb->model & d->m_model ) == d->m_model ) { b. setKeycode ( sb->code ); b. setUserText ( QObject::tr ( "Button", sb->utext )); b. setPixmap ( Resource::loadPixmap ( sb->pix )); b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( sb->fpressedservice ), sb->fpressedaction )); b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( sb->fheldservice ), sb->fheldaction )); diff --git a/libopie2/opiecore/okeyfilter.h b/libopie2/opiecore/okeyfilter.h index a65bc48..d183641 100644 --- a/libopie2/opiecore/okeyfilter.h +++ b/libopie2/opiecore/okeyfilter.h @@ -20,51 +20,46 @@ _;:, .> :=|. This program is free software; you can : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* QT */ #include <qwindowsystem_qws.h> #include <qvaluelist.h> namespace Opie { namespace Core { class ODevice; -namespace Internal { - class iPAQ; - class SIMpad; -} + /** * A singleton which will manage all possible keyboard filters inside opie. * It makes sure that key handlers of odevice are checked first than the * keyfilters of software. * @short a keyfilter proxy * @see QWSServer::KeyboardFilter * @author Rajko Albrecht * @version 1.0 */ class OKeyFilter { friend class Opie::Core::ODevice; - friend class Opie::Core::Internal::iPAQ; - friend class Opie::Core::Internal::SIMpad; protected: /** * Protected constructor - generate class via inst() * @see inst() */ OKeyFilter(); /** * Protected constructor - generate class via inst() * @see inst() */ OKeyFilter(const OKeyFilter&){}; /** * Append filter to the primary list. * This is only allowed for friend classes from odevice * @param aFilter a filter to append |