From a0045ece075d5caf5d0b6982002dd6bd845ddf0f Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Mon, 27 Mar 2023 19:01:53 -0700
Subject: feat: add setting to watch recursively
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
launcher/ui/pages/global/LauncherPage.cpp | 6 +++
launcher/ui/pages/global/LauncherPage.h | 1 +
launcher/ui/pages/global/LauncherPage.ui | 64 ++++++++++++++++++-------------
3 files changed, 44 insertions(+), 27 deletions(-)
(limited to 'launcher/ui/pages/global')
diff --git a/launcher/ui/pages/global/LauncherPage.cpp b/launcher/ui/pages/global/LauncherPage.cpp
index 324eb461..20e02230 100644
--- a/launcher/ui/pages/global/LauncherPage.cpp
+++ b/launcher/ui/pages/global/LauncherPage.cpp
@@ -184,6 +184,11 @@ void LauncherPage::on_downloadsDirBrowseBtn_clicked()
}
}
+void LauncherPage::on_downloadsDirWatchRecursiveCheckBox_clicked()
+{
+ // incase anything needs to be done here
+}
+
void LauncherPage::on_metadataDisableBtn_clicked()
{
ui->metadataWarningLabel->setHidden(!ui->metadataDisableBtn->isChecked());
@@ -217,6 +222,7 @@ void LauncherPage::applySettings()
s->set("CentralModsDir", ui->modsDirTextBox->text());
s->set("IconsDir", ui->iconsDirTextBox->text());
s->set("DownloadsDir", ui->downloadsDirTextBox->text());
+ s->set("DownloadsDirWatchRecursive", ui->downloadsDirWatchRecursiveCheckBox->isChecked());
auto sortMode = (InstSortMode)ui->sortingModeGroup->checkedId();
switch (sortMode)
diff --git a/launcher/ui/pages/global/LauncherPage.h b/launcher/ui/pages/global/LauncherPage.h
index 33f66f1b..c5ebbe39 100644
--- a/launcher/ui/pages/global/LauncherPage.h
+++ b/launcher/ui/pages/global/LauncherPage.h
@@ -90,6 +90,7 @@ slots:
void on_iconsDirBrowseBtn_clicked();
void on_downloadsDirBrowseBtn_clicked();
void on_metadataDisableBtn_clicked();
+ void on_downloadsDirWatchRecursiveCheckBox_clicked();
/*!
* Updates the font preview
diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui
index 923b7f95..6279d879 100644
--- a/launcher/ui/pages/global/LauncherPage.ui
+++ b/launcher/ui/pages/global/LauncherPage.ui
@@ -67,19 +67,16 @@
Folders
- -
-
+
-
+
- ...
+ &Downloads:
+
+
+ downloadsDirTextBox
- -
-
-
- -
-
-
-
@@ -90,16 +87,25 @@
+ -
+
+
+ -
+
+
-
- -
-
+
-
+
- ...
+ ...
+ -
+
+
-
@@ -117,33 +123,37 @@
- -
-
+
-
+
- &Icons:
+ ...
-
- iconsDirTextBox
+
+
+ -
+
+
+ ...
- -
-
+
-
+
- &Downloads:
+ &Icons:
- downloadsDirTextBox
+ iconsDirTextBox
- -
-
-
- -
-
+
-
+
+
+ when looking for mods in places like the blocked mods dialog Prismlauncher will check in sub folders of your downloads folder too.
+
- ...
+ Check downloads folder recursively
--
cgit
From ba2b5c3a65089e3807ebd57a1504591f8dab4049 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Sun, 2 Apr 2023 16:39:13 -0700
Subject: fix: Apply suggestions from code review
-expand columspan on new UI element
-improve tooltip
Co-authored-by: flow
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
launcher/ui/pages/global/LauncherPage.ui | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'launcher/ui/pages/global')
diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui
index 6279d879..906efd1a 100644
--- a/launcher/ui/pages/global/LauncherPage.ui
+++ b/launcher/ui/pages/global/LauncherPage.ui
@@ -147,10 +147,10 @@
- -
+
-
- when looking for mods in places like the blocked mods dialog Prismlauncher will check in sub folders of your downloads folder too.
+ When enabled, in addition to the downloads folder, its sub folders will also be searched when looking for resources (e.g. when looking for blocked mods on CurseForge).
Check downloads folder recursively
--
cgit
From 5ce7874280f648e1db240ad922a2e62a7ccedea2 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Sun, 2 Apr 2023 18:55:21 -0700
Subject: fix: no loops in watch paths! >:(
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
launcher/ui/dialogs/BlockedModsDialog.cpp | 7 +++++--
launcher/ui/pages/global/LauncherPage.cpp | 5 -----
launcher/ui/pages/global/LauncherPage.h | 1 -
3 files changed, 5 insertions(+), 8 deletions(-)
(limited to 'launcher/ui/pages/global')
diff --git a/launcher/ui/dialogs/BlockedModsDialog.cpp b/launcher/ui/dialogs/BlockedModsDialog.cpp
index 7b3a395a..90078a98 100644
--- a/launcher/ui/dialogs/BlockedModsDialog.cpp
+++ b/launcher/ui/dialogs/BlockedModsDialog.cpp
@@ -192,6 +192,9 @@ void BlockedModsDialog::setupWatch()
void BlockedModsDialog::watchPath(QString path, bool watch_subdirectories)
{
+ if (m_watcher.directories().contains(path))
+ return; // don't watch the same path twice (no loops!)
+
qDebug() << "[Blocked Mods Dialog] Adding Watch Path:" << path;
m_watcher.addPath(path);
@@ -200,8 +203,8 @@ void BlockedModsDialog::watchPath(QString path, bool watch_subdirectories)
QDirIterator it(path, QDir::Filter::Dirs | QDir::Filter::NoDotAndDotDot, QDirIterator::NoIteratorFlags);
while (it.hasNext()) {
- QString dir_path = it.next();
- watchPath(dir_path, watch_subdirectories);
+ QString watch_dir = QDir(it.next()).canonicalPath(); // resolve symlinks and relative paths
+ watchPath(watch_dir, watch_subdirectories);
}
}
diff --git a/launcher/ui/pages/global/LauncherPage.cpp b/launcher/ui/pages/global/LauncherPage.cpp
index 20e02230..51652320 100644
--- a/launcher/ui/pages/global/LauncherPage.cpp
+++ b/launcher/ui/pages/global/LauncherPage.cpp
@@ -184,11 +184,6 @@ void LauncherPage::on_downloadsDirBrowseBtn_clicked()
}
}
-void LauncherPage::on_downloadsDirWatchRecursiveCheckBox_clicked()
-{
- // incase anything needs to be done here
-}
-
void LauncherPage::on_metadataDisableBtn_clicked()
{
ui->metadataWarningLabel->setHidden(!ui->metadataDisableBtn->isChecked());
diff --git a/launcher/ui/pages/global/LauncherPage.h b/launcher/ui/pages/global/LauncherPage.h
index c5ebbe39..33f66f1b 100644
--- a/launcher/ui/pages/global/LauncherPage.h
+++ b/launcher/ui/pages/global/LauncherPage.h
@@ -90,7 +90,6 @@ slots:
void on_iconsDirBrowseBtn_clicked();
void on_downloadsDirBrowseBtn_clicked();
void on_metadataDisableBtn_clicked();
- void on_downloadsDirWatchRecursiveCheckBox_clicked();
/*!
* Updates the font preview
--
cgit
From c56db0408bc7bb01e9807fd02858f27328ca6b79 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Sat, 8 Apr 2023 07:26:56 -0700
Subject: fix: load setting state with page. don't translate "..."
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
launcher/ui/pages/global/LauncherPage.cpp | 1 +
launcher/ui/pages/global/LauncherPage.ui | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
(limited to 'launcher/ui/pages/global')
diff --git a/launcher/ui/pages/global/LauncherPage.cpp b/launcher/ui/pages/global/LauncherPage.cpp
index 51652320..816dde72 100644
--- a/launcher/ui/pages/global/LauncherPage.cpp
+++ b/launcher/ui/pages/global/LauncherPage.cpp
@@ -275,6 +275,7 @@ void LauncherPage::loadSettings()
ui->modsDirTextBox->setText(s->get("CentralModsDir").toString());
ui->iconsDirTextBox->setText(s->get("IconsDir").toString());
ui->downloadsDirTextBox->setText(s->get("DownloadsDir").toString());
+ ui->downloadsDirWatchRecursiveCheckBox->setChecked(s->get("DownloadsDirWatchRecursive").toBool());
QString sortMode = s->get("InstSortMode").toString();
diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui
index 906efd1a..55bd3eea 100644
--- a/launcher/ui/pages/global/LauncherPage.ui
+++ b/launcher/ui/pages/global/LauncherPage.ui
@@ -99,7 +99,7 @@
-
- ...
+ ...
--
cgit