From 71b902cf622e02341334dcb16d70142503e0d045 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Mon, 20 Jul 2020 23:03:49 -0400 Subject: 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. --- src/yuzu/configuration/configure_ui.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/yuzu/configuration/configure_ui.cpp') diff --git a/src/yuzu/configuration/configure_ui.cpp b/src/yuzu/configuration/configure_ui.cpp index 24b6c5b72..fdf9d3351 100644 --- a/src/yuzu/configuration/configure_ui.cpp +++ b/src/yuzu/configuration/configure_ui.cpp @@ -4,9 +4,11 @@ #include #include +#include #include #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::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) { -- cgit v1.2.3 From 19250aadeee730a555ece749e7b3104bbd486f10 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Mon, 20 Jul 2020 23:11:46 -0400 Subject: configure_ui: don't use an empty string If the user had cancelled, it would clear the text box. That behavior was sanitized underneath, but may anyways cause inconveniences. --- src/yuzu/configuration/configure_ui.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/yuzu/configuration/configure_ui.cpp') diff --git a/src/yuzu/configuration/configure_ui.cpp b/src/yuzu/configuration/configure_ui.cpp index fdf9d3351..5c916a0dd 100644 --- a/src/yuzu/configuration/configure_ui.cpp +++ b/src/yuzu/configuration/configure_ui.cpp @@ -63,7 +63,9 @@ ConfigureUi::ConfigureUi(QWidget* parent) : QWidget(parent), ui(new Ui::Configur const QString& filename = QFileDialog::getExistingDirectory( this, tr("Select Screenshots Path..."), QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::ScreenshotsDir))); - ui->screenshot_path_edit->setText(filename); + if (!filename.isEmpty()) { + ui->screenshot_path_edit->setText(filename); + } }); } -- cgit v1.2.3 From e35239b86128535d4ac308856ce2a928654f5dcb Mon Sep 17 00:00:00 2001 From: lat9nq Date: Mon, 20 Jul 2020 23:19:07 -0400 Subject: configure_ui: Ensure a separator follows the returned path --- src/yuzu/configuration/configure_ui.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/yuzu/configuration/configure_ui.cpp') diff --git a/src/yuzu/configuration/configure_ui.cpp b/src/yuzu/configuration/configure_ui.cpp index 5c916a0dd..91c21c572 100644 --- a/src/yuzu/configuration/configure_ui.cpp +++ b/src/yuzu/configuration/configure_ui.cpp @@ -60,9 +60,11 @@ ConfigureUi::ConfigureUi(QWidget* parent) : QWidget(parent), ui(new Ui::Configur // 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))); + const QString& filename = + QFileDialog::getExistingDirectory( + this, tr("Select Screenshots Path..."), + QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::ScreenshotsDir))) + + QDir::separator(); if (!filename.isEmpty()) { ui->screenshot_path_edit->setText(filename); } -- cgit v1.2.3