KACL KFileItem::defaultACL() const { // Extract it from the KIO::UDSEntry const QString fieldVal = d->m_entry.stringValue( KIO::UDSEntry::UDS_DEFAULT_ACL_STRING ); if ( !fieldVal.isEmpty() ) return KACL(fieldVal); else return KACL(); }
KACL KFileItem::defaultACL() const { // Extract it from the KIO::UDSEntry KIO::UDSEntry::ConstIterator it = m_entry.begin(); for( ; it != m_entry.end(); ++it ) if ( (*it).m_uds == KIO::UDS_DEFAULT_ACL_STRING ) return KACL((*it).m_str); return KACL(); }
KACL KFileItem::ACL() const { if ( hasExtendedACL() ) { // Extract it from the KIO::UDSEntry const QString fieldVal = d->m_entry.stringValue( KIO::UDSEntry::UDS_ACL_STRING ); if ( !fieldVal.isEmpty() ) return KACL( fieldVal ); } // create one from the basic permissions return KACL( d->m_permissions ); }
KACL KFileItem::ACL() const { if ( hasExtendedACL() ) { // Extract it from the KIO::UDSEntry KIO::UDSEntry::ConstIterator it = m_entry.begin(); for( ; it != m_entry.end(); ++it ) if ( (*it).m_uds == KIO::UDS_ACL_STRING ) return KACL((*it).m_str); } // create one from the basic permissions return KACL( m_permissions ); }
KACL KACLListView::itemsToACL(bool defaults) const { KACL newACL(0); bool atLeastOneEntry = false; ACLUserPermissionsList users; ACLGroupPermissionsList groups; QListViewItemIterator it(const_cast< KACLListView * >(this)); while(QListViewItem *qlvi = it.current()) { ++it; const KACLListViewItem *item = static_cast< KACLListViewItem * >(qlvi); if(item->isDefault != defaults) continue; atLeastOneEntry = true; switch(item->type) { case User: newACL.setOwnerPermissions(item->value); break; case Group: newACL.setOwningGroupPermissions(item->value); break; case Others: newACL.setOthersPermissions(item->value); break; case Mask: newACL.setMaskPermissions(item->value); break; case NamedUser: users.append(qMakePair(item->text(1), item->value)); break; case NamedGroup: groups.append(qMakePair(item->text(1), item->value)); break; default: break; } } if(atLeastOneEntry) { newACL.setAllUserPermissions(users); newACL.setAllGroupPermissions(groups); if(newACL.isValid()) return newACL; } return KACL(); }