From ef2cbe16e611da68f3cb529f87f4ecb3038af161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 9 Dec 2017 01:30:23 +0100 Subject: NOISSUE when there is a version added already, preselect it in the version select dialog --- application/widgets/VersionSelectWidget.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'application/widgets/VersionSelectWidget.cpp') diff --git a/application/widgets/VersionSelectWidget.cpp b/application/widgets/VersionSelectWidget.cpp index 1696d9d1..2a7cbfb7 100644 --- a/application/widgets/VersionSelectWidget.cpp +++ b/application/widgets/VersionSelectWidget.cpp @@ -41,6 +41,11 @@ VersionSelectWidget::VersionSelectWidget(BaseVersionList* vlist, QWidget* parent QMetaObject::connectSlotsByName(this); } +void VersionSelectWidget::setCurrentVersion(const QString& version) +{ + m_currentVersion = version; +} + void VersionSelectWidget::setEmptyString(QString emptyString) { listView->setEmptyString(emptyString); @@ -134,15 +139,33 @@ void VersionSelectWidget::preselect() { if(preselectedAlready) return; - preselectedAlready = true; + selectCurrent(); + if(preselectedAlready) + return; selectRecommended(); } +void VersionSelectWidget::selectCurrent() +{ + if(m_currentVersion.isEmpty()) + { + return; + } + auto idx = m_proxyModel->getVersion(m_currentVersion); + if(idx.isValid()) + { + preselectedAlready = true; + listView->selectionModel()->setCurrentIndex(idx,QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); + listView->scrollTo(idx, QAbstractItemView::PositionAtCenter); + } +} + void VersionSelectWidget::selectRecommended() { auto idx = m_proxyModel->getRecommended(); if(idx.isValid()) { + preselectedAlready = true; listView->selectionModel()->setCurrentIndex(idx,QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); listView->scrollTo(idx, QAbstractItemView::PositionAtCenter); } -- cgit v1.2.3