File indexing completed on 2024-05-12 05:12:44

0001 /*
0002     SPDX-FileCopyrightText: 2008 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "collectionaclpage.h"
0008 
0009 #include <Akonadi/Collection>
0010 #include <KLocalizedString>
0011 
0012 using namespace Akonadi;
0013 
0014 CollectionAclPage::CollectionAclPage(QWidget *parent)
0015     : CollectionPropertiesPage(parent)
0016 {
0017     setPageTitle(i18n("ACL"));
0018     ui.setupUi(this);
0019 }
0020 
0021 void CollectionAclPage::load(const Collection &col)
0022 {
0023     Collection::Rights rights = col.rights();
0024     ui.changeItem->setChecked(rights & Collection::CanChangeItem);
0025     ui.createItem->setChecked(rights & Collection::CanCreateItem);
0026     ui.deleteItem->setChecked(rights & Collection::CanDeleteItem);
0027     ui.linkItem->setChecked(rights & Collection::CanLinkItem);
0028     ui.unlinkItem->setChecked(rights & Collection::CanUnlinkItem);
0029     ui.changeCollection->setChecked(rights & Collection::CanChangeCollection);
0030     ui.createCollection->setChecked(rights & Collection::CanCreateCollection);
0031     ui.deleteCollection->setChecked(rights & Collection::CanDeleteCollection);
0032 }
0033 
0034 void CollectionAclPage::save(Collection &col)
0035 {
0036     Collection::Rights rights = Collection::ReadOnly;
0037     if (ui.changeItem->isChecked()) {
0038         rights |= Collection::CanChangeItem;
0039     }
0040     if (ui.createItem->isChecked()) {
0041         rights |= Collection::CanCreateItem;
0042     }
0043     if (ui.deleteItem->isChecked()) {
0044         rights |= Collection::CanDeleteItem;
0045     }
0046     if (ui.changeCollection->isChecked()) {
0047         rights |= Collection::CanChangeCollection;
0048     }
0049     if (ui.createCollection->isChecked()) {
0050         rights |= Collection::CanCreateCollection;
0051     }
0052     if (ui.deleteCollection->isChecked()) {
0053         rights |= Collection::CanDeleteCollection;
0054     }
0055     if (ui.linkItem->isChecked()) {
0056         rights |= Collection::CanLinkItem;
0057     }
0058     if (ui.unlinkItem->isChecked()) {
0059         rights |= Collection::CanUnlinkItem;
0060     }
0061     col.setRights(rights);
0062 }
0063 
0064 #include "moc_collectionaclpage.cpp"