aboutsummaryrefslogtreecommitdiff
path: root/launcher/InstanceCopyTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/InstanceCopyTask.cpp')
-rw-r--r--launcher/InstanceCopyTask.cpp60
1 files changed, 7 insertions, 53 deletions
diff --git a/launcher/InstanceCopyTask.cpp b/launcher/InstanceCopyTask.cpp
index e0f68224..7fbf8636 100644
--- a/launcher/InstanceCopyTask.cpp
+++ b/launcher/InstanceCopyTask.cpp
@@ -9,62 +9,16 @@ InstanceCopyTask::InstanceCopyTask(InstancePtr origInstance, const InstanceCopyP
{
m_origInstance = origInstance;
m_keepPlaytime = prefs.keepPlaytime;
- QString filter;
- if(!prefs.copySaves)
+ QString filters = prefs.getSelectedFiltersAsRegex();
+ if (!filters.isEmpty())
{
- appendToFilter(filter, "saves");
+ // Set regex filter:
+ // FIXME: get this from the original instance type...
+ auto matcherReal = new RegexpMatcher(filters);
+ matcherReal->caseSensitive(false);
+ m_matcher.reset(matcherReal);
}
-
- if(!prefs.copyGameOptions) {
- appendToFilter(filter, "options.txt");
- }
-
- if(!prefs.copyResourcePacks)
- {
- appendToFilter(filter, "resourcepacks");
- appendToFilter(filter, "texturepacks");
- }
-
- if(!prefs.copyShaderPacks)
- {
- appendToFilter(filter, "shaderpacks");
- }
-
- if(!prefs.copyServers)
- {
- appendToFilter(filter, "servers.dat");
- appendToFilter(filter, "servers.dat_old");
- appendToFilter(filter, "server-resource-packs");
- }
-
- if(!prefs.copyMods)
- {
- appendToFilter(filter, "coremods");
- appendToFilter(filter, "mods");
- appendToFilter(filter, "config");
- }
-
- if (!filter.isEmpty())
- {
- resetFromMatcher(filter);
- }
-}
-
-void InstanceCopyTask::appendToFilter(QString& filter, const QString& append)
-{
- if (!filter.isEmpty())
- filter.append('|'); // OR regex
-
- filter.append("[.]?minecraft/" + append);
-}
-
-void InstanceCopyTask::resetFromMatcher(const QString& regexp)
-{
- // FIXME: get this from the original instance type...
- auto matcherReal = new RegexpMatcher(regexp);
- matcherReal->caseSensitive(false);
- m_matcher.reset(matcherReal);
}
void InstanceCopyTask::executeTask()