ShareWidget::ShareWidget(QSharedPointer<Share> share, QWidget *parent) : QWidget(parent), _ui(new Ui::ShareWidget), _share(share), _showDetailedPermissions(false) { _ui->setupUi(this); _ui->sharedWith->setText(share->getShareWith()->format()); // Set the permissions checkboxes displayPermissions(); // Hide "detailed permissions" by default _ui->permissionDelete->setHidden(true); _ui->permissionUpdate->setHidden(true); _ui->permissionCreate->setHidden(true); connect(_ui->permissionUpdate, SIGNAL(clicked(bool)), SLOT(slotPermissionsChanged())); connect(_ui->permissionCreate, SIGNAL(clicked(bool)), SLOT(slotPermissionsChanged())); connect(_ui->permissionDelete, SIGNAL(clicked(bool)), SLOT(slotPermissionsChanged())); connect(_ui->permissionShare, SIGNAL(clicked(bool)), SLOT(slotPermissionsChanged())); connect(_ui->permissionsEdit, SIGNAL(clicked(bool)), SLOT(slotEditPermissionsChanged())); connect(share.data(), SIGNAL(permissionsSet()), SLOT(slotPermissionsSet())); connect(share.data(), SIGNAL(shareDeleted()), SLOT(slotShareDeleted())); _ui->deleteShareButton->setIcon(QIcon::fromTheme(QLatin1String("user-trash"), QIcon(QLatin1String(":/client/resources/delete.png")))); }
ShareWidget::ShareWidget(QSharedPointer<Share> share, bool isFile, QWidget *parent) : QWidget(parent), _ui(new Ui::ShareWidget), _share(share), _isFile(isFile) { _ui->setupUi(this); _ui->sharedWith->setText(share->getShareWith()->format()); // Create detailed permissions menu QMenu *menu = new QMenu(this); _permissionCreate = new QAction(tr("create"), this); _permissionCreate->setCheckable(true); _permissionUpdate = new QAction(tr("change"), this); _permissionUpdate->setCheckable(true); _permissionDelete = new QAction(tr("delete"), this); _permissionDelete->setCheckable(true); menu->addAction(_permissionUpdate); /* * Files can't have create or delete permissions */ if (!_isFile) { menu->addAction(_permissionCreate); menu->addAction(_permissionDelete); } _ui->permissionToolButton->setMenu(menu); _ui->permissionToolButton->setPopupMode(QToolButton::InstantPopup); QIcon icon(QLatin1String(":/client/resources/more.png")); _ui->permissionToolButton->setIcon(icon); // Set the permissions checkboxes displayPermissions(); connect(_permissionUpdate, SIGNAL(triggered(bool)), SLOT(slotPermissionsChanged())); connect(_permissionCreate, SIGNAL(triggered(bool)), SLOT(slotPermissionsChanged())); connect(_permissionDelete, SIGNAL(triggered(bool)), SLOT(slotPermissionsChanged())); connect(_ui->permissionShare, SIGNAL(clicked(bool)), SLOT(slotPermissionsChanged())); connect(_ui->permissionsEdit, SIGNAL(clicked(bool)), SLOT(slotEditPermissionsChanged())); connect(share.data(), SIGNAL(permissionsSet()), SLOT(slotPermissionsSet())); connect(share.data(), SIGNAL(shareDeleted()), SLOT(slotShareDeleted())); _ui->deleteShareButton->setIcon(QIcon::fromTheme(QLatin1String("user-trash"), QIcon(QLatin1String(":/client/resources/delete.png")))); if (!share->account()->capabilities().shareResharing()) { _ui->permissionShare->hide(); } }
void Share::slotPermissionsSet(const QVariantMap &, const QVariant &value) { _permissions = (Permissions)value.toInt(); emit permissionsSet(); }