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
path: root/src
diff options
context:
space:
mode:
authorClaudio Cambra <claudio.cambra@gmail.com>2022-09-07 19:09:10 +0300
committerClaudio Cambra <claudio.cambra@gmail.com>2022-09-14 00:00:05 +0300
commit14303d0eb60063fba8b9563d95402d82f925a15f (patch)
tree02bd02d2c0a27e3527a023600b87bf4edfaf5f47 /src
parentb91dad99d07be8fed6f004cd4fdaa9a5dae60511 (diff)
Make account setup wizard's adjustWizardSize resize to current page size instead of largest wizard page
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/gui/owncloudsetupwizard.cpp3
-rw-r--r--src/gui/wizard/owncloudwizard.cpp25
-rw-r--r--src/gui/wizard/owncloudwizard.h4
3 files changed, 22 insertions, 10 deletions
diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp
index 86c4524a8..0ce78f58e 100644
--- a/src/gui/owncloudsetupwizard.cpp
+++ b/src/gui/owncloudsetupwizard.cpp
@@ -126,9 +126,8 @@ void OwncloudSetupWizard::startWizard()
const auto startPage = WizardCommon::Page_ServerSetup;
#endif // WITH_PROVIDERS
_ocWizard->setStartId(startPage);
-
_ocWizard->restart();
-
+ _ocWizard->adjustWizardSize();
_ocWizard->open();
_ocWizard->raise();
}
diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
index 4a9c4d11e..afc19c409 100644
--- a/src/gui/wizard/owncloudwizard.cpp
+++ b/src/gui/wizard/owncloudwizard.cpp
@@ -134,9 +134,16 @@ void OwncloudWizard::centerWindow()
void OwncloudWizard::adjustWizardSize()
{
const auto pageSizes = calculateWizardPageSizes();
- const auto longestSide = calculateLongestSideOfWizardPages(pageSizes);
+ const auto currentPageIndex = currentId();
- resize(QSize(longestSide, longestSide));
+ // If we can, just use the size of the current page
+ if(currentPageIndex > -1 && currentPageIndex < pageSizes.count()) {
+ resize(pageSizes.at(currentPageIndex));
+ return;
+ }
+
+ // As a backup, resize to largest page
+ resize(calculateLargestSizeOfWizardPages(pageSizes));
}
QList<QSize> OwncloudWizard::calculateWizardPageSizes() const
@@ -153,11 +160,17 @@ QList<QSize> OwncloudWizard::calculateWizardPageSizes() const
return pageSizes;
}
-int OwncloudWizard::calculateLongestSideOfWizardPages(const QList<QSize> &pageSizes) const
+QSize OwncloudWizard::calculateLargestSizeOfWizardPages(const QList<QSize> &pageSizes) const
{
- return std::accumulate(std::cbegin(pageSizes), std::cend(pageSizes), 0, [](int current, const QSize &size) {
- return std::max({ current, size.width(), size.height() });
- });
+ QSize largestSize;
+ for(const auto size : pageSizes) {
+ const auto largerWidth = qMax(largestSize.width(), size.width());
+ const auto largerHeight = qMax(largestSize.height(), size.height());
+
+ largestSize = QSize(largerWidth, largerHeight);
+ }
+
+ return largestSize;
}
void OwncloudWizard::setAccount(AccountPtr account)
diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
index 14fcbc507..a23aed748 100644
--- a/src/gui/wizard/owncloudwizard.h
+++ b/src/gui/wizard/owncloudwizard.h
@@ -96,6 +96,7 @@ public slots:
void slotCurrentPageChanged(int);
void successfulStep();
void slotCustomButtonClicked(const int which);
+ void adjustWizardSize();
signals:
void clearPendingRequests();
@@ -114,8 +115,7 @@ protected:
private:
void customizeStyle();
- void adjustWizardSize();
- int calculateLongestSideOfWizardPages(const QList<QSize> &pageSizes) const;
+ QSize calculateLargestSizeOfWizardPages(const QList<QSize> &pageSizes) const;
QList<QSize> calculateWizardPageSizes() const;
AccountPtr _account;