summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-09-22 10:37:47 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-09-22 09:07:02 +0000
commit1c2adf47697214ec5596d800dc38e9f88cd763ca (patch)
tree662e8386b1c812cb0ab15872064120ae3549a257
parent535dc058d67ce9600acc2e2c110f9917f9ef1add (diff)
Enable scroll bars on side widget
If the dynamic page list becomes too long to fit the current window height, enable scrolling instead of forcing the user to resize the window. Task-number: QTIFW-1966 Change-Id: Ifc1f1424d3e626c5378a1ed65194489387ad0bed Reviewed-by: Katja Marttila <katja.marttila@qt.io>
-rw-r--r--src/libs/installer/packagemanagergui.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp
index 0ad9c90d3..52719922a 100644
--- a/src/libs/installer/packagemanagergui.cpp
+++ b/src/libs/installer/packagemanagergui.cpp
@@ -340,12 +340,10 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent)
m_pageListWidget->setFrameShape(QFrame::NoFrame);
m_pageListWidget->setMinimumWidth(200);
// The widget should be view-only but we do not want it to be grayed out,
- // so instead of calling setEnabled(false), do not accept keyboard focus
- // and disable delivery of mouse events.
+ // so instead of calling setEnabled(false), do not accept focus.
m_pageListWidget->setFocusPolicy(Qt::NoFocus);
- m_pageListWidget->setAttribute(Qt::WA_TransparentForMouseEvents);
m_pageListWidget->setSelectionMode(QAbstractItemView::NoSelection);
- m_pageListWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ m_pageListWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
QVBoxLayout *sideWidgetLayout = new QVBoxLayout(sideWidget);
@@ -467,6 +465,8 @@ void PackageManagerGui::updatePageListWidget()
QFont currentItemFont = item->font();
currentItemFont.setBold(true);
item->setFont(currentItemFont);
+ // Current item should be always visible on the list
+ m_pageListWidget->scrollToItem(item);
} else if (!visitedPages().contains(id)) {
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
}