summaryrefslogtreecommitdiffstats
path: root/application/widgets/VersionSelectWidget.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2017-12-09 01:30:23 +0100
committerPetr Mrázek <peterix@gmail.com>2017-12-09 01:30:23 +0100
commitef2cbe16e611da68f3cb529f87f4ecb3038af161 (patch)
tree7e9c6f9ab45ae90891e64cc245547c4b8cb79b66 /application/widgets/VersionSelectWidget.cpp
parent57accb1cbb4a2deee050ded9f541faeacfbcc787 (diff)
downloadMultiMC-ef2cbe16e611da68f3cb529f87f4ecb3038af161.tar
MultiMC-ef2cbe16e611da68f3cb529f87f4ecb3038af161.tar.gz
MultiMC-ef2cbe16e611da68f3cb529f87f4ecb3038af161.tar.lz
MultiMC-ef2cbe16e611da68f3cb529f87f4ecb3038af161.tar.xz
MultiMC-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.cpp25
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);
}