//deselects all objects (and children) bool Shape::deselect() { selected = false; selectedP = -1; parentSelected = false; childSelected = false; deselectChildren(); }
void LabelWidget::deselectChildren(QTreeWidgetItem* item) { for (int i = 0; i < item->childCount(); ++i) { labeltree->setCurrentItem(item->child(i), 0, QItemSelectionModel::Deselect); deselectChildren(item->child(i)); } }
void QgsProjectLayerGroupDialog::onTreeViewSelectionChanged() { const auto constSelectedIndexes = mTreeView->selectionModel()->selectedIndexes(); for ( const QModelIndex &index : constSelectedIndexes ) { deselectChildren( index ); } if ( !mPresetProjectMode ) mButtonBox->button( QDialogButtonBox::Ok )->setEnabled( !mTreeView->selectionModel()->selectedIndexes().empty() ); }
void QgsProjectLayerGroupDialog::deselectChildren( const QModelIndex &index ) { int childCount = mTreeView->model()->rowCount( index ); for ( int i = 0; i < childCount; ++i ) { QModelIndex childIndex = mTreeView->model()->index( i, 0, index ); if ( mTreeView->selectionModel()->isSelected( childIndex ) ) mTreeView->selectionModel()->select( childIndex, QItemSelectionModel::Deselect ); deselectChildren( childIndex ); } }
void LabelWidget::itemActivated(QTreeWidgetItem *item, int) { if (item->isSelected()) { // select all parents QTreeWidgetItem *p = item; while (p->parent()) { p = p->parent(); labeltree->setCurrentItem(p, 0, QItemSelectionModel::Select); } } else { // deselect all children deselectChildren(item); } }