Diffstat (limited to 'noncore/settings/networksettings2/main.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/main.cpp | 61 |
1 files changed, 42 insertions, 19 deletions
diff --git a/noncore/settings/networksettings2/main.cpp b/noncore/settings/networksettings2/main.cpp index bcef631..1e1270e 100644 --- a/noncore/settings/networksettings2/main.cpp +++ b/noncore/settings/networksettings2/main.cpp @@ -1,4 +1,6 @@ +#include "nsdata.h" +#include "activateprofile.h" #include "networksettings.h" #include <qpe/qpeapplication.h> #include <opie/oapplicationfactory.h> @@ -8,11 +10,16 @@ OPIE_EXPORT_APP( OApplicationFactory<NetworkSettings> ) #else +// just standard GUI #define ACT_GUI 0 +// used by interfaces to request for allow of up/down #define ACT_REQUEST 1 +// regenerate config files #define ACT_REGEN 2 +// used by interfaces to request user prompt +#define ACT_PROMPT 3 int main( int argc, char * argv[] ) { int rv = 0; int Action = ACT_GUI; @@ -31,8 +38,11 @@ int main( int argc, char * argv[] ) { if( strcmp( argv[i], "--regen" ) == 0 ) { Action = ACT_REGEN; GuiType = QApplication::Tty; rmv = 1; + } else if( strcmp( argv[i], "--prompt" ) == 0 ) { + Action = ACT_PROMPT; + rmv = 1; } if( rmv ) { memmove( argv+i, argv+i+rmv, sizeof( char * ) * (argc-i-rmv) ); @@ -61,30 +71,43 @@ int main( int argc, char * argv[] ) { TheApp = new QApplication( argc, argv, GuiType ); #endif // init qt with app widget - if( GuiType != QApplication::Tty ) { - QWidget * W = 0; - W = new NetworkSettings(0); - TheApp->setMainWidget( W ); - W->show(); + + switch( Action ) { + case ACT_REQUEST : + { NetworkSettingsData NS; + NS.canStart( argv[1] ); + } + break; + case ACT_REGEN : + { NetworkSettingsData NS; + // regen returns 0 if OK + rv = (NS.regenerate()) ? 1 : 0; + } + break; + case ACT_PROMPT : + { ActivateProfile AP(argv[1]); + if( AP.exec() == QDialog::Accepted ) { + printf( "%s-c%d-allowed", AP.selectedProfile() ); + } else { + printf( "%s-cNN-disallowed" ); + } + } + break; + case ACT_GUI : + { QWidget * W = new NetworkSettings(0); + TheApp->setMainWidget( W ); + W->show(); #ifdef _WS_QWS_ - W->showMaximized(); + W->showMaximized(); #else - W->resize( W->sizeHint() ); + W->resize( W->sizeHint() ); #endif - rv = TheApp->exec(); - delete W; - } else { - switch( Action ) { - case ACT_REQUEST : - NetworkSettings::canStart( argv[1] ); - break; - case ACT_REGEN : - // regen returns 0 if OK - rv = (NetworkSettings::regenerate()) ? 1 : 0; - break; - } + rv = TheApp->exec(); + delete W; + } + break; } return rv; } |