configuration: Setup UI to config screenshot path and saving
This adds two options to the General -> UI tab. The first disables picking a place to save the file. The second chooses a default directory for saving screenshots.
This commit is contained in:
parent
3848155c42
commit
71b902cf62
|
@ -578,7 +578,6 @@ void Config::ReadPathValues() {
|
|||
|
||||
UISettings::values.roms_path = ReadSetting(QStringLiteral("romsPath")).toString();
|
||||
UISettings::values.symbols_path = ReadSetting(QStringLiteral("symbolsPath")).toString();
|
||||
UISettings::values.screenshot_path = ReadSetting(QStringLiteral("screenshotPath")).toString();
|
||||
UISettings::values.game_dir_deprecated =
|
||||
ReadSetting(QStringLiteral("gameListRootDir"), QStringLiteral(".")).toString();
|
||||
UISettings::values.game_dir_deprecated_deepscan =
|
||||
|
@ -675,6 +674,22 @@ void Config::ReadRendererValues() {
|
|||
qt_config->endGroup();
|
||||
}
|
||||
|
||||
void Config::ReadScreenshotValues() {
|
||||
qt_config->beginGroup(QStringLiteral("Screenshots"));
|
||||
|
||||
UISettings::values.enable_screenshot_save_as =
|
||||
ReadSetting(QStringLiteral("enable_screenshot_save_as"), true).toBool();
|
||||
FileUtil::GetUserPath(
|
||||
FileUtil::UserPath::ScreenshotsDir,
|
||||
qt_config
|
||||
->value(QStringLiteral("screenshot_path"), QString::fromStdString(FileUtil::GetUserPath(
|
||||
FileUtil::UserPath::ScreenshotsDir)))
|
||||
.toString()
|
||||
.toStdString());
|
||||
|
||||
qt_config->endGroup();
|
||||
}
|
||||
|
||||
void Config::ReadShortcutValues() {
|
||||
qt_config->beginGroup(QStringLiteral("Shortcuts"));
|
||||
|
||||
|
@ -756,6 +771,7 @@ void Config::ReadUIValues() {
|
|||
ReadUIGamelistValues();
|
||||
ReadUILayoutValues();
|
||||
ReadPathValues();
|
||||
ReadScreenshotValues();
|
||||
ReadShortcutValues();
|
||||
|
||||
UISettings::values.single_window_mode =
|
||||
|
@ -1085,7 +1101,6 @@ void Config::SavePathValues() {
|
|||
|
||||
WriteSetting(QStringLiteral("romsPath"), UISettings::values.roms_path);
|
||||
WriteSetting(QStringLiteral("symbolsPath"), UISettings::values.symbols_path);
|
||||
WriteSetting(QStringLiteral("screenshotPath"), UISettings::values.screenshot_path);
|
||||
qt_config->beginWriteArray(QStringLiteral("gamedirs"));
|
||||
for (int i = 0; i < UISettings::values.game_dirs.size(); ++i) {
|
||||
qt_config->setArrayIndex(i);
|
||||
|
@ -1164,6 +1179,17 @@ void Config::SaveRendererValues() {
|
|||
qt_config->endGroup();
|
||||
}
|
||||
|
||||
void Config::SaveScreenshotValues() {
|
||||
qt_config->beginGroup(QStringLiteral("Screenshots"));
|
||||
|
||||
WriteSetting(QStringLiteral("enableScreenshotSaveAs"),
|
||||
UISettings::values.enable_screenshot_save_as);
|
||||
WriteSetting(QStringLiteral("screenshotPath"),
|
||||
QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::ScreenshotsDir)));
|
||||
|
||||
qt_config->endGroup();
|
||||
}
|
||||
|
||||
void Config::SaveShortcutValues() {
|
||||
qt_config->beginGroup(QStringLiteral("Shortcuts"));
|
||||
|
||||
|
@ -1226,6 +1252,7 @@ void Config::SaveUIValues() {
|
|||
SaveUIGamelistValues();
|
||||
SaveUILayoutValues();
|
||||
SavePathValues();
|
||||
SaveScreenshotValues();
|
||||
SaveShortcutValues();
|
||||
|
||||
WriteSetting(QStringLiteral("singleWindowMode"), UISettings::values.single_window_mode, true);
|
||||
|
|
|
@ -51,6 +51,7 @@ private:
|
|||
void ReadPathValues();
|
||||
void ReadCpuValues();
|
||||
void ReadRendererValues();
|
||||
void ReadScreenshotValues();
|
||||
void ReadShortcutValues();
|
||||
void ReadSystemValues();
|
||||
void ReadUIValues();
|
||||
|
@ -76,6 +77,7 @@ private:
|
|||
void SavePathValues();
|
||||
void SaveCpuValues();
|
||||
void SaveRendererValues();
|
||||
void SaveScreenshotValues();
|
||||
void SaveShortcutValues();
|
||||
void SaveSystemValues();
|
||||
void SaveUIValues();
|
||||
|
|
|
@ -4,9 +4,11 @@
|
|||
|
||||
#include <array>
|
||||
#include <utility>
|
||||
#include <QFileDialog>
|
||||
|
||||
#include <QDirIterator>
|
||||
#include "common/common_types.h"
|
||||
#include "common/file_util.h"
|
||||
#include "core/settings.h"
|
||||
#include "ui_configure_ui.h"
|
||||
#include "yuzu/configuration/configure_ui.h"
|
||||
|
@ -55,6 +57,14 @@ ConfigureUi::ConfigureUi(QWidget* parent) : QWidget(parent), ui(new Ui::Configur
|
|||
[=]() { ConfigureUi::UpdateSecondRowComboBox(); });
|
||||
connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::activated),
|
||||
[=]() { ConfigureUi::UpdateFirstRowComboBox(); });
|
||||
|
||||
// Set screenshot path to user specification.
|
||||
connect(ui->screenshot_path_button, &QToolButton::pressed, this, [this] {
|
||||
const QString& filename = QFileDialog::getExistingDirectory(
|
||||
this, tr("Select Screenshots Path..."),
|
||||
QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::ScreenshotsDir)));
|
||||
ui->screenshot_path_edit->setText(filename);
|
||||
});
|
||||
}
|
||||
|
||||
ConfigureUi::~ConfigureUi() = default;
|
||||
|
@ -66,6 +76,10 @@ void ConfigureUi::ApplyConfiguration() {
|
|||
UISettings::values.icon_size = ui->icon_size_combobox->currentData().toUInt();
|
||||
UISettings::values.row_1_text_id = ui->row_1_text_combobox->currentData().toUInt();
|
||||
UISettings::values.row_2_text_id = ui->row_2_text_combobox->currentData().toUInt();
|
||||
|
||||
UISettings::values.enable_screenshot_save_as = ui->enable_screenshot_save_as->isChecked();
|
||||
FileUtil::GetUserPath(FileUtil::UserPath::ScreenshotsDir,
|
||||
ui->screenshot_path_edit->text().toStdString());
|
||||
Settings::Apply();
|
||||
}
|
||||
|
||||
|
@ -80,6 +94,10 @@ void ConfigureUi::SetConfiguration() {
|
|||
ui->show_add_ons->setChecked(UISettings::values.show_add_ons);
|
||||
ui->icon_size_combobox->setCurrentIndex(
|
||||
ui->icon_size_combobox->findData(UISettings::values.icon_size));
|
||||
|
||||
ui->enable_screenshot_save_as->setChecked(UISettings::values.enable_screenshot_save_as);
|
||||
ui->screenshot_path_edit->setText(
|
||||
QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::ScreenshotsDir)));
|
||||
}
|
||||
|
||||
void ConfigureUi::changeEvent(QEvent* event) {
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>300</width>
|
||||
<height>377</height>
|
||||
<width>363</width>
|
||||
<height>391</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -127,6 +127,47 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="screenshots_GroupBox">
|
||||
<property name="title">
|
||||
<string>Screenshots</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="enable_screenshot_save_as">
|
||||
<property name="text">
|
||||
<string>Ask Where To Save Screenshots (Windows Only)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Screenshots Path: </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="screenshot_path_edit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="screenshot_path_button">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
|
|
|
@ -66,11 +66,11 @@ struct Values {
|
|||
// Discord RPC
|
||||
bool enable_discord_presence;
|
||||
|
||||
bool enable_screenshot_save_as;
|
||||
u16 screenshot_resolution_factor;
|
||||
|
||||
QString roms_path;
|
||||
QString symbols_path;
|
||||
QString screenshot_path;
|
||||
QString game_dir_deprecated;
|
||||
bool game_dir_deprecated_deepscan;
|
||||
QVector<UISettings::GameDir> game_dirs;
|
||||
|
|
Loading…
Reference in a new issue