aboutsummaryrefslogtreecommitdiff
path: root/launcher/InstanceCopyPrefs.h
blob: 61c51b3b71a7857d95090dd8ea2984e5ebb0a72b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//
// Created by marcelohdez on 10/22/22.
//

#pragma once

#include <QStringList>

struct InstanceCopyPrefs {
   public:
    [[nodiscard]] bool allTrue() const;
    [[nodiscard]] QString getSelectedFiltersAsRegex() const;
    [[nodiscard]] QString getSelectedFiltersAsRegex(const QStringList& additionalFilters) const;
    // 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;
    [[nodiscard]] bool isCopyScreenshotsEnabled() const;
    [[nodiscard]] bool isUseSymLinksEnabled() const;
    [[nodiscard]] bool isLinkRecursivelyEnabled() const;
    [[nodiscard]] bool isUseHardLinksEnabled() const;
    [[nodiscard]] bool isDontLinkSavesEnabled() const;
    [[nodiscard]] bool isUseCloneEnabled() const;
    // 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);
    void enableCopyScreenshots(bool b);
    void enableUseSymLinks(bool b);
    void enableLinkRecursively(bool b);
    void enableUseHardLinks(bool b);
    void enableDontLinkSaves(bool b);
    void enableUseClone(bool b);

   protected:  // data
    bool copySaves = true;
    bool keepPlaytime = true;
    bool copyGameOptions = true;
    bool copyResourcePacks = true;
    bool copyShaderPacks = true;
    bool copyServers = true;
    bool copyMods = true;
    bool copyScreenshots = true;
    bool useSymLinks = false;
    bool linkRecursively = false;
    bool useHardLinks = false;
    bool dontLinkSaves = false;
    bool useClone = false;
};