diff options
author | Petr Mrázek <peterix@gmail.com> | 2017-12-09 01:30:23 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2017-12-09 01:30:23 +0100 |
commit | ef2cbe16e611da68f3cb529f87f4ecb3038af161 (patch) | |
tree | 7e9c6f9ab45ae90891e64cc245547c4b8cb79b66 /application/widgets/VersionSelectWidget.cpp | |
parent | 57accb1cbb4a2deee050ded9f541faeacfbcc787 (diff) | |
download | PrismLauncher-ef2cbe16e611da68f3cb529f87f4ecb3038af161.tar.gz PrismLauncher-ef2cbe16e611da68f3cb529f87f4ecb3038af161.tar.bz2 PrismLauncher-ef2cbe16e611da68f3cb529f87f4ecb3038af161.zip |
NOISSUE when there is a version added already, preselect it in the version select dialog
Diffstat (limited to 'application/widgets/VersionSelectWidget.cpp')
-rw-r--r-- | application/widgets/VersionSelectWidget.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
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); } |