Diffstat (limited to 'noncore/settings/networksettings2/editconnection.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/editconnection.cpp | 17 |
1 files changed, 13 insertions, 4 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 @@ -118,13 +118,16 @@ NetworkSetup * EditNetworkSetup::getTmpCollection( void ) { if( it.current()->isNew() ) { delete it.current(); } } TmpCollection.clear(); - TmpCollection.copyFrom( *SelectedNodes ); + if( SelectedNodes ) { + // initialize like original + TmpCollection.copyFrom( *SelectedNodes ); + } // update content QListViewItem * it = Nodes_LV->firstChild(); ANetNode * NN; // start iter (if there is a collection) @@ -453,15 +456,21 @@ void EditNetworkSetup::SLOT_SelectNode( QListViewItem * it ) { Description_LBL->setText( NN->nodeDescription() ); if( ! it->isSelectable() ) { return; } - if( ! ((QCheckListItem *)it)->isOn() ) { - // clicked on line but NOT on Check or Radio item - return; + 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 ); } |