Diffstat (limited to 'noncore/settings/networksettings2/networksettings.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/networksettings.cpp | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/noncore/settings/networksettings2/networksettings.cpp b/noncore/settings/networksettings2/networksettings.cpp index e1110e2..c3e6572 100644 --- a/noncore/settings/networksettings2/networksettings.cpp +++ b/noncore/settings/networksettings2/networksettings.cpp | |||
@@ -169,4 +169,6 @@ void NetworkSettings::SLOT_EditNode( QListBoxItem * LBI ) { | |||
169 | // disable refresh timer | 169 | // disable refresh timer |
170 | UpdateTimer->stop(); | 170 | UpdateTimer->stop(); |
171 | // we need to retry | ||
172 | while( 1 ) { | ||
171 | if( EC.exec() == QDialog::Accepted ) { | 173 | if( EC.exec() == QDialog::Accepted ) { |
172 | // toplevel item -> store | 174 | // toplevel item -> store |
@@ -175,8 +177,22 @@ void NetworkSettings::SLOT_EditNode( QListBoxItem * LBI ) { | |||
175 | setModified( 1 ); | 177 | setModified( 1 ); |
176 | if( LBI ) { | 178 | if( LBI ) { |
179 | if( NC->name() != OldName ) { | ||
180 | // find if new name is free | ||
181 | NodeCollection * LCN = NSResources->findConnection( | ||
182 | NC->name() ); | ||
183 | if( LCN ) { | ||
184 | QMessageBox::warning( | ||
185 | 0, | ||
186 | tr( "Generating system configuration" ), | ||
187 | tr( "Name %1 already exists" ).arg(NC->name()) | ||
188 | ); | ||
189 | continue; // restart exec | ||
190 | } // else new name | ||
177 | // new name -> remove item | 191 | // new name -> remove item |
178 | NSResources->removeConnection( OldName ); | 192 | NSResources->removeConnection( OldName ); |
179 | // must add it here since change will trigger event | ||
180 | NSResources->addConnection( NC ); | 193 | NSResources->addConnection( NC ); |
194 | } // else not changed | ||
195 | |||
196 | // must add it here since change will trigger event | ||
181 | Profiles_LB->changeItem( NC->devicePixmap(), | 197 | Profiles_LB->changeItem( NC->devicePixmap(), |
182 | NC->name(), | 198 | NC->name(), |
@@ -200,4 +216,6 @@ void NetworkSettings::SLOT_EditNode( QListBoxItem * LBI ) { | |||
200 | } | 216 | } |
201 | } | 217 | } |
218 | break; | ||
219 | } | ||
202 | // reenable | 220 | // reenable |
203 | UpdateTimer->start( 5000 ); | 221 | UpdateTimer->start( 5000 ); |
@@ -334,13 +352,8 @@ void NetworkSettings::SLOT_On( void ) { | |||
334 | rv = NC->setState( Activate ); | 352 | rv = NC->setState( Activate ); |
335 | break; | 353 | break; |
336 | case Available : | 354 | case Available : // deactivate |
337 | // deactivate | 355 | case IsUp : // deactivate (will also bring down if needed) |
338 | rv = NC->setState( Deactivate ); | 356 | rv = NC->setState( Deactivate ); |
339 | break; | 357 | break; |
340 | case IsUp : | ||
341 | // bring down and deactivate | ||
342 | rv = ( NC->setState( Down ) && | ||
343 | NC->setState( Deactivate ) ); | ||
344 | break; | ||
345 | default : | 358 | default : |
346 | // others no change | 359 | // others no change |
@@ -367,5 +380,5 @@ void NetworkSettings::SLOT_Connect( void ) { | |||
367 | NSResources->findConnection( LBI->text() ); | 380 | NSResources->findConnection( LBI->text() ); |
368 | 381 | ||
369 | bool rv; | 382 | bool rv = 1 ; |
370 | switch( NC->state() ) { | 383 | switch( NC->state() ) { |
371 | case IsUp : | 384 | case IsUp : |
@@ -384,5 +397,5 @@ void NetworkSettings::SLOT_Connect( void ) { | |||
384 | default : | 397 | default : |
385 | // others no change | 398 | // others no change |
386 | return; | 399 | break; |
387 | } | 400 | } |
388 | 401 | ||
@@ -392,5 +405,4 @@ void NetworkSettings::SLOT_Connect( void ) { | |||
392 | tr( "Activating profile" ), | 405 | tr( "Activating profile" ), |
393 | tr( "Cannot enable profile" ) ); | 406 | tr( "Cannot enable profile" ) ); |
394 | return; | ||
395 | } | 407 | } |
396 | 408 | ||