summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2005-06-21 14:11:55 (UTC)
committer mickeyl <mickeyl>2005-06-21 14:11:55 (UTC)
commitae85d18a1f8a63323ad47631724516f3aa355a75 (patch) (unidiff)
tree9238ab79beabca8f035714f3e339513c06685d2a
parent65ea54f43ee7dcbd95ffb474c8dfbb8b076d43e5 (diff)
downloadopie-ae85d18a1f8a63323ad47631724516f3aa355a75.zip
opie-ae85d18a1f8a63323ad47631724516f3aa355a75.tar.gz
opie-ae85d18a1f8a63323ad47631724516f3aa355a75.tar.bz2
- prepare methods to execute the preferred actions on insertion and suspend
- intercept QPE/System channel to listen for 'resumeFromSuspend()'
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/pcmcia/pcmcia.cpp35
-rw-r--r--noncore/applets/pcmcia/pcmcia.h5
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
@@ -75,19 +75,42 @@ PcmciaManager::PcmciaManager( QWidget * parent ) : QWidget( parent )
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
84PcmciaManager::~PcmciaManager() 88PcmciaManager::~PcmciaManager()
85{ 89{
86} 90}
87 91
92void 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
89void PcmciaManager::popUp( QString message, QString icon ) 112void 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 }
@@ -194,12 +217,14 @@ void PcmciaManager::cardMessage( const QCString & msg, const QByteArray & )
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 }
@@ -341,9 +366,19 @@ bool PcmciaManager::configure( OPcmciaSocket* card, QString& insertAction, QStri
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
372void PcmciaManager::executeInsertAction( Opie::Core::OPcmciaSocket* card )
373{
374 odebug << "pcmcia: execute insert action" << oendl;
375}
376
377void PcmciaManager::executeResumeAction( Opie::Core::OPcmciaSocket* card )
378{
379 odebug << "pcmcia: execute resume action" << oendl;
380}
381
347 382
348EXPORT_OPIE_APPLET_v1( PcmciaManager ) 383EXPORT_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
@@ -42,23 +42,26 @@ class PcmciaManager : public QWidget
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;