summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/editconnection.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings2/editconnection.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/editconnection.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/noncore/settings/networksettings2/editconnection.cpp b/noncore/settings/networksettings2/editconnection.cpp
index 6ab2dd6..bda9d7e 100644
--- a/noncore/settings/networksettings2/editconnection.cpp
+++ b/noncore/settings/networksettings2/editconnection.cpp
@@ -112,25 +112,28 @@ NetworkSetup * EditNetworkSetup::getTmpCollection( void ) {
return &(TmpCollection);
// reset collection -> delete all NEW NetNodes
for( QListIterator<ANetNodeInstance> it(TmpCollection);
it.current();
++it ) {
if( it.current()->isNew() ) {
delete it.current();
}
}
TmpCollection.clear();
+ if( SelectedNodes ) {
+ // initialize like original
TmpCollection.copyFrom( *SelectedNodes );
+ }
// update content
QListViewItem * it = Nodes_LV->firstChild();
ANetNode * NN;
// start iter (if there is a collection)
/*
a node collection is sorted from the toplevel
node to the deepest node
*/
@@ -447,28 +450,34 @@ void EditNetworkSetup::SLOT_SelectNode( QListViewItem * it ) {
} else {
Description_LBL->setText( "" );
}
return;
}
Description_LBL->setText( NN->nodeDescription() );
if( ! it->isSelectable() ) {
return;
}
- if( ! ((QCheckListItem *)it)->isOn() ) {
- // clicked on line but NOT on Check or Radio item
+ ANetNode::NetNodeList & NNL = NN->alternatives();
+
+ if( NNL.size() != 1 ) {
+ if( NNL.size() == 0 ||
+ ! ((MyQCheckListItem *)it)->isOn()
+ ) {
+ // not clicked on Check or Radio item
return;
}
+ }
// item has really changed -> update
TmpIsValid = 0;
updateGUI( it, NN );
}
// cliecked on TAB to go to setup
void EditNetworkSetup::SLOT_AlterTab( const QString & S ) {
if( S == tr( "Setup" ) && Setup_FRM->isEnabled() ) {
// switched to setup -> update CB and populate ws with
// forms for devices