mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Changes Share User/Group widget UI to match the server share UI.
- Display list of permissions in the tool button menu. Signed-off-by: Camila San <hello@camila.codes>
This commit is contained in:
parent
25ff932a0b
commit
c2c2fe3ce3
@ -373,10 +373,10 @@ ShareUserLine::ShareUserLine(QSharedPointer<Share> share,
|
||||
_ui->sharedWith->setText(elidedText);
|
||||
|
||||
// adds permissions
|
||||
|
||||
// check for current permissions
|
||||
_ui->permissionsEdit->setEnabled(maxSharingPermissions
|
||||
& (SharePermissionCreate | SharePermissionUpdate | SharePermissionDelete));
|
||||
// can edit permission
|
||||
bool enabled = maxSharingPermissions & (SharePermissionRead | SharePermissionUpdate);
|
||||
if(!_isFile) enabled = enabled & (SharePermissionCreate | SharePermissionDelete);
|
||||
_ui->permissionsEdit->setEnabled(enabled);
|
||||
connect(_ui->permissionsEdit, &QAbstractButton::clicked, this, &ShareUserLine::slotEditPermissionsChanged);
|
||||
|
||||
// create menu with checkable permissions
|
||||
@ -399,7 +399,6 @@ ShareUserLine::ShareUserLine(QSharedPointer<Share> share,
|
||||
|
||||
_permissionChange = new QAction(tr("Can change"));
|
||||
_permissionChange->setCheckable(true);
|
||||
// TODO: change is the same as edit?
|
||||
_permissionChange->setEnabled(maxSharingPermissions & SharePermissionUpdate);
|
||||
menu->addAction(_permissionChange);
|
||||
connect(_permissionChange, &QAction::triggered, this, &ShareUserLine::slotPermissionsChanged);
|
||||
@ -417,11 +416,6 @@ ShareUserLine::ShareUserLine(QSharedPointer<Share> share,
|
||||
QIcon icon(QLatin1String(":/client/resources/more.svg"));
|
||||
_ui->permissionToolButton->setIcon(icon);
|
||||
|
||||
// If there's only a single entry in the detailed permission menu, hide it
|
||||
if (menu->actions().size() == 1) {
|
||||
_ui->permissionToolButton->hide();
|
||||
}
|
||||
|
||||
// Set the permissions checkboxes
|
||||
displayPermissions();
|
||||
|
||||
@ -558,22 +552,24 @@ void ShareUserLine::slotPermissionsChanged()
|
||||
|
||||
Share::Permissions permissions = SharePermissionRead;
|
||||
|
||||
if (_permissionChange->isChecked()) {
|
||||
permissions |= SharePermissionUpdate;
|
||||
}
|
||||
|
||||
if (_permissionCreate->isChecked()) {
|
||||
permissions |= SharePermissionCreate;
|
||||
}
|
||||
|
||||
if (_permissionDelete->isChecked()) {
|
||||
permissions |= SharePermissionDelete;
|
||||
}
|
||||
|
||||
if (_permissionReshare->isChecked()) {
|
||||
permissions |= SharePermissionShare;
|
||||
}
|
||||
|
||||
if (!_isFile) {
|
||||
if (_permissionCreate->isChecked()) {
|
||||
permissions |= SharePermissionCreate;
|
||||
}
|
||||
|
||||
if (_permissionChange->isChecked()) {
|
||||
permissions |= SharePermissionUpdate;
|
||||
}
|
||||
|
||||
if (_permissionDelete->isChecked()) {
|
||||
permissions |= SharePermissionDelete;
|
||||
}
|
||||
}
|
||||
|
||||
_share->setPermissions(permissions);
|
||||
}
|
||||
|
||||
@ -630,7 +626,7 @@ void ShareUserLine::displayPermissions()
|
||||
}
|
||||
|
||||
_permissionReshare->setChecked(Qt::Unchecked);
|
||||
if (_share->getPermissions() & SharePermissionShare) {
|
||||
if (perm & SharePermissionShare) {
|
||||
_permissionReshare->setChecked(Qt::Checked);
|
||||
}
|
||||
|
||||
|
||||
@ -146,9 +146,10 @@ private:
|
||||
QSharedPointer<Share> _share;
|
||||
bool _isFile;
|
||||
|
||||
QAction *_permissionShare;
|
||||
// _permissionEdit is a checkbox
|
||||
QAction *_permissionReshare;
|
||||
QAction *_permissionCreate;
|
||||
QAction *_permissionUpdate;
|
||||
QAction *_permissionChange;
|
||||
QAction *_permissionDelete;
|
||||
};
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<width>330</width>
|
||||
<height>26</height>
|
||||
</size>
|
||||
</property>
|
||||
@ -99,7 +99,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="permissionToolButton">
|
||||
<widget class="QPushButton" name="confirmShare">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@ -108,30 +108,22 @@
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>98</width>
|
||||
<height>26</height>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>can edit</string>
|
||||
<string/>
|
||||
</property>
|
||||
<property name="popupMode">
|
||||
<enum>QToolButton::MenuButtonPopup</enum>
|
||||
<property name="icon">
|
||||
<iconset resource="../../client.qrc">
|
||||
<normaloff>:/client/resources/confirm.svg</normaloff>:/client/resources/confirm.svg</iconset>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextOnly</enum>
|
||||
</property>
|
||||
<property name="arrowType">
|
||||
<enum>Qt::DownArrow</enum>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -217,6 +209,8 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="../../client.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user