mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2026-07-05 21:06:58 +03:00
refactor: move RP/TP validation to their respective utils
This makes it easier to validate individual resources, and allows the logic to be used in other places in the future, if we need to. Signed-off-by: flow <flowlnlnln@gmail.com>
This commit is contained in:
parent
d92ae530d7
commit
df0f9259c0
5 changed files with 76 additions and 38 deletions
|
|
@ -110,10 +110,8 @@
|
|||
#include "ui/dialogs/ImportResourcePackDialog.h"
|
||||
#include "ui/themes/ITheme.h"
|
||||
|
||||
#include <minecraft/mod/ResourcePack.h>
|
||||
#include <minecraft/mod/ResourcePackFolderModel.h>
|
||||
#include <minecraft/mod/tasks/LocalResourcePackParseTask.h>
|
||||
#include <minecraft/mod/TexturePack.h>
|
||||
#include <minecraft/mod/TexturePackFolderModel.h>
|
||||
#include <minecraft/mod/tasks/LocalTexturePackParseTask.h>
|
||||
|
||||
|
|
@ -1806,32 +1804,30 @@ void MainWindow::droppedURLs(QList<QUrl> urls)
|
|||
for (auto& url : urls) {
|
||||
if (url.isLocalFile()) {
|
||||
auto localFileName = url.toLocalFile();
|
||||
|
||||
ResourcePack rp{ QFileInfo(localFileName) };
|
||||
TexturePack tp{ QFileInfo(localFileName) };
|
||||
QFileInfo localFileInfo(localFileName);
|
||||
|
||||
ImportResourcePackDialog dlg(this);
|
||||
|
||||
if (ResourcePackUtils::process(rp) && rp.valid()) {
|
||||
dlg.exec();
|
||||
if (ResourcePackUtils::validate(localFileInfo)) {
|
||||
dlg.exec();
|
||||
|
||||
if (dlg.result() == QDialog::Accepted) {
|
||||
qDebug() << "Selected instance to import resource pack into: " << dlg.selectedInstanceKey;
|
||||
auto instance = APPLICATION->instances()->getInstanceById(dlg.selectedInstanceKey);
|
||||
auto instanceButBuffed = std::dynamic_pointer_cast<MinecraftInstance>(instance);
|
||||
instanceButBuffed->resourcePackList()->installResource(localFileName);
|
||||
}
|
||||
} else if (TexturePackUtils::process(tp) && tp.valid()) {
|
||||
dlg.exec();
|
||||
if (dlg.result() == QDialog::Accepted) {
|
||||
qDebug() << "Selected instance to import resource pack into: " << dlg.selectedInstanceKey;
|
||||
auto instance = APPLICATION->instances()->getInstanceById(dlg.selectedInstanceKey);
|
||||
auto instanceButBuffed = std::dynamic_pointer_cast<MinecraftInstance>(instance);
|
||||
instanceButBuffed->resourcePackList()->installResource(localFileName);
|
||||
}
|
||||
} else if (TexturePackUtils::validate(localFileInfo)) {
|
||||
dlg.exec();
|
||||
|
||||
if (dlg.result() == QDialog::Accepted) {
|
||||
qDebug() << "Selected instance to import texture pack into: " << dlg.selectedInstanceKey;
|
||||
auto instance = APPLICATION->instances()->getInstanceById(dlg.selectedInstanceKey);
|
||||
auto instanceButBuffed = std::dynamic_pointer_cast<MinecraftInstance>(instance);
|
||||
instanceButBuffed->texturePackList()->installResource(localFileName);
|
||||
}
|
||||
if (dlg.result() == QDialog::Accepted) {
|
||||
qDebug() << "Selected instance to import texture pack into: " << dlg.selectedInstanceKey;
|
||||
auto instance = APPLICATION->instances()->getInstanceById(dlg.selectedInstanceKey);
|
||||
auto instanceButBuffed = std::dynamic_pointer_cast<MinecraftInstance>(instance);
|
||||
instanceButBuffed->texturePackList()->installResource(localFileName);
|
||||
}
|
||||
} else {
|
||||
addInstance(localFileName);
|
||||
addInstance(localFileName);
|
||||
}
|
||||
} else {
|
||||
addInstance(url.toString());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue