MCPcopy Create free account
hub / github.com/FreesmTeam/FreesmLauncher / ModFolderPage

Method ModFolderPage

launcher/ui/pages/instance/ModFolderPage.cpp:74–166  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72#include "ui/dialogs/ProgressDialog.h"
73
74ModFolderPage::ModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel> mods, QWidget* parent)
75 : ExternalResourcesPage(inst, mods, parent), m_model(mods)
76{
77 // This is structured like that so that these changes
78 // do not affect the Resource pack and Shader pack tabs
79 {
80 ui->actionDownloadItem->setText(tr("Download mods"));
81 ui->actionDownloadItem->setToolTip(tr("Download mods from online mod platforms"));
82 ui->actionDownloadItem->setEnabled(true);
83 ui->actionAddItem->setText(tr("Add file"));
84 ui->actionAddItem->setToolTip(tr("Add a locally downloaded file"));
85
86 ui->actionsToolbar->insertActionBefore(ui->actionAddItem, ui->actionDownloadItem);
87
88 connect(ui->actionDownloadItem, &QAction::triggered, this, &ModFolderPage::installMods);
89
90 // update menu
91 auto updateMenu = ui->actionUpdateItem->menu();
92 if (updateMenu) {
93 updateMenu->clear();
94 } else {
95 updateMenu = new QMenu(this);
96 }
97
98 auto update = updateMenu->addAction(tr("Check for Updates"));
99 update->setToolTip(tr("Try to check or update all selected mods (all mods if none are selected)"));
100 connect(update, &QAction::triggered, this, &ModFolderPage::updateMods);
101
102 auto updateWithDeps = updateMenu->addAction(tr("Verify Dependencies"));
103 updateWithDeps->setToolTip(
104 tr("Try to update and check for missing dependencies all selected mods (all mods if none are selected)"));
105 connect(updateWithDeps, &QAction::triggered, this, [this] { updateMods(true); });
106
107 auto depsDisabled = APPLICATION->settings()->getSetting("ModDependenciesDisabled");
108 updateWithDeps->setVisible(!depsDisabled->get().toBool());
109 connect(depsDisabled.get(), &Setting::SettingChanged, this,
110 [updateWithDeps](const Setting& setting, QVariant value) { updateWithDeps->setVisible(!value.toBool()); });
111
112 auto actionRemoveItemMetadata = updateMenu->addAction(tr("Reset update metadata"));
113 actionRemoveItemMetadata->setToolTip(tr("Remove mod's metadata"));
114 connect(actionRemoveItemMetadata, &QAction::triggered, this, &ModFolderPage::deleteModMetadata);
115 actionRemoveItemMetadata->setEnabled(false);
116
117 ui->actionUpdateItem->setMenu(updateMenu);
118
119 ui->actionUpdateItem->setToolTip(tr("Try to check or update all selected mods (all mods if none are selected)"));
120 connect(ui->actionUpdateItem, &QAction::triggered, this, &ModFolderPage::updateMods);
121 ui->actionsToolbar->insertActionBefore(ui->actionAddItem, ui->actionUpdateItem);
122
123 ui->actionVisitItemPage->setToolTip(tr("Go to mod's home page"));
124 ui->actionsToolbar->addAction(ui->actionVisitItemPage);
125 connect(ui->actionVisitItemPage, &QAction::triggered, this, &ModFolderPage::visitModPages);
126
127 auto changeVersion = new QAction(tr("Change Version"), this);
128 changeVersion->setToolTip(tr("Change mod version"));
129 changeVersion->setEnabled(false);
130 ui->actionsToolbar->insertActionAfter(ui->actionUpdateItem, changeVersion);
131 connect(changeVersion, &QAction::triggered, this, &ModFolderPage::changeModVersion);

Callers

nothing calls this directly

Calls 15

setEnabledMethod · 0.80
insertActionBeforeMethod · 0.80
addActionMethod · 0.80
getSettingMethod · 0.80
setVisibleMethod · 0.80
insertActionAfterMethod · 0.80
selectedModsMethod · 0.80
metadataMethod · 0.80
homeurlMethod · 0.80
setTextMethod · 0.45
clearMethod · 0.45
settingsMethod · 0.45

Tested by

no test coverage detected