Diffstat (limited to 'core/applets/cardmon/cardmon.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/applets/cardmon/cardmon.cpp | 84 |
1 files changed, 56 insertions, 28 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 | } |
@@ -67,3 +67,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) { | |||
67 | if ( cardInSd ) { | 67 | if ( cardInSd ) { |
68 | menu->insertItem( tr("Eject SD/ MMC card"), 0 ); | 68 | menu->insertItem( tr("Eject SD/MMC card"), 0 ); |
69 | } | 69 | } |
@@ -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 | ||
@@ -88,4 +92,4 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) { | |||
88 | tr("&OK") ); | 92 | tr("&OK") ); |
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"; |
@@ -96,4 +100,4 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) { | |||
96 | tr("&OK") ); | 100 | tr("&OK") ); |
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"; |
@@ -104,3 +108,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) { | |||
104 | tr("&OK") ); | 108 | tr("&OK") ); |
105 | } | 109 | } |
106 | } | 110 | } |
@@ -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 | } | ||
211 | } else { | ||
212 | hide(); | ||
213 | } | 231 | } |
232 | if(!showPopUp && cardWas != cardInSd) { | ||
233 | QString text = ""; | ||
234 | if(cardInSd) { text += "SD Inserted"; } | ||
235 | else { text += "SD Removed"; } | ||
236 | QMessageBox::warning( this, tr("CardMonitor"), text, | ||
237 | tr("&OK") ); | ||
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 | } |