diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2023-10-02 11:56:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-02 11:56:50 +0200 |
commit | bfa96133736b4a89e6dd39b6a67bee65a0af88b4 (patch) | |
tree | aae5af22f2c039d671b4f110316ff123b128dac0 /launcher/minecraft | |
parent | eab1180f68a4c994ad09c57ddf78ecd62610caa1 (diff) | |
parent | 86b47b3421101083a5d0a93a11d33f35c3f8f4a2 (diff) | |
download | PrismLauncher-bfa96133736b4a89e6dd39b6a67bee65a0af88b4.tar.gz PrismLauncher-bfa96133736b4a89e6dd39b6a67bee65a0af88b4.tar.bz2 PrismLauncher-bfa96133736b4a89e6dd39b6a67bee65a0af88b4.zip |
Merge pull request #1657 from Trial97/shader_txt
Diffstat (limited to 'launcher/minecraft')
-rw-r--r-- | launcher/minecraft/mod/ShaderPack.cpp | 7 | ||||
-rw-r--r-- | launcher/minecraft/mod/ShaderPack.h | 1 | ||||
-rw-r--r-- | launcher/minecraft/mod/ShaderPackFolderModel.h | 13 |
3 files changed, 20 insertions, 1 deletions
diff --git a/launcher/minecraft/mod/ShaderPack.cpp b/launcher/minecraft/mod/ShaderPack.cpp index 6a9641de..2c094f26 100644 --- a/launcher/minecraft/mod/ShaderPack.cpp +++ b/launcher/minecraft/mod/ShaderPack.cpp @@ -22,7 +22,7 @@ #include "ShaderPack.h" -#include "minecraft/mod/tasks/LocalShaderPackParseTask.h" +#include <QRegularExpression> void ShaderPack::setPackFormat(ShaderPackFormat new_format) { @@ -35,3 +35,8 @@ bool ShaderPack::valid() const { return m_pack_format != ShaderPackFormat::INVALID; } + +bool ShaderPack::applyFilter(QRegularExpression filter) const +{ + return valid() && Resource::applyFilter(filter); +} diff --git a/launcher/minecraft/mod/ShaderPack.h b/launcher/minecraft/mod/ShaderPack.h index ec0f9404..d07c124b 100644 --- a/launcher/minecraft/mod/ShaderPack.h +++ b/launcher/minecraft/mod/ShaderPack.h @@ -54,6 +54,7 @@ class ShaderPack : public Resource { void setPackFormat(ShaderPackFormat new_format); bool valid() const override; + [[nodiscard]] bool applyFilter(QRegularExpression filter) const override; protected: mutable QMutex m_data_lock; diff --git a/launcher/minecraft/mod/ShaderPackFolderModel.h b/launcher/minecraft/mod/ShaderPackFolderModel.h index 44ed37a4..186d0213 100644 --- a/launcher/minecraft/mod/ShaderPackFolderModel.h +++ b/launcher/minecraft/mod/ShaderPackFolderModel.h @@ -1,6 +1,9 @@ #pragma once #include "ResourceFolderModel.h" +#include "minecraft/mod/ShaderPack.h" +#include "minecraft/mod/tasks/BasicFolderLoadTask.h" +#include "minecraft/mod/tasks/LocalShaderPackParseTask.h" class ShaderPackFolderModel : public ResourceFolderModel { Q_OBJECT @@ -9,4 +12,14 @@ class ShaderPackFolderModel : public ResourceFolderModel { explicit ShaderPackFolderModel(const QString& dir, BaseInstance* instance) : ResourceFolderModel(QDir(dir), instance) {} virtual QString id() const override { return "shaderpacks"; } + + [[nodiscard]] Task* createUpdateTask() override + { + return new BasicFolderLoadTask(m_dir, [](QFileInfo const& entry) { return makeShared<ShaderPack>(entry); }); + } + + [[nodiscard]] Task* createParseTask(Resource& resource) override + { + return new LocalShaderPackParseTask(m_next_resolution_ticket, static_cast<ShaderPack&>(resource)); + } }; |