-rw-r--r-- | noncore/applets/pcmcia/pcmcia.cpp | 35 | ||||
-rw-r--r-- | noncore/applets/pcmcia/pcmcia.h | 5 |
2 files changed, 39 insertions, 1 deletions
diff --git a/noncore/applets/pcmcia/pcmcia.cpp b/noncore/applets/pcmcia/pcmcia.cpp index 186dfea..0787c3c 100644 --- a/noncore/applets/pcmcia/pcmcia.cpp +++ b/noncore/applets/pcmcia/pcmcia.cpp | |||
@@ -73,23 +73,46 @@ PcmciaManager::PcmciaManager( QWidget * parent ) : QWidget( parent ) | |||
73 | SIGNAL( received(const QCString&,const QByteArray&) ), this, | 73 | SIGNAL( received(const QCString&,const QByteArray&) ), this, |
74 | SLOT( cardMessage(const QCString&,const QByteArray&) ) ); | 74 | SLOT( cardMessage(const QCString&,const QByteArray&) ) ); |
75 | 75 | ||
76 | setFocusPolicy( NoFocus ); | 76 | setFocusPolicy( NoFocus ); |
77 | setFixedWidth ( AppLnk::smallIconSize() ); | 77 | setFixedWidth ( AppLnk::smallIconSize() ); |
78 | setFixedHeight ( AppLnk::smallIconSize() ); | 78 | setFixedHeight ( AppLnk::smallIconSize() ); |
79 | pm = Opie::Core::OResource::loadPixmap( "cardmon/pcmcia", Opie::Core::OResource::SmallIcon ); | 79 | pm = Opie::Core::OResource::loadPixmap( "cardmon/pcmcia", Opie::Core::OResource::SmallIcon ); |
80 | configuring = false; | 80 | configuring = false; |
81 | |||
82 | QCopChannel *channel = new QCopChannel( "QPE/System", this ); | ||
83 | connect( channel, SIGNAL(received(const QCString&,const QByteArray&)), | ||
84 | this, SLOT(handleSystemChannel(const QCString&,const QByteArray&)) ); | ||
81 | } | 85 | } |
82 | 86 | ||
83 | 87 | ||
84 | PcmciaManager::~PcmciaManager() | 88 | PcmciaManager::~PcmciaManager() |
85 | { | 89 | { |
86 | } | 90 | } |
87 | 91 | ||
92 | void PcmciaManager::handleSystemChannel( const QCString&msg, const QByteArray& ) | ||
93 | { | ||
94 | if ( msg == "returnFromSuspend()" ) | ||
95 | { | ||
96 | if ( !OPcmciaSystem::instance()->cardCount() ) return; | ||
97 | OPcmciaSystem* sys = OPcmciaSystem::instance(); | ||
98 | OPcmciaSystem::CardIterator it = sys->iterator(); | ||
99 | OPcmciaSocket* theCard = 0; | ||
100 | |||
101 | while ( it.current() ) | ||
102 | { | ||
103 | if ( it.current()->isEmpty() ) | ||
104 | { | ||
105 | executeResumeAction( theCard ); | ||
106 | } | ||
107 | ++it; | ||
108 | } | ||
109 | } | ||
110 | } | ||
88 | 111 | ||
89 | void PcmciaManager::popUp( QString message, QString icon ) | 112 | void PcmciaManager::popUp( QString message, QString icon ) |
90 | { | 113 | { |
91 | if ( !popupMenu ) { | 114 | if ( !popupMenu ) { |
92 | popupMenu = new QPopupMenu( this ); | 115 | popupMenu = new QPopupMenu( this ); |
93 | } | 116 | } |
94 | 117 | ||
95 | popupMenu->clear(); | 118 | popupMenu->clear(); |
@@ -192,16 +215,18 @@ void PcmciaManager::cardMessage( const QCString & msg, const QByteArray & ) | |||
192 | { | 215 | { |
193 | QString cardSection = QString( "Card_%1" ).arg( i ); | 216 | QString cardSection = QString( "Card_%1" ).arg( i ); |
194 | cfg.setGroup( cardSection ); | 217 | cfg.setGroup( cardSection ); |
195 | QString name = cfg.readEntry( "name" ); | 218 | QString name = cfg.readEntry( "name" ); |
196 | odebug << "pcmcia: comparing card '" << cardName << "' with known card '" << name << "'" << oendl; | 219 | odebug << "pcmcia: comparing card '" << cardName << "' with known card '" << name << "'" << oendl; |
197 | if ( cardName == name ) | 220 | if ( cardName == name ) |
198 | { | 221 | { |
199 | newCard = false; | 222 | newCard = false; |
223 | odebug << "pcmcia: we have seen this card before" << oendl; | ||
224 | executeInsertAction( theCard ); | ||
200 | break; | 225 | break; |
201 | } | 226 | } |
202 | } | 227 | } |
203 | if ( !newCard ) ++it; else break; | 228 | if ( !newCard ) ++it; else break; |
204 | } | 229 | } |
205 | } | 230 | } |
206 | if ( newCard ) | 231 | if ( newCard ) |
207 | { | 232 | { |
@@ -339,11 +364,21 @@ bool PcmciaManager::configure( OPcmciaSocket* card, QString& insertAction, QStri | |||
339 | insertAction = dialog.cbInsertAction->currentText(); | 364 | insertAction = dialog.cbInsertAction->currentText(); |
340 | resumeAction = dialog.cbResumeAction->currentText(); | 365 | resumeAction = dialog.cbResumeAction->currentText(); |
341 | driver = dialog.cbBindTo->currentText(); | 366 | driver = dialog.cbBindTo->currentText(); |
342 | conf = dialog.bindEntries[driver]; | 367 | conf = dialog.bindEntries[driver]; |
343 | } | 368 | } |
344 | return configresult; | 369 | return configresult; |
345 | } | 370 | } |
346 | 371 | ||
372 | void PcmciaManager::executeInsertAction( Opie::Core::OPcmciaSocket* card ) | ||
373 | { | ||
374 | odebug << "pcmcia: execute insert action" << oendl; | ||
375 | } | ||
376 | |||
377 | void PcmciaManager::executeResumeAction( Opie::Core::OPcmciaSocket* card ) | ||
378 | { | ||
379 | odebug << "pcmcia: execute resume action" << oendl; | ||
380 | } | ||
381 | |||
347 | 382 | ||
348 | EXPORT_OPIE_APPLET_v1( PcmciaManager ) | 383 | EXPORT_OPIE_APPLET_v1( PcmciaManager ) |
349 | 384 | ||
diff --git a/noncore/applets/pcmcia/pcmcia.h b/noncore/applets/pcmcia/pcmcia.h index 94203d3..6567cd7 100644 --- a/noncore/applets/pcmcia/pcmcia.h +++ b/noncore/applets/pcmcia/pcmcia.h | |||
@@ -40,27 +40,30 @@ class PcmciaManager : public QWidget | |||
40 | { | 40 | { |
41 | Q_OBJECT | 41 | Q_OBJECT |
42 | public: | 42 | public: |
43 | PcmciaManager( QWidget *parent = 0 ); | 43 | PcmciaManager( QWidget *parent = 0 ); |
44 | ~PcmciaManager(); | 44 | ~PcmciaManager(); |
45 | static int position(); | 45 | static int position(); |
46 | 46 | ||
47 | private slots: | 47 | private slots: |
48 | void cardMessage( const QCString& msg, const QByteArray& ); | 48 | void handleSystemChannel( const QCString&, const QByteArray& ); |
49 | void cardMessage( const QCString&, const QByteArray& ); | ||
49 | void userCardAction( int action ); | 50 | void userCardAction( int action ); |
50 | void popupTimeout(); | 51 | void popupTimeout(); |
51 | 52 | ||
52 | protected: | 53 | protected: |
53 | void paintEvent( QPaintEvent* ); | 54 | void paintEvent( QPaintEvent* ); |
54 | void mousePressEvent( QMouseEvent * ); | 55 | void mousePressEvent( QMouseEvent * ); |
55 | 56 | ||
56 | private: | 57 | private: |
57 | bool configure( Opie::Core::OPcmciaSocket*, QString&, QString&, QString&, QString& ); | 58 | bool configure( Opie::Core::OPcmciaSocket*, QString&, QString&, QString&, QString& ); |
58 | void execCommand( const QStringList &command ); | 59 | void execCommand( const QStringList &command ); |
60 | void executeInsertAction( Opie::Core::OPcmciaSocket* ); | ||
61 | void executeResumeAction( Opie::Core::OPcmciaSocket* ); | ||
59 | void popUp(QString message, QString icon = QString::null ); | 62 | void popUp(QString message, QString icon = QString::null ); |
60 | 63 | ||
61 | private: | 64 | private: |
62 | bool configuring; | 65 | bool configuring; |
63 | int commandOrig; | 66 | int commandOrig; |
64 | QPixmap pm; | 67 | QPixmap pm; |
65 | QPopupMenu *popupMenu; | 68 | QPopupMenu *popupMenu; |
66 | 69 | ||