summaryrefslogtreecommitdiffstats
path: root/gui/LegacyModEditDialog.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-08-18 20:52:17 +0200
committerPetr Mrázek <peterix@gmail.com>2013-08-18 20:52:17 +0200
commitc92ad7dcf86f2e5e71d71a68e24e79fbdeceb56d (patch)
tree7be301a5123e216a41646f9639ec887609497a87 /gui/LegacyModEditDialog.cpp
parent253067c782955380bbf66ac0475dc954375b1ff4 (diff)
downloadMultiMC-c92ad7dcf86f2e5e71d71a68e24e79fbdeceb56d.tar
MultiMC-c92ad7dcf86f2e5e71d71a68e24e79fbdeceb56d.tar.gz
MultiMC-c92ad7dcf86f2e5e71d71a68e24e79fbdeceb56d.tar.lz
MultiMC-c92ad7dcf86f2e5e71d71a68e24e79fbdeceb56d.tar.xz
MultiMC-c92ad7dcf86f2e5e71d71a68e24e79fbdeceb56d.zip
Drag and Drop, mod management.
Diffstat (limited to 'gui/LegacyModEditDialog.cpp')
-rw-r--r--gui/LegacyModEditDialog.cpp92
1 files changed, 92 insertions, 0 deletions
diff --git a/gui/LegacyModEditDialog.cpp b/gui/LegacyModEditDialog.cpp
index a6becd7d..61e3872e 100644
--- a/gui/LegacyModEditDialog.cpp
+++ b/gui/LegacyModEditDialog.cpp
@@ -15,6 +15,9 @@
#include "LegacyModEditDialog.h"
#include "ui_LegacyModEditDialog.h"
+#include <logic/ModList.h>
+#include <pathutils.h>
+#include <QFileDialog>
LegacyModEditDialog::LegacyModEditDialog( LegacyInstance* inst, QWidget* parent ) :
m_inst(inst),
@@ -22,7 +25,22 @@ LegacyModEditDialog::LegacyModEditDialog( LegacyInstance* inst, QWidget* parent
ui(new Ui::LegacyModEditDialog)
{
ui->setupUi(this);
+ ensurePathExists(m_inst->coreModsDir());
+ ensurePathExists(m_inst->mlModsDir());
+ ensurePathExists(m_inst->jarModsDir());
+ m_mods = m_inst->loaderModList();
+ m_coremods = m_inst->coreModList();
+ m_jarmods = m_inst->jarModList();
+ /*
+ m_mods->startWatching();
+ m_coremods->startWatching();
+ m_jarmods->startWatching();
+ */
+
+ ui->jarModsTreeView->setModel(m_jarmods.data());
+ ui->coreModsTreeView->setModel(m_coremods.data());
+ ui->mlModTreeView->setModel(m_mods.data());
}
LegacyModEditDialog::~LegacyModEditDialog()
@@ -30,6 +48,80 @@ LegacyModEditDialog::~LegacyModEditDialog()
delete ui;
}
+void LegacyModEditDialog::on_addCoreBtn_clicked()
+{
+ QStringList fileNames = QFileDialog::getOpenFileNames(this, "Select Core Mods");
+ for(auto filename:fileNames)
+ {
+ m_coremods->installMod(QFileInfo(filename));
+ }
+}
+void LegacyModEditDialog::on_addForgeBtn_clicked()
+{
+
+}
+void LegacyModEditDialog::on_addJarBtn_clicked()
+{
+
+}
+void LegacyModEditDialog::on_addModBtn_clicked()
+{
+
+}
+void LegacyModEditDialog::on_addTexPackBtn_clicked()
+{
+
+}
+void LegacyModEditDialog::on_moveJarDownBtn_clicked()
+{
+
+}
+void LegacyModEditDialog::on_moveJarUpBtn_clicked()
+{
+
+}
+void LegacyModEditDialog::on_rmCoreBtn_clicked()
+{
+ auto sm = ui->coreModsTreeView->selectionModel();
+ auto selection = sm->selectedRows();
+ if(!selection.size())
+ return;
+ m_coremods->deleteMod(selection[0].row());
+}
+void LegacyModEditDialog::on_rmJarBtn_clicked()
+{
+ auto sm = ui->jarModsTreeView->selectionModel();
+ auto selection = sm->selectedRows();
+ if(!selection.size())
+ return;
+ m_jarmods->deleteMod(selection[0].row());
+}
+void LegacyModEditDialog::on_rmModBtn_clicked()
+{
+ auto sm = ui->mlModTreeView->selectionModel();
+ auto selection = sm->selectedRows();
+ if(!selection.size())
+ return;
+ m_mods->deleteMod(selection[0].row());
+}
+void LegacyModEditDialog::on_rmTexPackBtn_clicked()
+{
+
+}
+void LegacyModEditDialog::on_viewCoreBtn_clicked()
+{
+ openDirInDefaultProgram(m_inst->coreModsDir(), true);
+}
+void LegacyModEditDialog::on_viewModBtn_clicked()
+{
+ openDirInDefaultProgram(m_inst->mlModsDir(), true);
+}
+void LegacyModEditDialog::on_viewTexPackBtn_clicked()
+{
+ //openDirInDefaultProgram(m_inst->mlModsDir(), true);
+}
+
+
void LegacyModEditDialog::on_buttonBox_rejected()
{
close();