void KACLListView::calculateEffectiveRights() { QTreeWidgetItemIterator it( this ); KACLListViewItem* pItem; while ( ( pItem = dynamic_cast<KACLListViewItem*>( *it ) ) != 0 ) { ++it; pItem->calcEffectiveRights(); } }
void KACLListView::calculateEffectiveRights() { TQListViewItemIterator it( this ); KACLListViewItem* pItem; while ( ( pItem = dynamic_cast<KACLListViewItem*>( it.current() ) ) != 0 ) { ++it; pItem->calcEffectiveRights(); } }
void KACLListView::slotRemoveEntry() { QListViewItemIterator it(this, QListViewItemIterator::Selected); while(it.current()) { KACLListViewItem *item = static_cast< KACLListViewItem * >(it.current()); ++it; /* First check if it's a mask entry and if so, make sure that there is * either no name user or group entry, which means the mask can be * removed, or don't remove it, but reset it. That is allowed. */ if(item->type == Mask) { bool itemWasDefault = item->isDefault; if(!itemWasDefault && maskCanBeDeleted()) { m_hasMask = false; m_mask = 0; delete item; } else if(itemWasDefault && defaultMaskCanBeDeleted()) { delete item; } else { item->value = 0; item->repaint(); } if(!itemWasDefault) calculateEffectiveRights(); } else { // for the base permissions, disable them, which is what libacl does if(!item->isDefault && (item->type == User || item->type == Group || item->type == Others)) { item->value = 0; item->repaint(); } else { delete item; } } } }
void KACLEditWidget::KACLEditWidgetPrivate::_k_slotUpdateButtons() { bool atLeastOneIsNotDeletable = false; bool atLeastOneIsNotAllowedToChangeType = false; int selectedCount = 0; QList<QTreeWidgetItem*> selected = m_listView->selectedItems(); QListIterator<QTreeWidgetItem*> it( selected ); while ( it.hasNext() ) { KACLListViewItem *item = static_cast<KACLListViewItem*>( it.next() ); ++selectedCount; if ( !item->isDeletable() ) atLeastOneIsNotDeletable = true; if ( !item->isAllowedToChangeType() ) atLeastOneIsNotAllowedToChangeType = true; } m_EditBtn->setEnabled( selectedCount && !atLeastOneIsNotAllowedToChangeType ); m_DelBtn->setEnabled( selectedCount && !atLeastOneIsNotDeletable ); }