From 5f00fe905c8b5f9802a66e1cfd0f21873b769147 Mon Sep 17 00:00:00 2001 From: Yuri Kunde Schlesner Date: Thu, 16 Feb 2017 22:32:22 -0800 Subject: [PATCH 1/4] Qt: Remove unnecessary std::string usage --- src/citra_qt/main.cpp | 23 ++++++++++++----------- src/citra_qt/main.h | 6 +++--- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 3c1ae8848e..78538c5a77 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -75,7 +75,7 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { QStringList args = QApplication::arguments(); if (args.length() >= 2) { - BootGame(args[1].toStdString()); + BootGame(args[1]); } } @@ -272,7 +272,7 @@ void GMainWindow::OnDisplayTitleBars(bool show) { } } -bool GMainWindow::LoadROM(const std::string& filename) { +bool GMainWindow::LoadROM(const QString& filename) { // Shutdown previous session if the emu thread is still active... if (emu_thread != nullptr) ShutdownGame(); @@ -290,12 +290,13 @@ bool GMainWindow::LoadROM(const std::string& filename) { Core::System& system{Core::System::GetInstance()}; - const Core::System::ResultStatus result{system.Load(render_window, filename)}; + const Core::System::ResultStatus result{system.Load(render_window, filename.toStdString())}; if (result != Core::System::ResultStatus::Success) { switch (result) { case Core::System::ResultStatus::ErrorGetLoader: - LOG_CRITICAL(Frontend, "Failed to obtain loader for %s!", filename.c_str()); + LOG_CRITICAL(Frontend, "Failed to obtain loader for %s!", + filename.toStdString().c_str()); QMessageBox::critical(this, tr("Error while loading ROM!"), tr("The ROM format is not supported.")); break; @@ -335,7 +336,7 @@ bool GMainWindow::LoadROM(const std::string& filename) { return true; } -void GMainWindow::BootGame(const std::string& filename) { +void GMainWindow::BootGame(const QString& filename) { LOG_INFO(Frontend, "Citra starting..."); StoreRecentFile(filename); // Put the filename on top of the list @@ -411,8 +412,8 @@ void GMainWindow::ShutdownGame() { emulation_running = false; } -void GMainWindow::StoreRecentFile(const std::string& filename) { - UISettings::values.recent_files.prepend(QString::fromStdString(filename)); +void GMainWindow::StoreRecentFile(const QString& filename) { + UISettings::values.recent_files.prepend(filename); UISettings::values.recent_files.removeDuplicates(); while (UISettings::values.recent_files.size() > max_recent_files_item) { UISettings::values.recent_files.removeLast(); @@ -447,7 +448,7 @@ void GMainWindow::UpdateRecentFiles() { } void GMainWindow::OnGameListLoadFile(QString game_path) { - BootGame(game_path.toStdString()); + BootGame(game_path); } void GMainWindow::OnGameListOpenSaveFolder(u64 program_id) { @@ -477,7 +478,7 @@ void GMainWindow::OnMenuLoadFile() { if (!filename.isEmpty()) { UISettings::values.roms_path = QFileInfo(filename).path(); - BootGame(filename.toStdString()); + BootGame(filename); } } @@ -506,7 +507,7 @@ void GMainWindow::OnMenuRecentFile() { QString filename = action->data().toString(); QFileInfo file_info(filename); if (file_info.exists()) { - BootGame(filename.toStdString()); + BootGame(filename); } else { // Display an error message and remove the file from the list. QMessageBox::information(this, tr("File not found"), @@ -634,7 +635,7 @@ void GMainWindow::dropEvent(QDropEvent* event) { if (IsSingleFileDropEvent(event) && ConfirmChangeGame()) { const QMimeData* mimeData = event->mimeData(); QString filename = mimeData->urls().at(0).toLocalFile(); - BootGame(filename.toStdString()); + BootGame(filename); } } diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h index 102fd151d6..7ae9729379 100644 --- a/src/citra_qt/main.h +++ b/src/citra_qt/main.h @@ -79,8 +79,8 @@ private: * @returns Whether the system was properly initialized. */ bool InitializeSystem(u32 system_mode); - bool LoadROM(const std::string& filename); - void BootGame(const std::string& filename); + bool LoadROM(const QString& filename); + void BootGame(const QString& filename); void ShutdownGame(); /** @@ -94,7 +94,7 @@ private: * * @param filename the filename to store */ - void StoreRecentFile(const std::string& filename); + void StoreRecentFile(const QString& filename); /** * Updates the recent files menu. From c7c0219f8adf48dea66fd4785f4f9cdc1d229cec Mon Sep 17 00:00:00 2001 From: Yuri Kunde Schlesner Date: Thu, 16 Feb 2017 22:33:15 -0800 Subject: [PATCH 2/4] Qt: Remove orpahned function declaration --- src/citra_qt/main.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h index 7ae9729379..debc35c92a 100644 --- a/src/citra_qt/main.h +++ b/src/citra_qt/main.h @@ -73,12 +73,6 @@ private: void ConnectWidgetEvents(); - /** - * Initializes the emulation system. - * @param system_mode The system mode with which to intialize the kernel. - * @returns Whether the system was properly initialized. - */ - bool InitializeSystem(u32 system_mode); bool LoadROM(const QString& filename); void BootGame(const QString& filename); void ShutdownGame(); From c81a2aabbf5df13711dc9ad739a12133093834a1 Mon Sep 17 00:00:00 2001 From: Yuri Kunde Schlesner Date: Thu, 16 Feb 2017 22:38:05 -0800 Subject: [PATCH 3/4] Qt: Allow any file extension in Open dialog --- src/citra_qt/main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 78538c5a77..b5d927cf28 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -471,7 +471,8 @@ void GMainWindow::OnMenuLoadFile() { for (const auto& piece : game_list->supported_file_extensions) extensions += "*." + piece + " "; - QString file_filter = tr("3DS executable") + " (" + extensions + ")"; + QString file_filter = tr("3DS Executable") + " (" + extensions + ")"; + file_filter += ";;" + tr("All Files (*.*)"); QString filename = QFileDialog::getOpenFileName(this, tr("Load File"), UISettings::values.roms_path, file_filter); @@ -484,7 +485,7 @@ void GMainWindow::OnMenuLoadFile() { void GMainWindow::OnMenuLoadSymbolMap() { QString filename = QFileDialog::getOpenFileName( - this, tr("Load Symbol Map"), UISettings::values.symbols_path, tr("Symbol map (*)")); + this, tr("Load Symbol Map"), UISettings::values.symbols_path, tr("Symbol Map (*.*)")); if (!filename.isEmpty()) { UISettings::values.symbols_path = QFileInfo(filename).path(); From cef18c94e223aea4747a058dcbc719f5e14a6cab Mon Sep 17 00:00:00 2001 From: Yuri Kunde Schlesner Date: Thu, 16 Feb 2017 22:41:04 -0800 Subject: [PATCH 4/4] Qt: Make IsSingleFileDropEvent static --- src/citra_qt/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index b5d927cf28..7175524682 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -627,7 +627,7 @@ void GMainWindow::closeEvent(QCloseEvent* event) { QWidget::closeEvent(event); } -bool IsSingleFileDropEvent(QDropEvent* event) { +static bool IsSingleFileDropEvent(QDropEvent* event) { const QMimeData* mimeData = event->mimeData(); return mimeData->hasUrls() && mimeData->urls().length() == 1; }