Use unique_ptr on all ui objects from .ui files (#5511)

* Forward declare ui and use unique_ptr

* ConfigureEnhancements: use unique_ptr for ui

* Use make_unique instead of new where applicable

* Move some of the ui includes that already used unique_ptr

* main.cpp: also make use of make_unique on Config

* Address review comments
This commit is contained in:
Vitor K 2020-09-30 22:23:01 -03:00 committed by GitHub
parent a576eb633f
commit a26b466ac8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 257 additions and 229 deletions

View file

@ -15,7 +15,8 @@
#include "core/settings.h"
#include "ui_configure_debug.h"
ConfigureDebug::ConfigureDebug(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureDebug) {
ConfigureDebug::ConfigureDebug(QWidget* parent)
: QWidget(parent), ui(std::make_unique<Ui::ConfigureDebug>()) {
ui->setupUi(this);
SetConfiguration();

View file

@ -11,7 +11,7 @@
#include "ui_configure.h"
ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry, bool enable_web_config)
: QDialog(parent), ui(new Ui::ConfigureDialog), registry(registry) {
: QDialog(parent), ui(std::make_unique<Ui::ConfigureDialog>()), registry(registry) {
ui->setupUi(this);
ui->hotkeysTab->Populate(registry);
ui->webTab->SetWebServiceConfigEnabled(enable_web_config);

View file

@ -11,7 +11,7 @@
#include "video_core/renderer_opengl/texture_filters/texture_filterer.h"
ConfigureEnhancements::ConfigureEnhancements(QWidget* parent)
: QWidget(parent), ui(new Ui::ConfigureEnhancements) {
: QWidget(parent), ui(std::make_unique<Ui::ConfigureEnhancements>()) {
ui->setupUi(this);
for (const auto& filter : OpenGL::TextureFilterer::GetFilterNames())
@ -128,6 +128,4 @@ void ConfigureEnhancements::ApplyConfiguration() {
Settings::values.bg_blue = static_cast<float>(bg_color.blueF());
}
ConfigureEnhancements::~ConfigureEnhancements() {
delete ui;
}
ConfigureEnhancements::~ConfigureEnhancements() {}

View file

@ -4,6 +4,7 @@
#pragma once
#include <memory>
#include <QWidget>
namespace Settings {
@ -29,6 +30,6 @@ private:
void updateShaders(Settings::StereoRenderOption stereo_option);
void updateTextureFilter(int index);
Ui::ConfigureEnhancements* ui;
std::unique_ptr<Ui::ConfigureEnhancements> ui;
QColor bg_color;
};

View file

@ -21,7 +21,7 @@ static constexpr int SettingsToSlider(int value) {
}
ConfigureGeneral::ConfigureGeneral(QWidget* parent)
: QWidget(parent), ui(new Ui::ConfigureGeneral) {
: QWidget(parent), ui(std::make_unique<Ui::ConfigureGeneral>()) {
ui->setupUi(this);

View file

@ -13,7 +13,7 @@
#include "video_core/renderer_opengl/post_processing_opengl.h"
ConfigureGraphics::ConfigureGraphics(QWidget* parent)
: QWidget(parent), ui(new Ui::ConfigureGraphics) {
: QWidget(parent), ui(std::make_unique<Ui::ConfigureGraphics>()) {
ui->setupUi(this);
SetConfiguration();

View file

@ -6,13 +6,17 @@
#include <memory>
#include <utility>
#include <QInputDialog>
#include <QKeyEvent>
#include <QLabel>
#include <QMenu>
#include <QMessageBox>
#include <QSlider>
#include <QTimer>
#include "citra_qt/configuration/config.h"
#include "citra_qt/configuration/configure_input.h"
#include "citra_qt/configuration/configure_motion_touch.h"
#include "common/param_package.h"
#include "ui_configure_input.h"
const std::array<std::string, ConfigureInput::ANALOG_SUB_BUTTONS_NUM>
ConfigureInput::analog_sub_buttons{{

View file

@ -10,16 +10,16 @@
#include <optional>
#include <string>
#include <unordered_map>
#include <QKeyEvent>
#include <QKeySequence>
#include <QSlider>
#include <QWidget>
#include "common/param_package.h"
#include "core/settings.h"
#include "input_common/main.h"
#include "ui_configure_input.h"
class QKeyEvent;
class QLabel;
class QPushButton;
class QSlider;
class QString;
class QTimer;

View file

@ -228,7 +228,8 @@ static constexpr int SettingsToSlider(int value) {
return (value - 5) / 5;
}
ConfigureSystem::ConfigureSystem(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureSystem) {
ConfigureSystem::ConfigureSystem(QWidget* parent)
: QWidget(parent), ui(std::make_unique<Ui::ConfigureSystem>()) {
ui->setupUi(this);
connect(ui->combo_birthmonth,
static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,

View file

@ -7,7 +7,8 @@
#include "citra_qt/uisettings.h"
#include "ui_configure_ui.h"
ConfigureUi::ConfigureUi(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureUi) {
ConfigureUi::ConfigureUi(QWidget* parent)
: QWidget(parent), ui(std::make_unique<Ui::ConfigureUi>()) {
ui->setupUi(this);
InitializeLanguageComboBox();