summaryrefslogtreecommitdiffstats
path: root/application/MainWindow.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-06-01 01:19:12 +0200
committerPetr Mrázek <peterix@gmail.com>2015-06-01 01:19:12 +0200
commit405cea177877234981019c6916f6f97d818dfd51 (patch)
tree2e1cc92f5bb807836fe8c4ecee98c1015305ce04 /application/MainWindow.cpp
parent96c497f6542daabeaa67e96e4298df50f65663d0 (diff)
downloadMultiMC-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.cpp23
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);