diff options
author | Lioncash <mathew1800@gmail.com> | 2018-07-21 15:52:42 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-07-21 16:21:19 -0400 |
commit | d66b43dadfac1e9324fee48e97361e2f858f8af5 (patch) | |
tree | 6007104127ffaa62cb5cb94f5c47fadf4c192fb8 /src/yuzu | |
parent | 0f20fa5a1e179bdad07fe1e0e58243d1927274fd (diff) |
file_util: Use an enum class for GetUserPath()
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
Diffstat (limited to 'src/yuzu')
-rw-r--r-- | src/yuzu/configuration/config.cpp | 2 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_debug.cpp | 2 | ||||
-rw-r--r-- | src/yuzu/main.cpp | 18 |
3 files changed, 13 insertions, 9 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 62754a1a92..98969fe10b 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -10,7 +10,7 @@ Config::Config() { // TODO: Don't hardcode the path; let the frontend decide where to put the config files. - qt_config_loc = FileUtil::GetUserPath(D_CONFIG_IDX) + "qt-config.ini"; + qt_config_loc = FileUtil::GetUserPath(FileUtil::UserPath::ConfigDir) + "qt-config.ini"; FileUtil::CreateFullPath(qt_config_loc); qt_config = new QSettings(QString::fromStdString(qt_config_loc), QSettings::IniFormat); diff --git a/src/yuzu/configuration/configure_debug.cpp b/src/yuzu/configuration/configure_debug.cpp index 241db4ae33..5e66239ff0 100644 --- a/src/yuzu/configuration/configure_debug.cpp +++ b/src/yuzu/configuration/configure_debug.cpp @@ -19,7 +19,7 @@ ConfigureDebug::ConfigureDebug(QWidget* parent) : QWidget(parent), ui(new Ui::Co ui->setupUi(this); this->setConfiguration(); connect(ui->open_log_button, &QPushButton::pressed, []() { - QString path = QString::fromStdString(FileUtil::GetUserPath(D_LOGS_IDX)); + QString path = QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::LogDir)); QDesktopServices::openUrl(QUrl::fromLocalFile(path)); }); } diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 16812e0779..16a95bb19a 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -909,6 +909,16 @@ void GMainWindow::UpdateUITheme() { #undef main #endif +static void InitializeLogging() { + Log::Filter log_filter; + log_filter.ParseFilterString(Settings::values.log_filter); + Log::SetGlobalFilter(log_filter); + + const std::string& log_dir = FileUtil::GetUserPath(FileUtil::UserPath::LogDir); + FileUtil::CreateFullPath(log_dir); + Log::AddBackend(std::make_unique<Log::FileBackend>(log_dir + LOG_FILE)); +} + int main(int argc, char* argv[]) { MicroProfileOnThreadCreate("Frontend"); SCOPE_EXIT({ MicroProfileShutdown(); }); @@ -927,13 +937,7 @@ int main(int argc, char* argv[]) { GMainWindow main_window; // After settings have been loaded by GMainWindow, apply the filter - Log::Filter log_filter; - log_filter.ParseFilterString(Settings::values.log_filter); - Log::SetGlobalFilter(log_filter); - FileUtil::CreateFullPath(FileUtil::GetUserPath(D_LOGS_IDX)); - Log::AddBackend( - std::make_unique<Log::FileBackend>(FileUtil::GetUserPath(D_LOGS_IDX) + LOG_FILE)); - + InitializeLogging(); main_window.show(); return app.exec(); } |