2022-10-22 14:50:32 -04:00
|
|
|
//
|
|
|
|
// Created by marcelohdez on 10/22/22.
|
|
|
|
//
|
|
|
|
|
2022-10-29 00:55:33 -04:00
|
|
|
#pragma once
|
2022-10-22 14:50:32 -04:00
|
|
|
|
2022-10-26 00:20:36 -04:00
|
|
|
#include <QStringList>
|
|
|
|
|
2022-10-22 14:50:32 -04:00
|
|
|
struct InstanceCopyPrefs {
|
2022-10-29 00:55:33 -04:00
|
|
|
public:
|
|
|
|
[[nodiscard]] bool allTrue() const;
|
|
|
|
[[nodiscard]] QString getSelectedFiltersAsRegex() const;
|
2023-02-09 19:48:40 -07:00
|
|
|
[[nodiscard]] QString getSelectedFiltersAsRegex(const QStringList& additionalFilters) const;
|
2022-10-29 00:55:33 -04:00
|
|
|
// Getters
|
|
|
|
[[nodiscard]] bool isCopySavesEnabled() const;
|
|
|
|
[[nodiscard]] bool isKeepPlaytimeEnabled() const;
|
|
|
|
[[nodiscard]] bool isCopyGameOptionsEnabled() const;
|
|
|
|
[[nodiscard]] bool isCopyResourcePacksEnabled() const;
|
|
|
|
[[nodiscard]] bool isCopyShaderPacksEnabled() const;
|
|
|
|
[[nodiscard]] bool isCopyServersEnabled() const;
|
|
|
|
[[nodiscard]] bool isCopyModsEnabled() const;
|
2022-10-29 22:27:31 -04:00
|
|
|
[[nodiscard]] bool isCopyScreenshotsEnabled() const;
|
2023-02-09 16:19:38 -07:00
|
|
|
[[nodiscard]] bool isUseSymLinksEnabled() const;
|
2023-02-08 18:39:17 -07:00
|
|
|
[[nodiscard]] bool isLinkRecursivelyEnabled() const;
|
2023-02-06 23:05:06 -08:00
|
|
|
[[nodiscard]] bool isUseHardLinksEnabled() const;
|
2023-02-08 14:30:45 -08:00
|
|
|
[[nodiscard]] bool isDontLinkSavesEnabled() const;
|
2023-02-09 02:02:40 -07:00
|
|
|
[[nodiscard]] bool isUseCloneEnabled() const;
|
2022-10-29 00:55:33 -04:00
|
|
|
// Setters
|
|
|
|
void enableCopySaves(bool b);
|
|
|
|
void enableKeepPlaytime(bool b);
|
|
|
|
void enableCopyGameOptions(bool b);
|
|
|
|
void enableCopyResourcePacks(bool b);
|
|
|
|
void enableCopyShaderPacks(bool b);
|
|
|
|
void enableCopyServers(bool b);
|
|
|
|
void enableCopyMods(bool b);
|
2022-10-29 22:27:31 -04:00
|
|
|
void enableCopyScreenshots(bool b);
|
2023-02-09 16:19:38 -07:00
|
|
|
void enableUseSymLinks(bool b);
|
2023-02-08 18:39:17 -07:00
|
|
|
void enableLinkRecursively(bool b);
|
2023-02-06 23:05:06 -08:00
|
|
|
void enableUseHardLinks(bool b);
|
2023-02-08 14:30:45 -08:00
|
|
|
void enableDontLinkSaves(bool b);
|
2023-02-09 02:02:40 -07:00
|
|
|
void enableUseClone(bool b);
|
2022-10-29 00:55:33 -04:00
|
|
|
|
|
|
|
protected: // data
|
2022-10-23 00:25:38 -04:00
|
|
|
bool copySaves = true;
|
|
|
|
bool keepPlaytime = true;
|
|
|
|
bool copyGameOptions = true;
|
|
|
|
bool copyResourcePacks = true;
|
|
|
|
bool copyShaderPacks = true;
|
|
|
|
bool copyServers = true;
|
|
|
|
bool copyMods = true;
|
2022-10-29 22:27:31 -04:00
|
|
|
bool copyScreenshots = true;
|
2023-02-09 16:19:38 -07:00
|
|
|
bool useSymLinks = false;
|
2023-02-08 18:39:17 -07:00
|
|
|
bool linkRecursively = false;
|
2023-02-06 23:05:06 -08:00
|
|
|
bool useHardLinks = false;
|
2023-02-08 14:30:45 -08:00
|
|
|
bool dontLinkSaves = false;
|
2023-02-09 02:02:40 -07:00
|
|
|
bool useClone = false;
|
2022-10-22 14:50:32 -04:00
|
|
|
};
|