summaryrefslogtreecommitdiff
path: root/core/applets/cardmon/cardmon.cpp
Unidiff
Diffstat (limited to 'core/applets/cardmon/cardmon.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/cardmon/cardmon.cpp45
1 files changed, 34 insertions, 11 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp
index ac2aea2..3dd9f54 100644
--- a/core/applets/cardmon/cardmon.cpp
+++ b/core/applets/cardmon/cardmon.cpp
@@ -26,5 +26,5 @@
26#include <qmessagebox.h> 26#include <qmessagebox.h>
27#include <qpopupmenu.h>
28#include <qfile.h> 27#include <qfile.h>
29#include <qtextstream.h> 28#include <qtextstream.h>
29#include <qtimer.h>
30 30
@@ -56,2 +56,4 @@ CardMonitor::CardMonitor( QWidget *parent ) : QWidget( parent ),
56 repaint(FALSE); 56 repaint(FALSE);
57 popUpMenu = 0;
58 popUpMenuTimer = 0;
57} 59}
@@ -61,2 +63,28 @@ CardMonitor::~CardMonitor() {
61 63
64void CardMonitor::popUp(QString message) {
65 if ( ! popUpMenu ) {
66 popUpMenu = new QPopupMenu();
67 }
68 popUpMenu->clear();
69 popUpMenu->insertItem( message, 0 );
70
71 QPoint p = mapToGlobal ( QPoint ( 0, 0 ));
72 QSize s = popUpMenu->sizeHint ( );
73 popUpMenu->popup( QPoint (
74 p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ),
75 p. y ( ) - s. height ( ) ), 0);
76
77 if ( ! popUpMenuTimer ) {
78 popUpMenuTimer = new QTimer( this );
79 connect( popUpMenuTimer, SIGNAL(timeout()), this, SLOT(popUpTimeout()) );
80 }
81 timerEvent(0);
82 popUpMenuTimer->start( 2000 );
83}
84
85void CardMonitor::popUpTimeout() {
86 popUpMenu->hide();
87 popUpMenuTimer->stop();
88}
89
62void CardMonitor::mousePressEvent( QMouseEvent * ) { 90void CardMonitor::mousePressEvent( QMouseEvent * ) {
@@ -90,4 +118,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
90 qDebug("Could not execute `/sbin/cardctl eject 0'! err=%d", err); 118 qDebug("Could not execute `/sbin/cardctl eject 0'! err=%d", err);
91 QMessageBox::warning( this, tr("CardMonitor"), tr("CF/PCMCIA card eject failed!"), 119 popUp( tr("CF/PCMCIA card eject failed!"));
92 tr("&OK") );
93 } 120 }
@@ -98,4 +125,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
98 qDebug("Could not execute `/etc/sdcontrol comeject'! err=%d", err); 125 qDebug("Could not execute `/etc/sdcontrol comeject'! err=%d", err);
99 QMessageBox::warning( this, tr("CardMonitor"), tr("SD/MMC card eject failed!"), 126 popUp( tr("SD/MMC card eject failed!"));
100 tr("&OK") );
101 } 127 }
@@ -106,4 +132,3 @@ void CardMonitor::mousePressEvent( QMouseEvent * ) {
106 qDebug("Could not execute `/sbin/cardctl eject 1'! err=%d", err); 132 qDebug("Could not execute `/sbin/cardctl eject 1'! err=%d", err);
107 QMessageBox::warning( this, tr("CardMonitor"), tr("CF/PCMCIA card eject failed!"), 133 popUp( tr("CF/PCMCIA card eject failed!"));
108 tr("&OK") );
109 } 134 }
@@ -203,4 +228,3 @@ bool CardMonitor::getStatusPcmcia( int showPopUp = FALSE ) {
203 } 228 }
204 QMessageBox::warning( this, tr("CardMonitor"), text, 229 popUp( text );
205 tr("&OK") );
206 } 230 }
@@ -235,4 +259,3 @@ bool CardMonitor::getStatusSd( int showPopUp = FALSE ) {
235 else { text += "SD Removed"; } 259 else { text += "SD Removed"; }
236 QMessageBox::warning( this, tr("CardMonitor"), text, 260 popUp( text );
237 tr("&OK") );
238 } 261 }