summaryrefslogtreecommitdiff
path: root/core
Unidiff
Diffstat (limited to 'core') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/cardmon/cardmon.cpp35
-rw-r--r--core/applets/cardmon/cardmon.h8
2 files changed, 27 insertions, 16 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp
index 43ccce2..fb140fe 100644
--- a/core/applets/cardmon/cardmon.cpp
+++ b/core/applets/cardmon/cardmon.cpp
@@ -110,3 +110,4 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
110 QPopupMenu * menu = new QPopupMenu( this ); 110 QPopupMenu * menu = new QPopupMenu( this );
111 QString cmd; 111 QStringList cmd;
112 bool execute = true;
112 113
@@ -137,11 +138,16 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
137 if ( opt == 1 ) { 138 if ( opt == 1 ) {
138 m_commandOrig = 1; 139 m_commandOrig = PCMCIA_Socket1;
139 execCommand("/sbin/cardctl eject 0"); 140 cmd << "/sbin/cardctl" << "eject" << "0";
140 } else if ( opt == 0 ) { 141 } else if ( opt == 0 ) {
141 m_commandOrig = 2; 142 m_commandOrig = MMC_Socket;
142 execCommand( QString("umount %1").arg(cardSdName)); 143 cmd << "umount" << cardSdName;
143 } else if ( opt == 2 ) { 144 } else if ( opt == 2 ) {
144 m_commandOrig = 3; 145 m_commandOrig = PCMCIA_Socket2;
145 execCommand( "/sbin/cardctl eject 1" ); 146 cmd << "/sbin/cardctl" << "eject" << "1";
146 } 147 }else
148 execute = false;
149
150 if ( execute )
151 execCommand( cmd );
152
147 delete menu; 153 delete menu;
@@ -335,3 +341,3 @@ int CardMonitor::position() {
335 341
336void CardMonitor::execCommand( const QString &command ) { 342void CardMonitor::execCommand( const QStringList &strList ) {
337 delete m_process; 343 delete m_process;
@@ -341,5 +347,5 @@ void CardMonitor::execCommand( const QString &command ) {
341 m_process = new OProcess(); 347 m_process = new OProcess();
342 QStringList strList = QStringList::split( " ", command );
343 348
344 for ( QStringList::Iterator it = strList.begin(); it != strList.end(); ++it ) { 349
350 for ( QStringList::ConstIterator it = strList.begin(); it != strList.end(); ++it ) {
345 *m_process << *it; 351 *m_process << *it;
@@ -362,8 +368,7 @@ void CardMonitor::slotExited( OProcess* ) {
362 if( ret != 0 ) { 368 if( ret != 0 ) {
363 if ( m_commandOrig == 1 ) { 369 if ( m_commandOrig == PCMCIA_Socket1 ||
370 m_commandOrig == PCMCIA_Socket2 ) {
364 popUp( tr( "CF/PCMCIA card eject failed!" ) ); 371 popUp( tr( "CF/PCMCIA card eject failed!" ) );
365 } else if ( m_commandOrig == 2 ) { 372 } else if ( m_commandOrig == MMC_Socket ) {
366 popUp( tr( "SD/MMC card eject failed!" ) ); 373 popUp( tr( "SD/MMC card eject failed!" ) );
367 } else if ( m_commandOrig == 3 ) {
368 popUp( tr( "CF/PCMCIA card eject failed!" ) );
369 } 374 }
diff --git a/core/applets/cardmon/cardmon.h b/core/applets/cardmon/cardmon.h
index b02c8b1..400f5ae 100644
--- a/core/applets/cardmon/cardmon.h
+++ b/core/applets/cardmon/cardmon.h
@@ -34,2 +34,8 @@ class CardMonitor : public QWidget {
34public: 34public:
35 enum {
36 PCMCIA_Socket1,
37 PCMCIA_Socket2,
38 MMC_Socket
39 };
40
35 CardMonitor( QWidget *parent = 0 ); 41 CardMonitor( QWidget *parent = 0 );
@@ -49,3 +55,3 @@ protected:
49private: 55private:
50 void execCommand( const QString &command ); 56 void execCommand( const QStringList &command );
51 int m_commandOrig; 57 int m_commandOrig;