author | wimpie <wimpie> | 2005-01-12 01:40:53 (UTC) |
---|---|---|
committer | wimpie <wimpie> | 2005-01-12 01:40:53 (UTC) |
commit | f9a83585111afa08a47176097a150d9f468bfcdf (patch) (side-by-side diff) | |
tree | 6d5a3b5f9716f7c6ca6e7fae8b0e2bac8d6c57da /noncore/settings/networksettings2/nsdata.cpp | |
parent | b2e60aa0222b348f34aab501feb8bc854e94413c (diff) | |
download | opie-f9a83585111afa08a47176097a150d9f468bfcdf.zip opie-f9a83585111afa08a47176097a150d9f468bfcdf.tar.gz opie-f9a83585111afa08a47176097a150d9f468bfcdf.tar.bz2 |
*** empty log message ***
Diffstat (limited to 'noncore/settings/networksettings2/nsdata.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/nsdata.cpp | 55 |
1 files changed, 50 insertions, 5 deletions
diff --git a/noncore/settings/networksettings2/nsdata.cpp b/noncore/settings/networksettings2/nsdata.cpp index 835c7c3..6b87399 100644 --- a/noncore/settings/networksettings2/nsdata.cpp +++ b/noncore/settings/networksettings2/nsdata.cpp @@ -336,12 +336,23 @@ QString NetworkSettingsData::generateSettings( void ) { // open proper file { SystemFile SF( (*it) ); + QStringList SL; - if( ! CurDevNN->openFile( SF, nniit.current()) ) { + if( ! CurDevNN->openFile( SF, nniit.current(), SL) ) { // cannot open S = qApp->translate( "NetworkSettings", - "<p>Cannot open proper file \"%1\" for node \"%2\"</p>" ). - arg( (*it) ).arg( CurDevNN->name() ); + "<p>Cannot build proper file \"%1\" for node \"%2\"</p>" ). + arg( (*it) ). + arg( CurDevNN->name() ); + return S; + } + + if( ! createPath( SL ) ) { + S = qApp->translate( "NetworkSettings", + "<p>Cannot create path \"%1\" for proper file \"%2\" for node \"%3\"</p>" ). + arg( SL.join("/") ). + arg( (*it) ). + arg( CurDevNN->name() ); return S; } @@ -379,15 +390,26 @@ QString NetworkSettingsData::generateSettings( void ) { if( Generated ) { SystemFile SF( (*it) ); + QStringList SL; - if( CurDevNN->openFile( SF, 0 ) && + if( CurDevNN->openFile( SF, 0, SL ) && ! SF.path().isEmpty() ) { + if( ! createPath( SL ) ) { + S = qApp->translate( "NetworkSettings", + "<p>Cannot create path \"%1\" for proper file \"%2\" for node \"%3\"</p>" ). + arg( SL.join("/") ). + arg( (*it) ). + arg( CurDevNN->name() ); + return S; + } + if( ! SF.open() ) { S = qApp->translate( "NetworkSettings", "<p>Cannot open proper file \"%1\" for node \"%2\"</p>" ). - arg( (*it) ).arg( CurDevNN->name() ); + arg( (*it) ). + arg( CurDevNN->name() ); return S; } @@ -785,3 +807,26 @@ QList<NetworkSetup> NetworkSettingsData::collectTriggered( return PossibleTriggered; } +bool NetworkSettingsData::createPath( const QStringList & SL ) { + + QDir D( SL[0] ); + + for ( QStringList::ConstIterator it = SL.begin(); + it != SL.end(); + ++it ) { + + printf( "Create %s\n", (*it).latin1() ); + if( it == SL.begin() ) + continue; + + if( ! D.exists( *it ) ) { + if( ! D.mkdir( *it ) ) { + printf( "Failed %s %s\n", D.path().latin1(), (*it).latin1() ); + return 0; + } + } + + D.cd( *it ); + } + return 1; +} |