diff --git a/src/gui/shareusergroupwidget.cpp b/src/gui/shareusergroupwidget.cpp index 246cc4a5a9..ebdf24e62d 100644 --- a/src/gui/shareusergroupwidget.cpp +++ b/src/gui/shareusergroupwidget.cpp @@ -188,8 +188,8 @@ void ShareUserGroupWidget::slotSharesFetched(const QList> auto newViewPort = new QWidget(scrollArea); auto layout = new QVBoxLayout(newViewPort); layout->setContentsMargins(0, 0, 0, 0); - QSize minimumSize = newViewPort->sizeHint(); int x = 0; + int height = 0; foreach (const auto &share, shares) { // We don't handle link shares, only TypeUser or TypeGroup @@ -205,22 +205,12 @@ void ShareUserGroupWidget::slotSharesFetched(const QList> x++; if (x <= 3) { - minimumSize = newViewPort->sizeHint(); - } else { - minimumSize.rwidth() = qMax(newViewPort->sizeHint().width(), minimumSize.width()); + height = newViewPort->sizeHint().height(); } } - if (!layout->isEmpty()) { - _parentScrollArea->setVisible(true); - layout->addStretch(1); - } else { - _parentScrollArea->setVisible(false); - } - - minimumSize.rwidth() += layout->spacing(); - minimumSize.rheight() += layout->spacing(); - scrollArea->setMinimumSize(minimumSize); + scrollArea->setVisible(!shares.isEmpty()); + scrollArea->setFixedHeight(height); scrollArea->setWidget(newViewPort); _disableCompleterActivated = false; @@ -230,13 +220,10 @@ void ShareUserGroupWidget::slotSharesFetched(const QList> void ShareUserGroupWidget::slotAdjustScrollWidgetSize() { QScrollArea *scrollArea = _parentScrollArea; - if (scrollArea->findChildren().count() <= 3 && - scrollArea->findChildren().count() > 0) { - auto minimumSize = scrollArea->widget()->sizeHint(); - auto spacing = scrollArea->widget()->layout()->spacing(); - minimumSize.rwidth() += spacing; - minimumSize.rheight() += spacing; - scrollArea->setMinimumSize(minimumSize); + int count = scrollArea->findChildren().count(); + scrollArea->setVisible(count > 0); + if (count > 0 && count <= 3) { + scrollArea->setFixedHeight(scrollArea->widget()->sizeHint().height()); } } @@ -270,16 +257,9 @@ void ShareUserGroupWidget::slotCompleterActivated(const QModelIndex &index) // model proxying the _completerModel auto sharee = qvariant_cast>(index.data(Qt::UserRole)); if (sharee.isNull()) { - _parentScrollArea->setVisible(false); return; } - /* - * Add spinner to the bottom of the widget list - */ - auto viewPort = _parentScrollArea->widget(); - auto layout = qobject_cast(viewPort->layout()); - // TODO Progress Indicator where should it go? // auto indicator = new QProgressIndicator(viewPort); // indicator->startAnimation(); @@ -313,11 +293,6 @@ void ShareUserGroupWidget::slotCompleterActivated(const QModelIndex &index) _ui->shareeLineEdit->setEnabled(false); _ui->shareeLineEdit->setText(QString()); - - if(layout->isEmpty()) - _parentScrollArea->setVisible(false); - else - _parentScrollArea->setVisible(true); } void ShareUserGroupWidget::slotCompleterHighlighted(const QModelIndex &index)