Use spacing for layouting settings

This commit is contained in:
Nicolas Werner 2020-02-20 18:11:30 +01:00
parent 8aaf7e9e5d
commit 4500bcd577
2 changed files with 6 additions and 27 deletions

View File

@ -331,9 +331,14 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
QScroller::grabGesture(scrollArea_, QScroller::TouchGesture);
auto spacingAroundForm = new QHBoxLayout;
spacingAroundForm->addStretch(1);
spacingAroundForm->addLayout(formLayout_, 0);
spacingAroundForm->addStretch(1);
auto scrollAreaContents_ = new QWidget{this};
scrollAreaContents_->setObjectName("UserSettingScrollWidget");
scrollAreaContents_->setLayout(formLayout_);
scrollAreaContents_->setLayout(spacingAroundForm);
scrollArea_->setWidget(scrollAreaContents_);
topLayout_->addLayout(topBarLayout_);
@ -432,31 +437,6 @@ UserSettingsPage::showEvent(QShowEvent *)
utils::humanReadableFingerprint(olm::client()->identity_keys().ed25519));
}
void
UserSettingsPage::resizeEvent(QResizeEvent *event)
{
auto preWidth = width();
// based on the width of the widest item currently in the layout
// deviceFingerprintValue_ used for recalculating the margins of
// the formLayout_ on resize to help with small screens and mobile devices.
double minFormWidth = deviceFingerprintValue_->width();
if (preWidth * 0.5 > minFormWidth)
sideMargin_ = preWidth * 0.25;
else
sideMargin_ = static_cast<double>(preWidth - minFormWidth) / 2.;
if (sideMargin_ < 60)
sideMargin_ = 0;
formLayout_->setContentsMargins(
sideMargin_, LayoutTopMargin, sideMargin_, LayoutBottomMargin);
QWidget::resizeEvent(event);
}
void
UserSettingsPage::paintEvent(QPaintEvent *)
{

View File

@ -152,7 +152,6 @@ public:
protected:
void showEvent(QShowEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void paintEvent(QPaintEvent *event) override;
signals: