GH-1031 include icon in exported instance if it is custom

This commit is contained in:
Petr Mrázek
2015-06-01 01:19:12 +02:00
parent 96c497f654
commit 405cea1778
6 changed files with 92 additions and 7 deletions

View File

@ -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);