aboutsummaryrefslogtreecommitdiff
path: root/launcher
diff options
context:
space:
mode:
Diffstat (limited to 'launcher')
-rw-r--r--launcher/InstanceCopyPrefs.cpp16
-rw-r--r--launcher/InstanceCopyPrefs.h3
-rw-r--r--launcher/ui/dialogs/CopyInstanceDialog.cpp8
-rw-r--r--launcher/ui/dialogs/CopyInstanceDialog.h1
-rw-r--r--launcher/ui/dialogs/CopyInstanceDialog.ui67
5 files changed, 72 insertions, 23 deletions
diff --git a/launcher/InstanceCopyPrefs.cpp b/launcher/InstanceCopyPrefs.cpp
index ae30bb82..7b93a516 100644
--- a/launcher/InstanceCopyPrefs.cpp
+++ b/launcher/InstanceCopyPrefs.cpp
@@ -12,7 +12,8 @@ bool InstanceCopyPrefs::allTrue() const
copyResourcePacks &&
copyShaderPacks &&
copyServers &&
- copyMods;
+ copyMods &&
+ copyScreenshots;
}
// Returns a single RegEx string of the selected folders/files to filter out (ex: ".minecraft/saves|.minecraft/server.dat")
@@ -38,6 +39,9 @@ QString InstanceCopyPrefs::getSelectedFiltersAsRegex() const
if(!copyMods)
filters << "coremods" << "mods" << "config";
+ if(!copyScreenshots)
+ filters << "screenshots";
+
// If we have any filters to add, join them as a single regex string to return:
if (!filters.isEmpty()) {
const QString MC_ROOT = "[.]?minecraft/";
@@ -84,6 +88,11 @@ bool InstanceCopyPrefs::isCopyModsEnabled() const
return copyMods;
}
+bool InstanceCopyPrefs::isCopyScreenshotsEnabled() const
+{
+ return copyScreenshots;
+}
+
// ======= Setters =======
void InstanceCopyPrefs::enableCopySaves(bool b)
{
@@ -119,3 +128,8 @@ void InstanceCopyPrefs::enableCopyMods(bool b)
{
copyMods = b;
}
+
+void InstanceCopyPrefs::enableCopyScreenshots(bool b)
+{
+ copyScreenshots = b;
+}
diff --git a/launcher/InstanceCopyPrefs.h b/launcher/InstanceCopyPrefs.h
index 3855965d..6988b2df 100644
--- a/launcher/InstanceCopyPrefs.h
+++ b/launcher/InstanceCopyPrefs.h
@@ -18,6 +18,7 @@ struct InstanceCopyPrefs {
[[nodiscard]] bool isCopyShaderPacksEnabled() const;
[[nodiscard]] bool isCopyServersEnabled() const;
[[nodiscard]] bool isCopyModsEnabled() const;
+ [[nodiscard]] bool isCopyScreenshotsEnabled() const;
// Setters
void enableCopySaves(bool b);
void enableKeepPlaytime(bool b);
@@ -26,6 +27,7 @@ struct InstanceCopyPrefs {
void enableCopyShaderPacks(bool b);
void enableCopyServers(bool b);
void enableCopyMods(bool b);
+ void enableCopyScreenshots(bool b);
protected: // data
bool copySaves = true;
@@ -35,4 +37,5 @@ struct InstanceCopyPrefs {
bool copyShaderPacks = true;
bool copyServers = true;
bool copyMods = true;
+ bool copyScreenshots = true;
};
diff --git a/launcher/ui/dialogs/CopyInstanceDialog.cpp b/launcher/ui/dialogs/CopyInstanceDialog.cpp
index f76b509e..3f5122f6 100644
--- a/launcher/ui/dialogs/CopyInstanceDialog.cpp
+++ b/launcher/ui/dialogs/CopyInstanceDialog.cpp
@@ -84,6 +84,7 @@ CopyInstanceDialog::CopyInstanceDialog(InstancePtr original, QWidget *parent)
ui->copyShaderPacksCheckbox->setChecked(m_selectedOptions.isCopyShaderPacksEnabled());
ui->copyServersCheckbox->setChecked(m_selectedOptions.isCopyServersEnabled());
ui->copyModsCheckbox->setChecked(m_selectedOptions.isCopyModsEnabled());
+ ui->copyScreenshotsCheckbox->setChecked(m_selectedOptions.isCopyScreenshotsEnabled());
}
CopyInstanceDialog::~CopyInstanceDialog()
@@ -135,6 +136,7 @@ void CopyInstanceDialog::checkAllCheckboxes(const bool& b)
ui->copyShaderPacksCheckbox->setChecked(b);
ui->copyServersCheckbox->setChecked(b);
ui->copyModsCheckbox->setChecked(b);
+ ui->copyScreenshotsCheckbox->setChecked(b);
}
// Check the "Select all" checkbox if all options are already selected:
@@ -212,3 +214,9 @@ void CopyInstanceDialog::on_copyModsCheckbox_stateChanged(int state)
m_selectedOptions.enableCopyMods(state == Qt::Checked);
updateSelectAllCheckbox();
}
+
+void CopyInstanceDialog::on_copyScreenshotsCheckbox_stateChanged(int state)
+{
+ m_selectedOptions.enableCopyScreenshots(state == Qt::Checked);
+ updateSelectAllCheckbox();
+}
diff --git a/launcher/ui/dialogs/CopyInstanceDialog.h b/launcher/ui/dialogs/CopyInstanceDialog.h
index 94015334..884501d1 100644
--- a/launcher/ui/dialogs/CopyInstanceDialog.h
+++ b/launcher/ui/dialogs/CopyInstanceDialog.h
@@ -54,6 +54,7 @@ slots:
void on_copyShaderPacksCheckbox_stateChanged(int state);
void on_copyServersCheckbox_stateChanged(int state);
void on_copyModsCheckbox_stateChanged(int state);
+ void on_copyScreenshotsCheckbox_stateChanged(int state);
private:
void checkAllCheckboxes(const bool& b);
diff --git a/launcher/ui/dialogs/CopyInstanceDialog.ui b/launcher/ui/dialogs/CopyInstanceDialog.ui
index 822ed797..b7828fe3 100644
--- a/launcher/ui/dialogs/CopyInstanceDialog.ui
+++ b/launcher/ui/dialogs/CopyInstanceDialog.ui
@@ -10,7 +10,7 @@
<x>0</x>
<y>0</y>
<width>341</width>
- <height>385</height>
+ <height>399</height>
</rect>
</property>
<property name="windowTitle">
@@ -113,24 +113,30 @@
</layout>
</item>
<item>
- <layout class="QGridLayout" name="copyOptionsLayout">
- <item row="3" column="0">
- <widget class="QCheckBox" name="copySavesCheckbox">
- <property name="text">
- <string>Copy saves</string>
+ <layout class="QHBoxLayout" name="selectAllButtonLayout">
+ <item>
+ <widget class="QCheckBox" name="selectAllCheckbox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QCheckBox" name="copyResPacksCheckbox">
- <property name="enabled">
- <bool>true</bool>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
</property>
<property name="text">
- <string>Copy resource packs</string>
+ <string>Select all</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
</property>
</widget>
</item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="copyOptionsLayout">
<item row="6" column="1">
<widget class="QCheckBox" name="copyModsCheckbox">
<property name="toolTip">
@@ -151,6 +157,20 @@
</property>
</widget>
</item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="copySavesCheckbox">
+ <property name="text">
+ <string>Copy saves</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QCheckBox" name="copyShaderPacksCheckbox">
+ <property name="text">
+ <string>Copy shader packs</string>
+ </property>
+ </widget>
+ </item>
<item row="5" column="1">
<widget class="QCheckBox" name="copyServersCheckbox">
<property name="text">
@@ -158,24 +178,27 @@
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="keepPlaytimeCheckbox">
+ <item row="6" column="0">
+ <widget class="QCheckBox" name="copyResPacksCheckbox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
<property name="text">
- <string>Keep play time</string>
+ <string>Copy resource packs</string>
</property>
</widget>
</item>
- <item row="3" column="1">
- <widget class="QCheckBox" name="copyShaderPacksCheckbox">
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="keepPlaytimeCheckbox">
<property name="text">
- <string>Copy shader packs</string>
+ <string>Keep play time</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="selectAllCheckbox">
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="copyScreenshotsCheckbox">
<property name="text">
- <string>Select all</string>
+ <string>Copy screenshots</string>
</property>
</widget>
</item>