GH-589 GH-842 GH-901 GH-1117 allow mass-enabling/disabling of mods

This commit is contained in:
Petr Mrázek 2016-08-04 23:16:03 +02:00
parent 6ec2652b45
commit b76d4573cd
5 changed files with 49 additions and 1 deletions

View File

@ -175,6 +175,21 @@ bool ModList::installMod(const QString &filename)
return false;
}
bool ModList::enableMods(const QModelIndexList& indexes, bool enable)
{
if(indexes.isEmpty())
return true;
for (auto i: indexes)
{
Mod &m = mods[i.row()];
m.enable(enable);
emit dataChanged(i, i);
}
emit changed();
return true;
}
bool ModList::deleteMods(const QModelIndexList& indexes)
{
if(indexes.isEmpty())

View File

@ -86,6 +86,9 @@ public:
/// Deletes all the selected mods
virtual bool deleteMods(const QModelIndexList &indexes);
/// Enable or disable listed mods
virtual bool enableMods(const QModelIndexList &indexes, bool enable = true);
void startWatching();
void stopWatching();

View File

@ -165,6 +165,18 @@ void ModFolderPage::on_addModBtn_clicked()
}
}
void ModFolderPage::on_enableModBtn_clicked()
{
auto selection = m_filterModel->mapSelectionToSource(ui->modTreeView->selectionModel()->selection());
m_mods->enableMods(selection.indexes(), true);
}
void ModFolderPage::on_disableModBtn_clicked()
{
auto selection = m_filterModel->mapSelectionToSource(ui->modTreeView->selectionModel()->selection());
m_mods->enableMods(selection.indexes(), false);
}
void ModFolderPage::on_rmModBtn_clicked()
{
auto selection = m_filterModel->mapSelectionToSource(ui->modTreeView->selectionModel()->selection());

View File

@ -90,6 +90,8 @@ slots:
void on_addModBtn_clicked();
void on_rmModBtn_clicked();
void on_viewModBtn_clicked();
void on_enableModBtn_clicked();
void on_disableModBtn_clicked();
};
class CoreModFolderPage : public ModFolderPage

View File

@ -55,6 +55,20 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="enableModBtn">
<property name="text">
<string>Enable</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="disableModBtn">
<property name="text">
<string>Disable</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
@ -143,10 +157,12 @@
<tabstops>
<tabstop>tabWidget</tabstop>
<tabstop>modTreeView</tabstop>
<tabstop>filterEdit</tabstop>
<tabstop>addModBtn</tabstop>
<tabstop>rmModBtn</tabstop>
<tabstop>enableModBtn</tabstop>
<tabstop>disableModBtn</tabstop>
<tabstop>viewModBtn</tabstop>
<tabstop>filterEdit</tabstop>
</tabstops>
<resources/>
<connections/>