feat: Add setting for downloads directory
Closes #641 Signed-off-by: Janrupf <business.janrupf@gmail.com>
This commit is contained in:
parent
e0e26a37b5
commit
c17f6e37e5
@ -516,6 +516,7 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv)
|
|||||||
m_settings->registerSetting("InstanceDir", "instances");
|
m_settings->registerSetting("InstanceDir", "instances");
|
||||||
m_settings->registerSetting({"CentralModsDir", "ModsDir"}, "mods");
|
m_settings->registerSetting({"CentralModsDir", "ModsDir"}, "mods");
|
||||||
m_settings->registerSetting("IconsDir", "icons");
|
m_settings->registerSetting("IconsDir", "icons");
|
||||||
|
m_settings->registerSetting("DownloadsDir", QStandardPaths::writableLocation(QStandardPaths::DownloadLocation));
|
||||||
|
|
||||||
// Editors
|
// Editors
|
||||||
m_settings->registerSetting("JsonEditor", QString());
|
m_settings->registerSetting("JsonEditor", QString());
|
||||||
|
@ -184,7 +184,7 @@ void BlockedModsDialog::directoryChanged(QString path)
|
|||||||
/// @brief add the user downloads folder and the global mods folder to the filesystem watcher
|
/// @brief add the user downloads folder and the global mods folder to the filesystem watcher
|
||||||
void BlockedModsDialog::setupWatch()
|
void BlockedModsDialog::setupWatch()
|
||||||
{
|
{
|
||||||
const QString downloadsFolder = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
|
const QString downloadsFolder = APPLICATION->settings()->get("DownloadsDir").toString();
|
||||||
const QString modsFolder = APPLICATION->settings()->get("CentralModsDir").toString();
|
const QString modsFolder = APPLICATION->settings()->get("CentralModsDir").toString();
|
||||||
m_watcher.addPath(downloadsFolder);
|
m_watcher.addPath(downloadsFolder);
|
||||||
m_watcher.addPath(modsFolder);
|
m_watcher.addPath(modsFolder);
|
||||||
|
@ -140,8 +140,8 @@ void LauncherPage::on_instDirBrowseBtn_clicked()
|
|||||||
if (result == QMessageBox::Ok)
|
if (result == QMessageBox::Ok)
|
||||||
{
|
{
|
||||||
ui->instDirTextBox->setText(cooked_dir);
|
ui->instDirTextBox->setText(cooked_dir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui->instDirTextBox->setText(cooked_dir);
|
ui->instDirTextBox->setText(cooked_dir);
|
||||||
@ -160,6 +160,7 @@ void LauncherPage::on_iconsDirBrowseBtn_clicked()
|
|||||||
ui->iconsDirTextBox->setText(cooked_dir);
|
ui->iconsDirTextBox->setText(cooked_dir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LauncherPage::on_modsDirBrowseBtn_clicked()
|
void LauncherPage::on_modsDirBrowseBtn_clicked()
|
||||||
{
|
{
|
||||||
QString raw_dir = QFileDialog::getExistingDirectory(this, tr("Mods Folder"), ui->modsDirTextBox->text());
|
QString raw_dir = QFileDialog::getExistingDirectory(this, tr("Mods Folder"), ui->modsDirTextBox->text());
|
||||||
@ -172,6 +173,17 @@ void LauncherPage::on_modsDirBrowseBtn_clicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LauncherPage::on_downloadsDirBrowseBtn_clicked()
|
||||||
|
{
|
||||||
|
QString raw_dir = QFileDialog::getExistingDirectory(this, tr("Downloads Folder"), ui->downloadsDirTextBox->text());
|
||||||
|
|
||||||
|
if (!raw_dir.isEmpty() && QDir(raw_dir).exists())
|
||||||
|
{
|
||||||
|
QString cooked_dir = FS::NormalizePath(raw_dir);
|
||||||
|
ui->downloadsDirTextBox->setText(cooked_dir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void LauncherPage::on_metadataDisableBtn_clicked()
|
void LauncherPage::on_metadataDisableBtn_clicked()
|
||||||
{
|
{
|
||||||
ui->metadataWarningLabel->setHidden(!ui->metadataDisableBtn->isChecked());
|
ui->metadataWarningLabel->setHidden(!ui->metadataDisableBtn->isChecked());
|
||||||
@ -204,6 +216,7 @@ void LauncherPage::applySettings()
|
|||||||
s->set("InstanceDir", ui->instDirTextBox->text());
|
s->set("InstanceDir", ui->instDirTextBox->text());
|
||||||
s->set("CentralModsDir", ui->modsDirTextBox->text());
|
s->set("CentralModsDir", ui->modsDirTextBox->text());
|
||||||
s->set("IconsDir", ui->iconsDirTextBox->text());
|
s->set("IconsDir", ui->iconsDirTextBox->text());
|
||||||
|
s->set("DownloadsDir", ui->downloadsDirTextBox->text());
|
||||||
|
|
||||||
auto sortMode = (InstSortMode)ui->sortingModeGroup->checkedId();
|
auto sortMode = (InstSortMode)ui->sortingModeGroup->checkedId();
|
||||||
switch (sortMode)
|
switch (sortMode)
|
||||||
@ -260,6 +273,7 @@ void LauncherPage::loadSettings()
|
|||||||
ui->instDirTextBox->setText(s->get("InstanceDir").toString());
|
ui->instDirTextBox->setText(s->get("InstanceDir").toString());
|
||||||
ui->modsDirTextBox->setText(s->get("CentralModsDir").toString());
|
ui->modsDirTextBox->setText(s->get("CentralModsDir").toString());
|
||||||
ui->iconsDirTextBox->setText(s->get("IconsDir").toString());
|
ui->iconsDirTextBox->setText(s->get("IconsDir").toString());
|
||||||
|
ui->downloadsDirTextBox->setText(s->get("DownloadsDir").toString());
|
||||||
|
|
||||||
QString sortMode = s->get("InstSortMode").toString();
|
QString sortMode = s->get("InstSortMode").toString();
|
||||||
|
|
||||||
|
@ -88,6 +88,7 @@ slots:
|
|||||||
void on_instDirBrowseBtn_clicked();
|
void on_instDirBrowseBtn_clicked();
|
||||||
void on_modsDirBrowseBtn_clicked();
|
void on_modsDirBrowseBtn_clicked();
|
||||||
void on_iconsDirBrowseBtn_clicked();
|
void on_iconsDirBrowseBtn_clicked();
|
||||||
|
void on_downloadsDirBrowseBtn_clicked();
|
||||||
void on_metadataDisableBtn_clicked();
|
void on_metadataDisableBtn_clicked();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
<enum>QTabWidget::Rounded</enum>
|
<enum>QTabWidget::Rounded</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>1</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="featuresTab">
|
<widget class="QWidget" name="featuresTab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
@ -67,13 +67,6 @@
|
|||||||
<string>Folders</string>
|
<string>Folders</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="foldersBoxLayout">
|
<layout class="QGridLayout" name="foldersBoxLayout">
|
||||||
<item row="1" column="2">
|
|
||||||
<widget class="QToolButton" name="modsDirBrowseBtn">
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">...</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
<item row="0" column="2">
|
||||||
<widget class="QToolButton" name="instDirBrowseBtn">
|
<widget class="QToolButton" name="instDirBrowseBtn">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -81,29 +74,12 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2">
|
<item row="1" column="1">
|
||||||
<widget class="QToolButton" name="iconsDirBrowseBtn">
|
<widget class="QLineEdit" name="modsDirTextBox"/>
|
||||||
<property name="text">
|
|
||||||
<string notr="true">...</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QLineEdit" name="instDirTextBox"/>
|
<widget class="QLineEdit" name="instDirTextBox"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="labelIconsDir">
|
|
||||||
<property name="text">
|
|
||||||
<string>&Icons:</string>
|
|
||||||
</property>
|
|
||||||
<property name="buddy">
|
|
||||||
<cstring>iconsDirTextBox</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLineEdit" name="modsDirTextBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="labelInstDir">
|
<widget class="QLabel" name="labelInstDir">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -117,6 +93,20 @@
|
|||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QLineEdit" name="iconsDirTextBox"/>
|
<widget class="QLineEdit" name="iconsDirTextBox"/>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
|
<widget class="QToolButton" name="iconsDirBrowseBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QToolButton" name="modsDirBrowseBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="labelModsDir">
|
<widget class="QLabel" name="labelModsDir">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -127,6 +117,33 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="labelIconsDir">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Icons:</string>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>iconsDirTextBox</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="labelDownloadsDir">
|
||||||
|
<property name="text">
|
||||||
|
<string>Downloads:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QLineEdit" name="downloadsDirTextBox"/>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="2">
|
||||||
|
<widget class="QToolButton" name="downloadsDirBrowseBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
Loading…
Reference in New Issue
Block a user