Diffstat (limited to 'noncore/applets/pcmcia/pcmcia.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/applets/pcmcia/pcmcia.cpp | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/noncore/applets/pcmcia/pcmcia.cpp b/noncore/applets/pcmcia/pcmcia.cpp index 99c1bc9..1a2b619 100644 --- a/noncore/applets/pcmcia/pcmcia.cpp +++ b/noncore/applets/pcmcia/pcmcia.cpp @@ -182,73 +182,84 @@ void PcmciaManager::cardMessage( const QCString & msg, const QByteArray & ) ++it; continue; } else { theCard = it.current(); QString cardName = theCard->productIdentity().join( " " ); for ( int i = 0; i < nCards; ++i ) { QString cardSection = QString( "Card_%1" ).arg( i ); cfg.setGroup( cardSection ); QString name = cfg.readEntry( "name" ); odebug << "comparing card '" << cardName << "' with known card '" << name << "'" << oendl; if ( cardName == name ) { newCard = false; break; } } if ( !newCard ) ++it; else break; } } if ( newCard ) { - odebug << "pcmcia: new card detected" << oendl; - cfg.setGroup( QString( "Card_%1" ).arg( nCards ) ); - cfg.writeEntry( "name", theCard->productIdentity().join( " " ) ); - cfg.writeEntry( "insert", "suspend" ); - cfg.setGroup( "Global" ); - cfg.writeEntry( "nCards", nCards+1 ); - cfg.write(); - + odebug << "pcmcia: unconfigured card detected" << oendl; + QString newCardName = theCard->productIdentity().join( " " ).stripWhiteSpace(); int result = QMessageBox::information( qApp->desktop(), tr( "PCMCIA/CF Subsystem" ), - tr( "You have inserted a new card:\n%1\nDo you want to configure?" ).arg( theCard->productIdentity().join( " " ) ), + tr( "<qt>You have inserted the card '%1'. This card is not yet configured. Do you want to configure it now?</qt>" ).arg( newCardName ), tr( "Yes" ), tr( "No" ), 0, 0, 1 ); odebug << "result = " << result << oendl; if ( result == 0 ) { - configure( theCard ); + bool configured = configure( theCard ); + + if ( configured ) + { + odebug << "card has been configured. writing out to dabase" << oendl; + cfg.setGroup( QString( "Card_%1" ).arg( nCards ) ); + cfg.writeEntry( "name", newCardName ); + cfg.writeEntry( "insert", "suspend" ); + cfg.setGroup( "Global" ); + cfg.writeEntry( "nCards", nCards+1 ); + cfg.write(); } else { - odebug << "pcmcia: user doesn't want to configure " << theCard->productIdentity().join( " " ) << " now." << oendl; + odebug << "card has not been configured this time. leaving as unknown card" << oendl; } } else { - odebug << "pcmcia: card has been previously inserted" << oendl; + odebug << "pcmcia: user doesn't want to configure " << newCardName << " now." << oendl; + } + } + else // it's an already configured card + { + QString action = ConfigDialog::preferredAction( theCard ); + odebug << "pcmcia: card has been previously configured" << oendl; + odebug << "pcmcia: need to perform action'" << action << "' now... sorry, not yet implemented..." << oendl; } repaint( true ); } void PcmciaManager::paintEvent( QPaintEvent * ) { QPainter p( this ); odebug << "sockets = " << OPcmciaSystem::instance()->count() << ", cards = " << OPcmciaSystem::instance()->cardCount() << oendl; if ( OPcmciaSystem::instance()->cardCount() ) { p.drawPixmap( 0, 0, pm ); show(); } else { hide(); } } int PcmciaManager::position() { return 7; @@ -263,36 +274,37 @@ void PcmciaManager::userCardAction( int action ) odebug << "user action on socket " << action / 100 << " requested. action = " << action << oendl; int socket = action / 100; int what = action % 100; bool success = false; switch ( what ) { case CONFIGURE: configure( OPcmciaSystem::instance()->socket( socket ) ); success = true; break; case EJECT: success = OPcmciaSystem::instance()->socket( socket )->eject(); break; case INSERT: success = OPcmciaSystem::instance()->socket( socket )->insert(); break; case SUSPEND: success = OPcmciaSystem::instance()->socket( socket )->suspend(); break; case RESUME: success = OPcmciaSystem::instance()->socket( socket )->resume(); break; case RESET: success = OPcmciaSystem::instance()->socket( socket )->reset(); break; default: odebug << "not yet implemented" << oendl; } if ( !success ) { owarn << "couldn't perform user action (" << strerror( errno ) << ")" << oendl; } } -void PcmciaManager::configure( OPcmciaSocket* card ) +bool PcmciaManager::configure( OPcmciaSocket* card ) { configuring = true; ConfigDialog dialog( card, qApp->desktop() ); int configresult = QPEApplication::execDialog( &dialog, false ); configuring = false; odebug << "pcmcia: configresult = " << configresult << oendl; + return configresult; } EXPORT_OPIE_APPLET_v1( PcmciaManager ) |