mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-04-30 06:34:27 +02:00
Make requested changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
parent
c1c198b84b
commit
d49e6187cd
@ -166,7 +166,7 @@ bool ResourceFolderModel::installResource(QString original_path)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ResourceFolderModel::installResource(QString path, ModPlatform::IndexedVersion& vers)
|
bool ResourceFolderModel::installResourceWithFlameMetadata(QString path, ModPlatform::IndexedVersion& vers)
|
||||||
{
|
{
|
||||||
if (vers.addonId.isValid()) {
|
if (vers.addonId.isValid()) {
|
||||||
ModPlatform::IndexedPack pack{
|
ModPlatform::IndexedPack pack{
|
||||||
|
@ -113,7 +113,7 @@ class ResourceFolderModel : public QAbstractListModel {
|
|||||||
*/
|
*/
|
||||||
virtual bool installResource(QString path);
|
virtual bool installResource(QString path);
|
||||||
|
|
||||||
virtual bool installResource(QString path, ModPlatform::IndexedVersion& vers);
|
virtual bool installResourceWithFlameMetadata(QString path, ModPlatform::IndexedVersion& vers);
|
||||||
|
|
||||||
/** Uninstall (i.e. remove all data about it) a resource, given its file name.
|
/** Uninstall (i.e. remove all data about it) a resource, given its file name.
|
||||||
*
|
*
|
||||||
|
@ -17,7 +17,7 @@ class CheckUpdateTask : public Task {
|
|||||||
std::list<Version>& mcVersions,
|
std::list<Version>& mcVersions,
|
||||||
QList<ModPlatform::ModLoaderType> loadersList,
|
QList<ModPlatform::ModLoaderType> loadersList,
|
||||||
std::shared_ptr<ResourceFolderModel> resourceModel)
|
std::shared_ptr<ResourceFolderModel> resourceModel)
|
||||||
: Task(nullptr)
|
: Task()
|
||||||
, m_resources(resources)
|
, m_resources(resources)
|
||||||
, m_game_versions(mcVersions)
|
, m_game_versions(mcVersions)
|
||||||
, m_loaders_list(std::move(loadersList))
|
, m_loaders_list(std::move(loadersList))
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
#include <QVector>
|
#include <QVector>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <optional>
|
|
||||||
|
|
||||||
class QIODevice;
|
class QIODevice;
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ void ModrinthCheckUpdate::checkVersionsResponse(std::shared_ptr<QByteArray> resp
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_updates.emplace_back(pack->name, hash, old_version, project_ver.version_number, project_ver.version_type,
|
m_updates.emplace_back(pack->name, hash, old_version, project_ver.version_number, project_ver.version_type,
|
||||||
project_ver.changelog, ModPlatform::ResourceProvider::MODRINTH, download_task);
|
project_ver.changelog, ModPlatform::ResourceProvider::MODRINTH, download_task, resource->enabled());
|
||||||
}
|
}
|
||||||
m_deps.append(std::make_shared<GetModDependenciesTask::PackDependency>(pack, project_ver));
|
m_deps.append(std::make_shared<GetModDependenciesTask::PackDependency>(pack, project_ver));
|
||||||
|
|
||||||
@ -177,7 +177,7 @@ void ModrinthCheckUpdate::checkNextLoader()
|
|||||||
if (m_loader_idx < m_loaders_list.size()) {
|
if (m_loader_idx < m_loaders_list.size()) {
|
||||||
getUpdateModsForLoader(m_loaders_list.at(m_loader_idx));
|
getUpdateModsForLoader(m_loaders_list.at(m_loader_idx));
|
||||||
m_loader_idx++;
|
m_loader_idx++;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto resource : m_mappings) {
|
for (auto resource : m_mappings) {
|
||||||
|
@ -1048,7 +1048,7 @@ void MainWindow::processURLs(QList<QUrl> urls)
|
|||||||
qWarning() << "Importing of Data Packs not supported at this time. Ignoring" << localFileName;
|
qWarning() << "Importing of Data Packs not supported at this time. Ignoring" << localFileName;
|
||||||
break;
|
break;
|
||||||
case PackedResourceType::Mod:
|
case PackedResourceType::Mod:
|
||||||
minecraftInst->loaderModList()->installResource(localFileName, version);
|
minecraftInst->loaderModList()->installResourceWithFlameMetadata(localFileName, version);
|
||||||
break;
|
break;
|
||||||
case PackedResourceType::ShaderPack:
|
case PackedResourceType::ShaderPack:
|
||||||
minecraftInst->shaderPackList()->installResource(localFileName);
|
minecraftInst->shaderPackList()->installResource(localFileName);
|
||||||
|
@ -305,21 +305,10 @@ void ExternalResourcesPage::disableItem()
|
|||||||
void ExternalResourcesPage::viewHomepage()
|
void ExternalResourcesPage::viewHomepage()
|
||||||
{
|
{
|
||||||
auto selection = m_filterModel->mapSelectionToSource(ui->treeView->selectionModel()->selection()).indexes();
|
auto selection = m_filterModel->mapSelectionToSource(ui->treeView->selectionModel()->selection()).indexes();
|
||||||
bool openedAny = false;
|
|
||||||
for (auto resource : m_model->selectedResources(selection)) {
|
for (auto resource : m_model->selectedResources(selection)) {
|
||||||
auto url = resource->homepage();
|
auto url = resource->homepage();
|
||||||
if (!url.isEmpty()) {
|
if (!url.isEmpty())
|
||||||
DesktopServices::openUrl(url);
|
DesktopServices::openUrl(url);
|
||||||
openedAny = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: just disable button
|
|
||||||
// just doing this for now to prevent race conditions which may be worse with implementation changes
|
|
||||||
if (!openedAny) {
|
|
||||||
CustomMessageBox::selectable(this, tr("No homepages found"), tr("None of the selected resources had an available homepage."),
|
|
||||||
QMessageBox::Warning, QMessageBox::Ok, QMessageBox::Ok)
|
|
||||||
->exec();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -336,18 +325,20 @@ void ExternalResourcesPage::viewFolder()
|
|||||||
void ExternalResourcesPage::updateActions()
|
void ExternalResourcesPage::updateActions()
|
||||||
{
|
{
|
||||||
const bool hasSelection = ui->treeView->selectionModel()->hasSelection();
|
const bool hasSelection = ui->treeView->selectionModel()->hasSelection();
|
||||||
const QModelIndexList rows = ui->treeView->selectionModel()->selectedRows();
|
const QModelIndexList selection = m_filterModel->mapSelectionToSource(ui->treeView->selectionModel()->selection()).indexes();
|
||||||
|
const QList<Resource*> selectedResources = m_model->selectedResources(selection);
|
||||||
|
|
||||||
ui->actionUpdateItem->setEnabled(!m_model->empty());
|
ui->actionUpdateItem->setEnabled(!m_model->empty());
|
||||||
ui->actionResetItemMetadata->setEnabled(hasSelection);
|
ui->actionResetItemMetadata->setEnabled(hasSelection);
|
||||||
|
|
||||||
ui->actionChangeVersion->setEnabled(rows.count() == 1 && m_model->at(m_filterModel->mapToSource(rows[0]).row()).metadata() != nullptr);
|
ui->actionChangeVersion->setEnabled(selectedResources.size() == 1 && selectedResources[0]->metadata() != nullptr);
|
||||||
|
|
||||||
ui->actionRemoveItem->setEnabled(hasSelection);
|
ui->actionRemoveItem->setEnabled(hasSelection);
|
||||||
ui->actionEnableItem->setEnabled(hasSelection);
|
ui->actionEnableItem->setEnabled(hasSelection);
|
||||||
ui->actionDisableItem->setEnabled(hasSelection);
|
ui->actionDisableItem->setEnabled(hasSelection);
|
||||||
|
|
||||||
ui->actionViewHomepage->setEnabled(hasSelection);
|
ui->actionViewHomepage->setEnabled(hasSelection && std::any_of(selectedResources.begin(), selectedResources.end(),
|
||||||
|
[](Resource* resource) { return !resource->homepage().isEmpty() }));
|
||||||
ui->actionExportMetadata->setEnabled(!m_model->empty());
|
ui->actionExportMetadata->setEnabled(!m_model->empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user