Diffstat (limited to 'noncore/applets/pcmcia/configdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/applets/pcmcia/configdialog.cpp | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/noncore/applets/pcmcia/configdialog.cpp b/noncore/applets/pcmcia/configdialog.cpp index e7c97c1..e161d18 100644 --- a/noncore/applets/pcmcia/configdialog.cpp +++ b/noncore/applets/pcmcia/configdialog.cpp @@ -39,3 +39,5 @@ using namespace Opie::Core; #include <qdir.h> +#include <qfile.h> #include <qlabel.h> +#include <qtextstream.h> @@ -45,3 +47,3 @@ ConfigDialog::ConfigDialog( const QString& cardname, QWidget* parent ) //setCaption( tr( "Configure %1" ).arg( cardname ) ); - textCardName->setText( cardname ); + txtCardName->setText( cardname ); @@ -72,5 +74,5 @@ ConfigDialog::ConfigDialog( const QString& cardname, QWidget* parent ) - // parse possible device and class names out of /etc/pcmcia/*.conf - QStringList deviceNames; - QStringList classNames; + // parse possible bind entries out of /etc/pcmcia/*.conf + typedef QMap<QString,QString> StringMap; + StringMap bindEntries; @@ -79,4 +81,34 @@ ConfigDialog::ConfigDialog( const QString& cardname, QWidget* parent ) for ( int i = 0; i < pcmciaconfdir.count(); ++i ) - odebug << "found conf file '" << pcmciaconfdir[i] << "'" << oendl; + { + odebug << "processing conf file '" << pcmciaconfdir[i] << "'" << oendl; + QString conffilename = QString( "%1/%2" ).arg( pcmciaconfdir.absPath() ).arg( pcmciaconfdir[i] ); + QFile conffile( conffilename ); + if ( conffile.open( IO_ReadOnly ) ) + { + QTextStream ts( &conffile ); + while ( !ts.atEnd() ) + { + QString word; + ts >> word; + if ( word == "bind" ) + { + word = ts.readLine(); + bindEntries[ word.stripWhiteSpace() ] = conffilename; + continue; + } + ts.readLine(); + } + } + else + { + owarn << "couldn't open '" << conffile.name() << "' for reading" << oendl; + continue; + } + } + for ( StringMap::Iterator it = bindEntries.begin(); it != bindEntries.end(); ++it ) + { + odebug << "found device '" << it.key() << "' defined in '" << it.data().latin1() << "'" << oendl; + cbBindTo->insertItem( it.key() ); + } } |