summaryrefslogtreecommitdiff
path: root/noncore/applets/pcmcia/pcmcia.cpp
Side-by-side diff
Diffstat (limited to 'noncore/applets/pcmcia/pcmcia.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/pcmcia/pcmcia.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/noncore/applets/pcmcia/pcmcia.cpp b/noncore/applets/pcmcia/pcmcia.cpp
index 6c18e86..fac7065 100644
--- a/noncore/applets/pcmcia/pcmcia.cpp
+++ b/noncore/applets/pcmcia/pcmcia.cpp
@@ -65,24 +65,25 @@ using namespace Opie::Ui;
PcmciaManager::PcmciaManager( QWidget * parent ) : QWidget( parent )
{
QCopChannel * pcmciaChannel = new QCopChannel( "QPE/Card", this );
connect( pcmciaChannel,
SIGNAL( received(const QCString&,const QByteArray&) ), this,
SLOT( cardMessage(const QCString&,const QByteArray&) ) );
setFocusPolicy( NoFocus );
setFixedWidth ( AppLnk::smallIconSize() );
setFixedHeight ( AppLnk::smallIconSize() );
pm = Opie::Core::OResource::loadPixmap( "cardmon/pcmcia", Opie::Core::OResource::SmallIcon );
+ configuring = false;
}
PcmciaManager::~PcmciaManager()
{
}
void PcmciaManager::popUp( QString message, QString icon )
{
if ( !popupMenu ) {
popupMenu = new QPopupMenu( this );
@@ -101,51 +102,52 @@ void PcmciaManager::popUp( QString message, QString icon )
popupMenu->popup( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ),
p.y() - s.height() ), 0 );
QTimer::singleShot( 2000, this, SLOT( popupTimeout() ) );
}
void PcmciaManager::popupTimeout()
{
popupMenu->hide();
}
-enum { EJECT, INSERT, SUSPEND, RESUME, CONFIGURE };
+enum { EJECT, INSERT, SUSPEND, RESUME, RESET, CONFIGURE };
void PcmciaManager::mousePressEvent( QMouseEvent* )
{
QPopupMenu* menu = new QPopupMenu( this );
QStringList cmd;
bool execute = true;
OPcmciaSystem* sys = OPcmciaSystem::instance();
OPcmciaSystem::CardIterator it = sys->iterator();
if ( !sys->count() ) return;
int i = 0;
while ( it.current() )
{
QPopupMenu* submenu = new QPopupMenu( menu );
submenu->insertItem( "&Eject", EJECT+i*100 );
submenu->insertItem( "&Insert", INSERT+i*100 );
submenu->insertItem( "&Suspend", SUSPEND+i*100 );
submenu->insertItem( "&Resume", RESUME+i*100 );
+ submenu->insertItem( "Rese&t", RESET+i*100 );
submenu->insertItem( "&Configure", CONFIGURE+i*100 );
submenu->setItemEnabled( EJECT+i*100, !it.current()->isEmpty() );
submenu->setItemEnabled( INSERT+i*100, it.current()->isEmpty() );
submenu->setItemEnabled( SUSPEND+i*100, !it.current()->isEmpty() && !it.current()->isSuspended() );
submenu->setItemEnabled( RESUME+i*100, !it.current()->isEmpty() && it.current()->isSuspended() );
- submenu->setItemEnabled( CONFIGURE+i*100, !it.current()->isEmpty() );
+ submenu->setItemEnabled( CONFIGURE+i*100, !it.current()->isEmpty() && !configuring );
connect( submenu, SIGNAL(activated(int)), this, SLOT(userCardAction(int)) );
menu->insertItem( tr( "%1: %2" ).arg( i++ ).arg( it.current()->identity() ), submenu, 1 );
++it;
}
QPoint p = mapToGlobal( QPoint( 0, 0 ) );
QSize s = menu->sizeHint();
int opt = menu->exec( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ), p.y() - s.height() ), 0 );
qDebug( "pcmcia: menu result = %d", opt );
delete menu;
}
@@ -262,20 +264,22 @@ void PcmciaManager::userCardAction( int action )
int socket = action / 100;
int what = action % 100;
switch ( what )
{
case CONFIGURE: configure( OPcmciaSystem::instance()->socket( socket ) ); break;
default: odebug << "not yet implemented";
}
}
void PcmciaManager::configure( OPcmciaSocket* card )
{
- ConfigDialog dialog( card->identity(), qApp->desktop() );
- int configresult = dialog.exec();
+ configuring = true;
+ ConfigDialog dialog( card, qApp->desktop() );
+ int configresult = QPEApplication::execDialog( &dialog, false );
+ configuring = false;
odebug << "pcmcia: configresult = " << configresult << oendl;
}
EXPORT_OPIE_APPLET_v1( PcmciaManager )