diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-06-01 01:19:12 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-06-01 01:19:12 +0200 |
commit | 405cea177877234981019c6916f6f97d818dfd51 (patch) | |
tree | 2e1cc92f5bb807836fe8c4ecee98c1015305ce04 /application/MainWindow.cpp | |
parent | 96c497f6542daabeaa67e96e4298df50f65663d0 (diff) | |
download | MultiMC-405cea177877234981019c6916f6f97d818dfd51.tar MultiMC-405cea177877234981019c6916f6f97d818dfd51.tar.gz MultiMC-405cea177877234981019c6916f6f97d818dfd51.tar.lz MultiMC-405cea177877234981019c6916f6f97d818dfd51.tar.xz MultiMC-405cea177877234981019c6916f6f97d818dfd51.zip |
GH-1031 include icon in exported instance if it is custom
Diffstat (limited to 'application/MainWindow.cpp')
-rw-r--r-- | application/MainWindow.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/application/MainWindow.cpp b/application/MainWindow.cpp index 6c5aa3af..9ff120bd 100644 --- a/application/MainWindow.cpp +++ b/application/MainWindow.cpp @@ -1137,7 +1137,27 @@ void MainWindow::instanceFromZipPack(QString instName, QString instGroup, QStrin } newInstance->setName(instName); - newInstance->setIconKey(instIcon); + if(instIcon != "default") + { + newInstance->setIconKey(instIcon); + } + else + { + instIcon = newInstance->iconKey(); + auto importIconPath = PathCombine(newInstance->instanceRoot(), instIcon + ".png"); + if (QFile::exists(importIconPath)) + { + // import icon + auto iconList = ENV.icons(); + // FIXME: check if the file is OK before removing the existing one... + if(iconList->iconFileExists(instIcon)) + { + //FIXME: ask if icon should be overwritten. Show difference in the question dialog. + iconList->deleteIcon(instIcon); + } + iconList->installIcons({importIconPath}); + } + } newInstance->setGroupInitial(instGroup); MMC->instances()->add(InstancePtr(newInstance)); MMC->instances()->saveGroupList(); @@ -1225,7 +1245,6 @@ void MainWindow::on_actionAddInstance_triggered() const QUrl modpackUrl = newInstDlg.modpackUrl(); - if (modpackUrl.isValid()) { instanceFromZipPack(newInstDlg.instName(), newInstDlg.instGroup(), newInstDlg.iconKey(), modpackUrl); |