author | davipt <davipt> | 2002-06-20 19:10:03 (UTC) |
---|---|---|
committer | davipt <davipt> | 2002-06-20 19:10:03 (UTC) |
commit | 8c55fec6394ca27aebf49692c643d71db32b7ebf (patch) (unidiff) | |
tree | 652f92eb31431ddae39fa6e7cb58e8f1e8b9d5af /core/applets/cardmon | |
parent | e3b199e4b3ad71cb8d046e33e792402250a8faec (diff) | |
download | opie-8c55fec6394ca27aebf49692c643d71db32b7ebf.zip opie-8c55fec6394ca27aebf49692c643d71db32b7ebf.tar.gz opie-8c55fec6394ca27aebf49692c643d71db32b7ebf.tar.bz2 |
Fix cardmon applet visibility (now visible is some card is plugged) and added
popup on succesfull ejection or insertion of a card.
-rw-r--r-- | core/applets/cardmon/cardmon.cpp | 74 | ||||
-rw-r--r-- | core/applets/cardmon/cardmon.h | 5 | ||||
-rw-r--r-- | core/applets/cardmon/cardmon.pro | 28 |
3 files changed, 68 insertions, 39 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp index 9522b88..ac2aea2 100644 --- a/core/applets/cardmon/cardmon.cpp +++ b/core/applets/cardmon/cardmon.cpp | |||
@@ -52,6 +52,6 @@ CardMonitor::CardMonitor( QWidget *parent ) : QWidget( parent ), | |||
52 | 52 | ||
53 | |||
54 | setFixedSize( pm.size() ); | 53 | setFixedSize( pm.size() ); |
55 | hide(); | 54 | getStatusPcmcia(TRUE); |
56 | getStatusPcmcia(); | 55 | getStatusSd(TRUE); |
56 | repaint(FALSE); | ||
57 | } | 57 | } |
@@ -71,3 +71,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) { | |||
71 | if ( cardInPcmcia0 ) { | 71 | if ( cardInPcmcia0 ) { |
72 | menu->insertItem( tr("Eject card (0) %1").arg(cardInPcmcia0Name), 1 ); | 72 | menu->insertItem( tr("Eject card 0: %1").arg(cardInPcmcia0Name), 1 ); |
73 | } | 73 | } |
@@ -75,8 +75,12 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) { | |||
75 | if ( cardInPcmcia1 ) { | 75 | if ( cardInPcmcia1 ) { |
76 | menu->insertItem( tr("Eject card (1) %1").arg(cardInPcmcia1Name), 2 ); | 76 | menu->insertItem( tr("Eject card 1: %1").arg(cardInPcmcia1Name), 2 ); |
77 | } | 77 | } |
78 | 78 | ||
79 | QPoint p = mapToGlobal( QPoint(1, -menu->sizeHint().height()-1) ); | 79 | QPoint p = mapToGlobal ( QPoint ( 0, 0 )); |
80 | QSize s = menu->sizeHint ( ); | ||
81 | int opt = menu->exec( QPoint ( | ||
82 | p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ), | ||
83 | p. y ( ) - s. height ( ) ), 0); | ||
80 | 84 | ||
81 | if ( menu->exec( p, 1 ) == 1 ) { | 85 | if ( opt == 1 ) { |
82 | 86 | ||
@@ -89,3 +93,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) { | |||
89 | } | 93 | } |
90 | } else if ( menu->exec( p, 1 ) == 0 ) { | 94 | } else if ( opt == 0 ) { |
91 | cmd = "/etc/sdcontrol compeject"; | 95 | cmd = "/etc/sdcontrol compeject"; |
@@ -97,3 +101,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) { | |||
97 | } | 101 | } |
98 | } else if ( menu->exec( p, 1 ) == 2 ) { | 102 | } else if ( opt == 2 ) { |
99 | cmd = "/sbin/cardctl eject 1"; | 103 | cmd = "/sbin/cardctl eject 1"; |
@@ -113,2 +117,3 @@ void CardMonitor::cardMessage( const QCString &msg, const QByteArray & ) { | |||
113 | if ( msg == "stabChanged()" ) { | 117 | if ( msg == "stabChanged()" ) { |
118 | // qDebug("Pcmcia: stabchanged"); | ||
114 | if ( getStatusPcmcia() ) { | 119 | if ( getStatusPcmcia() ) { |
@@ -117,2 +122,3 @@ void CardMonitor::cardMessage( const QCString &msg, const QByteArray & ) { | |||
117 | } else if ( msg == "mtabChanged()" ) { | 122 | } else if ( msg == "mtabChanged()" ) { |
123 | // qDebug("Pcmcia: mtabchanged"); | ||
118 | if ( getStatusSd() ) { | 124 | if ( getStatusSd() ) { |
@@ -123,3 +129,3 @@ void CardMonitor::cardMessage( const QCString &msg, const QByteArray & ) { | |||
123 | 129 | ||
124 | bool CardMonitor::getStatusPcmcia( void ) { | 130 | bool CardMonitor::getStatusPcmcia( int showPopUp = FALSE ) { |
125 | 131 | ||
@@ -149,8 +155,7 @@ bool CardMonitor::getStatusPcmcia( void ) { | |||
149 | if( (*line).startsWith("Socket 0:") ){ | 155 | if( (*line).startsWith("Socket 0:") ){ |
150 | // extendable, maybe read out card name | ||
151 | if( (*line).startsWith("Socket 0: empty") && cardInPcmcia0 ){ | 156 | if( (*line).startsWith("Socket 0: empty") && cardInPcmcia0 ){ |
152 | cardInPcmcia0 = FALSE; | 157 | cardInPcmcia0 = FALSE; |
153 | hide(); | ||
154 | } else if ( !(*line).startsWith("Socket 0: empty") && !cardInPcmcia0 ){ | 158 | } else if ( !(*line).startsWith("Socket 0: empty") && !cardInPcmcia0 ){ |
155 | cardInPcmcia0Name = (*line).mid(((*line).find(':')+1), (*line).length()-9 ); | 159 | cardInPcmcia0Name = (*line).mid(((*line).find(':')+1), (*line).length()-9 ); |
160 | cardInPcmcia0Name.stripWhiteSpace(); | ||
156 | cardInPcmcia0 = TRUE; | 161 | cardInPcmcia0 = TRUE; |
@@ -162,5 +167,5 @@ bool CardMonitor::getStatusPcmcia( void ) { | |||
162 | cardInPcmcia1 = FALSE; | 167 | cardInPcmcia1 = FALSE; |
163 | hide(); | ||
164 | } else if ( !(*line).startsWith("Socket 1: empty") && !cardInPcmcia1 ){ | 168 | } else if ( !(*line).startsWith("Socket 1: empty") && !cardInPcmcia1 ){ |
165 | cardInPcmcia1Name = (*line).mid(((*line).find(':')+1), (*line).length()-9 ); | 169 | cardInPcmcia1Name = (*line).mid(((*line).find(':')+1), (*line).length()-9 ); |
170 | cardInPcmcia1Name.stripWhiteSpace(); | ||
166 | cardInPcmcia1 = TRUE; | 171 | cardInPcmcia1 = TRUE; |
@@ -175,3 +180,2 @@ bool CardMonitor::getStatusPcmcia( void ) { | |||
175 | cardInPcmcia1 = FALSE; | 180 | cardInPcmcia1 = FALSE; |
176 | hide(); | ||
177 | return FALSE; | 181 | return FALSE; |
@@ -180,2 +184,25 @@ bool CardMonitor::getStatusPcmcia( void ) { | |||
180 | 184 | ||
185 | if(!cardInPcmcia0 && !cardInPcmcia1) { | ||
186 | qDebug("Pcmcia: no cards"); | ||
187 | } | ||
188 | |||
189 | if( !showPopUp && (cardWas0 != cardInPcmcia0 || cardWas1 != cardInPcmcia1)) { | ||
190 | QString text = ""; | ||
191 | if(cardWas0 != cardInPcmcia0) { | ||
192 | if(cardInPcmcia0) { text += tr("New card: "); } | ||
193 | else { text += tr("Ejected: "); } | ||
194 | text += cardInPcmcia0Name; | ||
195 | } | ||
196 | if(cardWas0 != cardInPcmcia0 && cardWas1 != cardInPcmcia1) { | ||
197 | text += "\n"; | ||
198 | } | ||
199 | if(cardWas1 != cardInPcmcia1) { | ||
200 | if(cardInPcmcia1) { text += tr("New card: "); } | ||
201 | else { text += tr("Ejected: "); } | ||
202 | text += cardInPcmcia1Name; | ||
203 | } | ||
204 | QMessageBox::warning( this, tr("CardMonitor"), text, | ||
205 | tr("&OK") ); | ||
206 | } | ||
207 | |||
181 | f.close(); | 208 | f.close(); |
@@ -186,3 +213,3 @@ bool CardMonitor::getStatusPcmcia( void ) { | |||
186 | 213 | ||
187 | bool CardMonitor::getStatusSd( void ) { | 214 | bool CardMonitor::getStatusSd( int showPopUp = FALSE ) { |
188 | 215 | ||
@@ -203,12 +230,11 @@ bool CardMonitor::getStatusSd( void ) { | |||
203 | endmntent( mntfp ); | 230 | endmntent( mntfp ); |
204 | if (cardInSd!=cardWas) { | ||
205 | if (cardInSd) { | ||
206 | show(); | ||
207 | } else { | ||
208 | hide(); | ||
209 | } | ||
210 | } | 231 | } |
211 | } else { | 232 | if(!showPopUp && cardWas != cardInSd) { |
212 | hide(); | 233 | QString text = ""; |
234 | if(cardInSd) { text += "SD Inserted"; } | ||
235 | else { text += "SD Removed"; } | ||
236 | QMessageBox::warning( this, tr("CardMonitor"), text, | ||
237 | tr("&OK") ); | ||
213 | } | 238 | } |
239 | |||
214 | #else | 240 | #else |
@@ -224,4 +250,6 @@ void CardMonitor::paintEvent( QPaintEvent * ) { | |||
224 | p.drawPixmap( 0, 0, pm ); | 250 | p.drawPixmap( 0, 0, pm ); |
251 | show(); | ||
225 | } else { | 252 | } else { |
226 | p.eraseRect( rect() ); | 253 | p.eraseRect( rect() ); |
254 | hide(); | ||
227 | } | 255 | } |
diff --git a/core/applets/cardmon/cardmon.h b/core/applets/cardmon/cardmon.h index 2a90c90..f9e3819 100644 --- a/core/applets/cardmon/cardmon.h +++ b/core/applets/cardmon/cardmon.h | |||
@@ -29,4 +29,4 @@ public: | |||
29 | ~CardMonitor(); | 29 | ~CardMonitor(); |
30 | bool getStatusPcmcia( void ); | 30 | bool getStatusPcmcia( int showPopUp = FALSE ); |
31 | bool getStatusSd( void ); | 31 | bool getStatusSd( int showPopUp = FALSE ); |
32 | 32 | ||
@@ -47,2 +47,3 @@ private: | |||
47 | bool cardInSd; | 47 | bool cardInSd; |
48 | void iconShow(); | ||
48 | 49 | ||
diff --git a/core/applets/cardmon/cardmon.pro b/core/applets/cardmon/cardmon.pro index ff3463c..e79e91a 100644 --- a/core/applets/cardmon/cardmon.pro +++ b/core/applets/cardmon/cardmon.pro | |||
@@ -11,15 +11,15 @@ VERSION = 1.0.0 | |||
11 | 11 | ||
12 | TRANSLATIONS = ../i18n/de/libcardmonapplet.ts | 12 | TRANSLATIONS = ../../i18n/de/libcardmonapplet.ts |
13 | TRANSLATIONS += ../i18n/es/libcardmonapplet.ts | 13 | TRANSLATIONS += ../../i18n/es/libcardmonapplet.ts |
14 | TRANSLATIONS += ../i18n/pt/libcardmonapplet.ts | 14 | TRANSLATIONS += ../../i18n/pt/libcardmonapplet.ts |
15 | TRANSLATIONS += ../i18n/pt_BR/libcardmonapplet.ts | 15 | TRANSLATIONS += ../../i18n/pt_BR/libcardmonapplet.ts |
16 | TRANSLATIONS += ../i18n/en/libcardmonapplet.ts | 16 | TRANSLATIONS += ../../i18n/en/libcardmonapplet.ts |
17 | TRANSLATIONS += ../i18n/hu/libcardmonapplet.ts | 17 | TRANSLATIONS += ../../i18n/hu/libcardmonapplet.ts |
18 | TRANSLATIONS += ../i18n/sl/libcardmonapplet.ts | 18 | TRANSLATIONS += ../../i18n/sl/libcardmonapplet.ts |
19 | TRANSLATIONS += ../i18n/pl/libcardmonapplet.ts | 19 | TRANSLATIONS += ../../i18n/pl/libcardmonapplet.ts |
20 | TRANSLATIONS += ../i18n/ja/libcardmonapplet.ts | 20 | TRANSLATIONS += ../../i18n/ja/libcardmonapplet.ts |
21 | TRANSLATIONS += ../i18n/fr/libcardmonapplet.ts | 21 | TRANSLATIONS += ../../i18n/fr/libcardmonapplet.ts |
22 | TRANSLATIONS += ../i18n/ko/libcardmonapplet.ts | 22 | TRANSLATIONS += ../../i18n/ko/libcardmonapplet.ts |
23 | TRANSLATIONS += ../i18n/no/libcardmonapplet.ts | 23 | TRANSLATIONS += ../../i18n/no/libcardmonapplet.ts |
24 | TRANSLATIONS += ../i18n/zh_CN/libcardmonapplet.ts | 24 | TRANSLATIONS += ../../i18n/zh_CN/libcardmonapplet.ts |
25 | TRANSLATIONS += ../i18n/zh_TW/libcardmonapplet.ts | 25 | TRANSLATIONS += ../../i18n/zh_TW/libcardmonapplet.ts |