Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kamm <mail@ckamm.de>2017-04-04 15:41:25 +0300
committerChristian Kamm <mail@ckamm.de>2017-04-21 11:09:01 +0300
commit76e67db04bd2f3509f01cc75553df1d9405ab14a (patch)
tree49dbe6af23a434a6efe186abed88ee3c512c6cf7 /src/gui/shareusergroupwidget.cpp
parent70c35149968c0601f78783f94e7206baf67af365 (diff)
ShareDialog: Use a tab widget #5655
Diffstat (limited to 'src/gui/shareusergroupwidget.cpp')
-rw-r--r--src/gui/shareusergroupwidget.cpp49
1 files changed, 30 insertions, 19 deletions
diff --git a/src/gui/shareusergroupwidget.cpp b/src/gui/shareusergroupwidget.cpp
index bb9788969..768888781 100644
--- a/src/gui/shareusergroupwidget.cpp
+++ b/src/gui/shareusergroupwidget.cpp
@@ -178,28 +178,33 @@ void ShareUserGroupWidget::slotSharesFetched(const QList<QSharedPointer<Share>>
QSize minimumSize = newViewPort->sizeHint();
int x = 0;
- foreach(const auto &share, shares) {
- // We don't handle link shares
- if (share->getShareType() == Share::TypeLink) {
- continue;
- }
-
- ShareWidget *s = new ShareWidget(share, _maxSharingPermissions, _isFile, _ui->scrollArea);
- connect(s, SIGNAL(resizeRequested()), this, SLOT(slotAdjustScrollWidgetSize()));
- layout->addWidget(s);
-
- x++;
- if (x <= 3) {
- minimumSize = newViewPort->sizeHint();
- } else {
- minimumSize.rwidth() = qMax(newViewPort->sizeHint().width(), minimumSize.width());
+ if (shares.isEmpty()) {
+ layout->addWidget(new QLabel(tr("The item is not shared with any users or groups")));
+ } else {
+ foreach(const auto &share, shares) {
+ // We don't handle link shares
+ if (share->getShareType() == Share::TypeLink) {
+ continue;
+ }
+
+ ShareWidget *s = new ShareWidget(share, _maxSharingPermissions, _isFile, _ui->scrollArea);
+ connect(s, SIGNAL(resizeRequested()), this, SLOT(slotAdjustScrollWidgetSize()));
+ connect(s, SIGNAL(visualDeletionDone()), this, SLOT(getShares()));
+ layout->addWidget(s);
+
+ x++;
+ if (x <= 3) {
+ minimumSize = newViewPort->sizeHint();
+ } else {
+ minimumSize.rwidth() = qMax(newViewPort->sizeHint().width(), minimumSize.width());
+ }
}
+ layout->addStretch(1);
}
minimumSize.rwidth() += layout->spacing();
minimumSize.rheight() += layout->spacing();
scrollArea->setMinimumSize(minimumSize);
- scrollArea->setVisible(!shares.isEmpty());
scrollArea->setWidget(newViewPort);
_disableCompleterActivated = false;
@@ -243,10 +248,15 @@ void ShareUserGroupWidget::slotCompleterActivated(const QModelIndex & index)
* Add spinner to the bottom of the widget list
*/
auto viewPort = _ui->scrollArea->widget();
- auto layout = viewPort->layout();
+ auto layout = qobject_cast<QVBoxLayout*>(viewPort->layout());
auto indicator = new QProgressIndicator(viewPort);
indicator->startAnimation();
- layout->addWidget(indicator);
+ if (layout->count() == 1) {
+ // No shares yet! Remove the label, add some stretch.
+ delete layout->itemAt(0)->widget();
+ layout->addStretch(1);
+ }
+ layout->insertWidget(layout->count() - 1, indicator);
/*
* Don't send the reshare permissions for federated shares for servers <9.1
@@ -444,7 +454,8 @@ void ShareWidget::slotPermissionsChanged()
void ShareWidget::slotDeleteAnimationFinished()
{
- resizeRequested();
+ emit resizeRequested();
+ emit visualDeletionDone();
deleteLater();
// There is a painting bug where a small line of this widget isn't