From f93fc8561ea27b0c691492b19915aa72d3308e14 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Sun, 23 Feb 2020 12:26:06 +0200 Subject: Examples: add scrollbar to allow viewing all settings on Android This fix is most relevant for Android, currently, if the screen size is small the settings will show cramped and not usable. Thus, adding a scrollbar to fix that. Task-number: QTBUG-80717 Change-Id: Icafd5f108191990c8bbdf5ab21049e07bb40cecb Reviewed-by: Miikka Heikkinen --- examples/charts/piechartcustomization/mainwidget.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'examples/charts') diff --git a/examples/charts/piechartcustomization/mainwidget.cpp b/examples/charts/piechartcustomization/mainwidget.cpp index 7c3648a2..2fe52a69 100644 --- a/examples/charts/piechartcustomization/mainwidget.cpp +++ b/examples/charts/piechartcustomization/mainwidget.cpp @@ -81,7 +81,10 @@ MainWidget::MainWidget(QWidget *parent) m_legendCheckBox = new QCheckBox(); - QFormLayout *chartSettingsLayout = new QFormLayout(); + QScrollArea *settingsScrollBar = new QScrollArea(); + QWidget *settingsContentWidget = new QWidget(); + + QFormLayout *chartSettingsLayout = new QFormLayout(settingsContentWidget); chartSettingsLayout->addRow("Theme", m_themeComboBox); chartSettingsLayout->addRow("Antialiasing", m_aaCheckBox); chartSettingsLayout->addRow("Animations", m_animationsCheckBox); @@ -136,7 +139,7 @@ MainWidget::MainWidget(QWidget *parent) QPushButton *insertSlice = new QPushButton("Insert slice"); QPushButton *removeSlice = new QPushButton("Remove selected slice"); - QFormLayout *seriesSettingsLayout = new QFormLayout(); + QFormLayout *seriesSettingsLayout = new QFormLayout(settingsContentWidget); seriesSettingsLayout->addRow("Horizontal position", m_hPosition); seriesSettingsLayout->addRow("Vertical position", m_vPosition); seriesSettingsLayout->addRow("Size factor", m_sizeFactor); @@ -195,7 +198,7 @@ MainWidget::MainWidget(QWidget *parent) m_labelPosition->addItem("Inside tangential", QPieSlice::LabelInsideTangential); m_labelPosition->addItem("Inside normal", QPieSlice::LabelInsideNormal); - QFormLayout *sliceSettingsLayout = new QFormLayout(); + QFormLayout *sliceSettingsLayout = new QFormLayout(settingsContentWidget); sliceSettingsLayout->addRow("Label", m_sliceName); sliceSettingsLayout->addRow("Value", m_sliceValue); sliceSettingsLayout->addRow("Pen", m_pen); @@ -242,10 +245,13 @@ MainWidget::MainWidget(QWidget *parent) settingsLayout->addWidget(chartSettings); settingsLayout->addWidget(seriesSettings); settingsLayout->addWidget(sliceSettings); - settingsLayout->addStretch(); + + settingsContentWidget->setLayout(settingsLayout); + settingsScrollBar->setWidget(settingsContentWidget); + settingsScrollBar->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); QGridLayout *baseLayout = new QGridLayout(); - baseLayout->addLayout(settingsLayout, 0, 0); + baseLayout->addWidget(settingsScrollBar, 0, 0); baseLayout->addWidget(m_chartView, 0, 1); setLayout(baseLayout); -- cgit v1.2.3