diff options
author | Ezekiel Smith <ezekielsmith@protonmail.com> | 2022-04-20 21:59:25 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-20 21:59:25 +1000 |
commit | 5adcc26190b82dc9c1050452645d762f5e8b5a5e (patch) | |
tree | e6b37f4ad8b4eddc9da91238e6f71e1422473772 | |
parent | 4e97f2a6fee1557c51e2220fe7f1849239da3a2c (diff) | |
parent | db6dae754135a4e05420489571ad1233d0ec8933 (diff) | |
download | PrismLauncher-5adcc26190b82dc9c1050452645d762f5e8b5a5e.tar.gz PrismLauncher-5adcc26190b82dc9c1050452645d762f5e8b5a5e.tar.bz2 PrismLauncher-5adcc26190b82dc9c1050452645d762f5e8b5a5e.zip |
Merge pull request #472 from Scrumplex/fix-download-mods-snapshot
fix: disable major version match for snapshots
-rw-r--r-- | launcher/ui/widgets/ModFilterWidget.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/launcher/ui/widgets/ModFilterWidget.cpp b/launcher/ui/widgets/ModFilterWidget.cpp index ffc8d05d..4ab34375 100644 --- a/launcher/ui/widgets/ModFilterWidget.cpp +++ b/launcher/ui/widgets/ModFilterWidget.cpp @@ -23,12 +23,21 @@ void ModFilterWidget::setInstance(MinecraftInstance* instance) { m_instance = instance; - auto mcVersionSplit = mcVersionStr().split("."); - ui->strictVersionButton->setText( tr("Strict match (= %1)").arg(mcVersionStr())); - ui->majorVersionButton->setText( - tr("Major version match (= %1.%2.x)").arg(mcVersionSplit[0], mcVersionSplit[1])); + + // we can't do this for snapshots sadly + if(mcVersionStr().contains('.')) + { + auto mcVersionSplit = mcVersionStr().split("."); + ui->majorVersionButton->setText( + tr("Major version match (= %1.%2.x)").arg(mcVersionSplit[0], mcVersionSplit[1])); + } + else + { + ui->majorVersionButton->setText(tr("Major version match (unsupported)")); + disableVersionButton(Major); + } ui->allVersionsButton->setText( tr("Any version")); //ui->betweenVersionsButton->setText( @@ -67,7 +76,6 @@ void ModFilterWidget::onVersionFilterChanged(int id) //ui->lowerVersionComboBox->setEnabled(id == VersionButtonID::Between); //ui->upperVersionComboBox->setEnabled(id == VersionButtonID::Between); - auto versionSplit = mcVersionStr().split("."); int index = 0; auto cast_id = (VersionButtonID) id; @@ -83,12 +91,14 @@ void ModFilterWidget::onVersionFilterChanged(int id) case(VersionButtonID::Strict): m_filter->versions.push_front(mcVersion()); break; - case(VersionButtonID::Major): + case(VersionButtonID::Major): { + auto versionSplit = mcVersionStr().split("."); for(auto i = Version(QString("%1.%2").arg(versionSplit[0], versionSplit[1])); i <= mcVersion(); index++){ m_filter->versions.push_front(i); i = Version(QString("%1.%2.%3").arg(versionSplit[0], versionSplit[1], QString("%1").arg(index))); } break; + } case(VersionButtonID::All): // Empty list to avoid enumerating all versions :P break; |