Skip to content

Commit

Permalink
Merge pull request #1796 from Trial97/dep_global_toggle
Browse files Browse the repository at this point in the history
Added Global Dependenicies toggle
  • Loading branch information
Trial97 committed Nov 6, 2023
2 parents 0b1dcb3 + 3e7f908 commit 8eac0d3
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 7 deletions.
1 change: 1 addition & 0 deletions launcher/Application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)

// Minecraft mods
m_settings->registerSetting("ModMetadataDisabled", false);
m_settings->registerSetting("ModDependenciesDisabled", false);

// Minecraft offline player name
m_settings->registerSetting("LastOfflinePlayerName", "");
Expand Down
2 changes: 1 addition & 1 deletion launcher/ui/dialogs/ModUpdateDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ void ModUpdateDialog::checkCandidates()
}
}

{ // dependencies
if (!APPLICATION->settings()->get("ModDependenciesDisabled").toBool()) { // dependencies
auto depTask = makeShared<GetModDependenciesTask>(this, m_instance, m_mod_model.get(), selectedVers);

connect(depTask.get(), &Task::failed, this,
Expand Down
14 changes: 8 additions & 6 deletions launcher/ui/dialogs/ResourceDownloadDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -270,13 +270,15 @@ QList<BasePage*> ModDownloadDialog::getPages()

GetModDependenciesTask::Ptr ModDownloadDialog::getModDependenciesTask()
{
if (auto model = dynamic_cast<ModFolderModel*>(getBaseModel().get()); model) {
QList<std::shared_ptr<GetModDependenciesTask::PackDependency>> selectedVers;
for (auto& selected : getTasks()) {
selectedVers.append(std::make_shared<GetModDependenciesTask::PackDependency>(selected->getPack(), selected->getVersion()));
}
if (!APPLICATION->settings()->get("ModDependenciesDisabled").toBool()) { // dependencies
if (auto model = dynamic_cast<ModFolderModel*>(getBaseModel().get()); model) {
QList<std::shared_ptr<GetModDependenciesTask::PackDependency>> selectedVers;
for (auto& selected : getTasks()) {
selectedVers.append(std::make_shared<GetModDependenciesTask::PackDependency>(selected->getPack(), selected->getVersion()));
}

return makeShared<GetModDependenciesTask>(this, m_instance, model, selectedVers);
return makeShared<GetModDependenciesTask>(this, m_instance, model, selectedVers);
}
}
return nullptr;
}
Expand Down
2 changes: 2 additions & 0 deletions launcher/ui/pages/global/LauncherPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ void LauncherPage::applySettings()

// Mods
s->set("ModMetadataDisabled", ui->metadataDisableBtn->isChecked());
s->set("ModDependenciesDisabled", ui->dependenciesDisableBtn->isChecked());
}
void LauncherPage::loadSettings()
{
Expand Down Expand Up @@ -278,6 +279,7 @@ void LauncherPage::loadSettings()
// Mods
ui->metadataDisableBtn->setChecked(s->get("ModMetadataDisabled").toBool());
ui->metadataWarningLabel->setHidden(!ui->metadataDisableBtn->isChecked());
ui->dependenciesDisableBtn->setChecked(s->get("ModDependenciesDisabled").toBool());
}

void LauncherPage::refreshFontPreview()
Expand Down
10 changes: 10 additions & 0 deletions launcher/ui/pages/global/LauncherPage.ui
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,16 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="dependenciesDisableBtn">
<property name="toolTip">
<string>Disable automatically checking and installation of mod dependencies.</string>
</property>
<property name="text">
<string>Do not install mod dependencies</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
Expand Down
4 changes: 4 additions & 0 deletions launcher/ui/pages/instance/ModFolderPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,10 @@ void ModFolderPage::updateMods()
QMessageBox::critical(this, tr("Error"), tr("Please install a mod loader first!"));
return;
}
if (APPLICATION->settings()->get("ModMetadataDisabled").toBool()) {
QMessageBox::critical(this, tr("Error"), tr("Mod updates are unavailable when metadata is disabled!"));
return;
}
auto selection = m_filterModel->mapSelectionToSource(ui->treeView->selectionModel()->selection()).indexes();

auto mods_list = m_model->selectedMods(selection);
Expand Down

0 comments on commit 8eac0d3

Please sign in to comment.