summaryrefslogtreecommitdiff
path: root/core/applets/cardmon/cardmon.cpp
authorkergoth <kergoth>2002-12-11 23:50:03 (UTC)
committer kergoth <kergoth>2002-12-11 23:50:03 (UTC)
commitfe063bdf069cd33def6347777624798e4f3a7059 (patch) (unidiff)
tree75eff727ef7a265250bfa821bee760de876c520e /core/applets/cardmon/cardmon.cpp
parentea044cf85d1456e6ff5127745bc3f04ed353541f (diff)
downloadopie-fe063bdf069cd33def6347777624798e4f3a7059.zip
opie-fe063bdf069cd33def6347777624798e4f3a7059.tar.gz
opie-fe063bdf069cd33def6347777624798e4f3a7059.tar.bz2
Couple minor bits. 1) show the ide icon for sd/mmc, 2) slight change to text on sd/mmc insert/eject popup, 3) do the unmount for sd directly in OZ, as in familiar.
Diffstat (limited to 'core/applets/cardmon/cardmon.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/cardmon/cardmon.cpp118
1 files changed, 72 insertions, 46 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp
index 9293c6f..25bb137 100644
--- a/core/applets/cardmon/cardmon.cpp
+++ b/core/applets/cardmon/cardmon.cpp
@@ -31,2 +31,3 @@
31#include <qtimer.h> 31#include <qtimer.h>
32#include <qapplication.h>
32 33
@@ -47,11 +48,15 @@ using namespace Opie;
47CardMonitor::CardMonitor( QWidget *parent ) : QWidget( parent ), 48CardMonitor::CardMonitor( QWidget *parent ) : QWidget( parent ),
48 pm( Resource::loadPixmap( "cardmon/pcmcia" ) ) { 49pm(Resource::
50 loadPixmap("cardmon/pcmcia"))
51{
49 52
50 QCopChannel* pcmciaChannel = new QCopChannel( "QPE/Card", this ); 53 QCopChannel* pcmciaChannel = new QCopChannel( "QPE/Card", this );
51 connect( pcmciaChannel, SIGNAL( received( const QCString &, const QByteArray &) ), 54 connect(pcmciaChannel,
52 this, SLOT( cardMessage( const QCString &, const QByteArray &) ) ); 55 SIGNAL(received(const QCString &, const QByteArray &)), this,
56 SLOT(cardMessage(const QCString &, const QByteArray &)));
53 57
54 QCopChannel* sdChannel = new QCopChannel( "QPE/Card", this ); 58 QCopChannel* sdChannel = new QCopChannel( "QPE/Card", this );
55 connect( sdChannel, SIGNAL( received( const QCString &, const QByteArray &) ), 59 connect(sdChannel,
56 this, SLOT( cardMessage( const QCString &, const QByteArray &) ) ); 60 SIGNAL(received(const QCString &, const QByteArray &)), this,
61 SLOT(cardMessage(const QCString &, const QByteArray &)));
57 62
@@ -68,3 +73,4 @@ CardMonitor::CardMonitor( QWidget *parent ) : QWidget( parent ),
68 73
69CardMonitor::~CardMonitor() { 74CardMonitor::~CardMonitor()
75{
70 if( popupMenu ) { 76 if( popupMenu ) {
@@ -74,3 +80,4 @@ CardMonitor::~CardMonitor() {
74 80
75void CardMonitor::popUp( QString message, QString icon ) { 81void CardMonitor::popUp(QString message, QString icon)
82{
76 if ( ! popupMenu ) { 83 if ( ! popupMenu ) {
@@ -83,3 +90,4 @@ void CardMonitor::popUp( QString message, QString icon ) {
83 } else { 90 } else {
84 popupMenu->insertItem( QIconSet ( Resource::loadPixmap ( icon ) ), message, 0 ); 91 popupMenu->insertItem(QIconSet(Resource::loadPixmap(icon)),
92 message, 0);
85 } 93 }
@@ -88,4 +96,3 @@ void CardMonitor::popUp( QString message, QString icon ) {
88 QSize s = popupMenu->sizeHint (); 96 QSize s = popupMenu->sizeHint ();
89 popupMenu->popup( QPoint ( 97 popupMenu->popup(QPoint(p.x() + (width() / 2) - (s.width() / 2),
90 p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ),
91 p. y ( ) - s. height ( ) ), 0); 98 p. y ( ) - s. height ( ) ), 0);
@@ -95,3 +102,4 @@ void CardMonitor::popUp( QString message, QString icon ) {
95 102
96void CardMonitor::popupTimeout() { 103void CardMonitor::popupTimeout()
104{
97 popupMenu->hide(); 105 popupMenu->hide();
@@ -99,3 +107,4 @@ void CardMonitor::popupTimeout() {
99 107
100void CardMonitor::mousePressEvent( QMouseEvent * ) { 108void CardMonitor::mousePressEvent(QMouseEvent *)
109{
101 QPopupMenu *menu = new QPopupMenu(this); 110 QPopupMenu *menu = new QPopupMenu(this);
@@ -105,3 +114,4 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
105 if ( cardInSd ) { 114 if ( cardInSd ) {
106 menu->insertItem( tr("Eject SD/MMC card"), 0 ); 115 menu->insertItem(QIconSet(Resource::loadPixmap("cardmon/ide")),
116 tr("Eject SD/MMC card"), 0);
107 } 117 }
@@ -109,3 +119,5 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
109 if ( cardInPcmcia0 ) { 119 if ( cardInPcmcia0 ) {
110 menu->insertItem( QIconSet ( Resource::loadPixmap ( "cardmon/" + cardInPcmcia0Type ) ), 120 menu->
121 insertItem(QIconSet
122 (Resource::loadPixmap("cardmon/" + cardInPcmcia0Type)),
111 tr( "Eject card 0: %1" ).arg(cardInPcmcia0Name ), 1 ); 123 tr( "Eject card 0: %1" ).arg(cardInPcmcia0Name ), 1 );
@@ -114,3 +126,5 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
114 if ( cardInPcmcia1 ) { 126 if ( cardInPcmcia1 ) {
115 menu->insertItem( QIconSet ( Resource::loadPixmap ( "cardmon/" + cardInPcmcia1Type ) ), 127 menu->
128 insertItem(QIconSet
129 (Resource::loadPixmap("cardmon/" + cardInPcmcia1Type)),
116 tr( "Eject card 1: %1" ).arg( cardInPcmcia1Name ), 2 ); 130 tr( "Eject card 1: %1" ).arg( cardInPcmcia1Name ), 2 );
@@ -120,4 +134,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
120 QSize s = menu->sizeHint (); 134 QSize s = menu->sizeHint ();
121 int opt = menu->exec( QPoint ( 135 int opt = menu->exec(QPoint(p.x() + (width() / 2) - (s.width() / 2),
122 p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ),
123 p. y ( ) - s. height ( ) ), 0); 136 p. y ( ) - s. height ( ) ), 0);
@@ -127,4 +140,5 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
127 err = system( ( const char * ) cmd ); 140 err = system( ( const char * ) cmd );
128 if ( ( err == 127 ) || ( err < 0 ) ) { 141 if (err != 0) {
129 qDebug( "Could not execute `/sbin/cardctl eject 0'! err=%d", err ); 142 qDebug("Could not execute `/sbin/cardctl eject 0'! err=%d",
143 err);
130 popUp( tr( "CF/PCMCIA card eject failed!" ) ); 144 popUp( tr( "CF/PCMCIA card eject failed!" ) );
@@ -134,14 +148,9 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
134 cmd = "umount /dev/mmc/part1"; 148 cmd = "umount /dev/mmc/part1";
135 err = system( ( const char *) cmd );
136 if ( ( err != 0 ) ) {
137 popUp( tr("SD/MMC card eject failed!") );
138 }
139 } else { 149 } else {
140 cmd = "/etc/sdcontrol compeject"; 150 cmd = "umount /dev/mmcda1";
151 }
141 err = system( ( const char *) cmd ); 152 err = system( ( const char *) cmd );
142 if ( ( err != 0 ) ) { 153 if (err != 0) {
143 qDebug( "Could not execute `/etc/sdcontrol comeject'! err=%d", err );
144 popUp( tr("SD/MMC card eject failed!") ); 154 popUp( tr("SD/MMC card eject failed!") );
145 } 155 }
146 }
147 } else if ( opt == 2 ) { 156 } else if ( opt == 2 ) {
@@ -149,4 +158,5 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
149 err = system( ( const char *) cmd ); 158 err = system( ( const char *) cmd );
150 if ( ( err == 127 ) || ( err < 0 ) ) { 159 if (err != 0) {
151 qDebug( "Could not execute `/sbin/cardctl eject 1'! err=%d", err ); 160 qDebug("Could not execute `/sbin/cardctl eject 1'! err=%d",
161 err);
152 popUp( tr( "CF/PCMCIA card eject failed!" ) ); 162 popUp( tr( "CF/PCMCIA card eject failed!" ) );
@@ -158,3 +168,4 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
158 168
159void CardMonitor::cardMessage( const QCString &msg, const QByteArray & ) { 169void CardMonitor::cardMessage(const QCString & msg, const QByteArray &)
170{
160 if ( msg == "stabChanged()" ) { 171 if ( msg == "stabChanged()" ) {
@@ -163,3 +174,3 @@ void CardMonitor::cardMessage( const QCString &msg, const QByteArray & ) {
163 } else if ( msg == "mtabChanged()" ) { 174 } else if ( msg == "mtabChanged()" ) {
164 qDebug("CARDMONAPPLET: mtabchanged"); 175 // qDebug("CARDMONAPPLET: mtabchanged");
165 getStatusSd(); 176 getStatusSd();
@@ -168,3 +179,4 @@ void CardMonitor::cardMessage( const QCString &msg, const QByteArray & ) {
168 179
169bool CardMonitor::getStatusPcmcia( int showPopUp ) { 180bool CardMonitor::getStatusPcmcia(int showPopUp)
181{
170 182
@@ -192,3 +204,4 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
192 list = QStringList::split( "\n", streamIn ); 204 list = QStringList::split( "\n", streamIn );
193 for( QStringList::Iterator line=list.begin(); line!=list.end(); line++ ) { 205 for (QStringList::Iterator line = list.begin(); line != list.end();
206 line++) {
194 if( (*line).startsWith( "Socket 0:" ) ){ 207 if( (*line).startsWith( "Socket 0:" ) ){
@@ -196,4 +209,7 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
196 cardInPcmcia0 = FALSE; 209 cardInPcmcia0 = FALSE;
197 } else if ( !(*line).startsWith( "Socket 0: empty" ) && !cardInPcmcia0 ){ 210 } else if (!(*line).startsWith("Socket 0: empty")
198 cardInPcmcia0Name = (*line).mid( ( (*line).find( ':' ) + 1 ), (*line).length() - 9 ); 211 && !cardInPcmcia0) {
212 cardInPcmcia0Name =
213 (*line).mid(((*line).find(':') + 1),
214 (*line).length() - 9);
199 cardInPcmcia0Name.stripWhiteSpace(); 215 cardInPcmcia0Name.stripWhiteSpace();
@@ -203,3 +219,4 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
203 int pos=(*line).find('\t' ) + 1; 219 int pos=(*line).find('\t' ) + 1;
204 cardInPcmcia0Type = (*line).mid( pos, (*line).find( "\t" , pos) - pos ); 220 cardInPcmcia0Type =
221 (*line).mid(pos, (*line).find("\t", pos) - pos);
205 } 222 }
@@ -208,4 +225,7 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
208 cardInPcmcia1 = FALSE; 225 cardInPcmcia1 = FALSE;
209 } else if ( !(*line).startsWith( "Socket 1: empty" ) && !cardInPcmcia1 ) { 226 } else if (!(*line).startsWith("Socket 1: empty")
210 cardInPcmcia1Name = (*line).mid(((*line).find(':') + 1), (*line).length() - 9 ); 227 && !cardInPcmcia1) {
228 cardInPcmcia1Name =
229 (*line).mid(((*line).find(':') + 1),
230 (*line).length() - 9);
211 cardInPcmcia1Name.stripWhiteSpace(); 231 cardInPcmcia1Name.stripWhiteSpace();
@@ -215,3 +235,4 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
215 int pos=(*line).find('\t') + 1; 235 int pos=(*line).find('\t') + 1;
216 cardInPcmcia1Type = (*line).mid( pos, (*line).find("\t", pos) - pos ); 236 cardInPcmcia1Type =
237 (*line).mid(pos, (*line).find("\t", pos) - pos);
217 } 238 }
@@ -221,3 +242,4 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
221 242
222 if( !showPopUp && (cardWas0 != cardInPcmcia0 || cardWas1 != cardInPcmcia1) ) { 243 if (!showPopUp
244 && (cardWas0 != cardInPcmcia0 || cardWas1 != cardInPcmcia1)) {
223 QString text = QString::null; 245 QString text = QString::null;
@@ -255,3 +277,4 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
255 } 277 }
256 return ( (cardWas0 == cardInPcmcia0 && cardWas1 == cardInPcmcia1 ) ? FALSE : TRUE ); 278 return ((cardWas0 == cardInPcmcia0
279 && cardWas1 == cardInPcmcia1) ? FALSE : TRUE);
257} 280}
@@ -259,3 +282,4 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
259 282
260bool CardMonitor::getStatusSd( int showPopUp ) { 283bool CardMonitor::getStatusSd(int showPopUp)
284{
261 285
@@ -272,3 +296,4 @@ bool CardMonitor::getStatusSd( int showPopUp ) {
272 //qDebug( fs ); 296 //qDebug( fs );
273 if ( fs.left( 14 ) == "/dev/mmc/part1" || fs.left( 7 ) == "/dev/sd" || fs.left( 9 ) == "/dev/mmcd" ) { 297 if (fs.left(14) == "/dev/mmc/part1" || fs.left(7) == "/dev/sd"
298 || fs.left(9) == "/dev/mmcd") {
274 cardInSd = TRUE; 299 cardInSd = TRUE;
@@ -287,6 +312,6 @@ bool CardMonitor::getStatusSd( int showPopUp ) {
287 if( cardInSd ) { 312 if( cardInSd ) {
288 text += "SD Inserted"; 313 text += "New card: SD/MMC";
289 what = "on"; 314 what = "on";
290 } else { 315 } else {
291 text += "SD Removed"; 316 text += "Ejected: SD/MMC";
292 what = "off"; 317 what = "off";
@@ -303,3 +328,4 @@ bool CardMonitor::getStatusSd( int showPopUp ) {
303 328
304void CardMonitor::paintEvent( QPaintEvent * ) { 329void CardMonitor::paintEvent(QPaintEvent *)
330{
305 331