From 1c2adf47697214ec5596d800dc38e9f88cd763ca Mon Sep 17 00:00:00 2001 From: Arttu Tarkiainen Date: Tue, 22 Sep 2020 10:37:47 +0300 Subject: 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 --- src/libs/installer/packagemanagergui.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/libs/installer/packagemanagergui.cpp') 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); } -- cgit v1.2.3