From a4d031cfda477d09c7bb8278adfb2a02edca0159 Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 8 Mar 2022 08:51:29 +0100 Subject: [PATCH] Add NonDefaultQPushButton to set autoDefault of buttons to false --- Source/Core/DolphinQt/CMakeLists.txt | 2 ++ .../DolphinQt/CheatSearchFactoryWidget.cpp | 3 ++- Source/Core/DolphinQt/Config/ARCodeWidget.cpp | 7 ++++--- .../Config/CommonControllersWidget.cpp | 4 +++- .../DualShockUDPClientWidget.cpp | 5 +++-- .../Core/DolphinQt/Config/FreeLookWidget.cpp | 3 ++- .../Config/GamecubeControllersWidget.cpp | 3 ++- .../Core/DolphinQt/Config/GeckoCodeWidget.cpp | 9 +++++---- .../Config/Graphics/EnhancementsWidget.cpp | 3 ++- .../Config/Mapping/MappingWindow.cpp | 13 +++++++------ .../Config/WiimoteControllersWidget.cpp | 9 +++++---- Source/Core/DolphinQt/DolphinQt.vcxproj | 2 ++ Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp | 7 ++++--- Source/Core/DolphinQt/GCMemcardManager.cpp | 15 ++++++++------- .../Core/DolphinQt/NetPlay/NetPlayBrowser.cpp | 3 ++- .../DolphinQt/NetPlay/NetPlaySetupDialog.cpp | 7 ++++--- .../QtUtils/NonDefaultQPushButton.cpp | 11 +++++++++++ .../DolphinQt/QtUtils/NonDefaultQPushButton.h | 15 +++++++++++++++ Source/Core/DolphinQt/ResourcePackManager.cpp | 13 +++++++------ .../Core/DolphinQt/Settings/GameCubePane.cpp | 9 +++++---- .../Core/DolphinQt/Settings/GeneralPane.cpp | 4 +++- Source/Core/DolphinQt/Settings/PathPane.cpp | 19 ++++++++++--------- Source/Core/DolphinQt/Settings/WiiPane.cpp | 5 +++-- 23 files changed, 111 insertions(+), 60 deletions(-) create mode 100644 Source/Core/DolphinQt/QtUtils/NonDefaultQPushButton.cpp create mode 100644 Source/Core/DolphinQt/QtUtils/NonDefaultQPushButton.h diff --git a/Source/Core/DolphinQt/CMakeLists.txt b/Source/Core/DolphinQt/CMakeLists.txt index fe7a42604e..b05b562779 100644 --- a/Source/Core/DolphinQt/CMakeLists.txt +++ b/Source/Core/DolphinQt/CMakeLists.txt @@ -290,6 +290,8 @@ add_executable(dolphin-emu QtUtils/WrapInScrollArea.h QtUtils/AspectRatioWidget.cpp QtUtils/AspectRatioWidget.h + QtUtils/NonDefaultQPushButton.cpp + QtUtils/NonDefaultQPushButton.h ResourcePackManager.cpp ResourcePackManager.h RiivolutionBootWidget.cpp diff --git a/Source/Core/DolphinQt/CheatSearchFactoryWidget.cpp b/Source/Core/DolphinQt/CheatSearchFactoryWidget.cpp index 96dccfd240..4b62a9f6a6 100644 --- a/Source/Core/DolphinQt/CheatSearchFactoryWidget.cpp +++ b/Source/Core/DolphinQt/CheatSearchFactoryWidget.cpp @@ -24,6 +24,7 @@ #include "Core/HW/Memmap.h" #include "Core/PowerPC/MMU.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" CheatSearchFactoryWidget::CheatSearchFactoryWidget() { @@ -118,7 +119,7 @@ void CheatSearchFactoryWidget::CreateWidgets() layout->addWidget(data_type_group); - m_new_search = new QPushButton(tr("New Search")); + m_new_search = new NonDefaultQPushButton(tr("New Search")); layout->addWidget(m_new_search); setLayout(layout); diff --git a/Source/Core/DolphinQt/Config/ARCodeWidget.cpp b/Source/Core/DolphinQt/Config/ARCodeWidget.cpp index b528bfb509..f201dcce9d 100644 --- a/Source/Core/DolphinQt/Config/ARCodeWidget.cpp +++ b/Source/Core/DolphinQt/Config/ARCodeWidget.cpp @@ -20,6 +20,7 @@ #include "DolphinQt/Config/CheatCodeEditor.h" #include "DolphinQt/Config/CheatWarningWidget.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "UICommon/GameFile.h" @@ -52,9 +53,9 @@ void ARCodeWidget::CreateWidgets() { m_warning = new CheatWarningWidget(m_game_id, m_restart_required, this); m_code_list = new QListWidget; - m_code_add = new QPushButton(tr("&Add New Code...")); - m_code_edit = new QPushButton(tr("&Edit Code...")); - m_code_remove = new QPushButton(tr("&Remove Code")); + m_code_add = new NonDefaultQPushButton(tr("&Add New Code...")); + m_code_edit = new NonDefaultQPushButton(tr("&Edit Code...")); + m_code_remove = new NonDefaultQPushButton(tr("&Remove Code")); m_code_list->setEnabled(!m_game_id.empty()); m_code_add->setEnabled(!m_game_id.empty()); diff --git a/Source/Core/DolphinQt/Config/CommonControllersWidget.cpp b/Source/Core/DolphinQt/Config/CommonControllersWidget.cpp index fc70a2b505..245fca6d83 100644 --- a/Source/Core/DolphinQt/Config/CommonControllersWidget.cpp +++ b/Source/Core/DolphinQt/Config/CommonControllersWidget.cpp @@ -12,6 +12,7 @@ #include "Core/Core.h" #include "DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" CommonControllersWidget::CommonControllersWidget(QWidget* parent) : QWidget(parent) { @@ -26,7 +27,8 @@ void CommonControllersWidget::CreateLayout() m_common_box = new QGroupBox(tr("Common")); m_common_layout = new QVBoxLayout(); m_common_bg_input = new QCheckBox(tr("Background Input")); - m_common_configure_controller_interface = new QPushButton(tr("Alternate Input Sources")); + m_common_configure_controller_interface = + new NonDefaultQPushButton(tr("Alternate Input Sources")); m_common_layout->addWidget(m_common_bg_input); m_common_layout->addWidget(m_common_configure_controller_interface); diff --git a/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp b/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp index e394b1e4ae..90237057e0 100644 --- a/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp +++ b/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp @@ -13,6 +13,7 @@ #include "Common/Config/Config.h" #include "DolphinQt/Config/ControllerInterface/DualShockUDPClientAddServerDialog.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.h" DualShockUDPClientWidget::DualShockUDPClientWidget() @@ -32,10 +33,10 @@ void DualShockUDPClientWidget::CreateWidgets() m_server_list = new QListWidget(); main_layout->addWidget(m_server_list); - m_add_server = new QPushButton(tr("Add...")); + m_add_server = new NonDefaultQPushButton(tr("Add...")); m_add_server->setEnabled(m_servers_enabled->isChecked()); - m_remove_server = new QPushButton(tr("Remove")); + m_remove_server = new NonDefaultQPushButton(tr("Remove")); m_remove_server->setEnabled(m_servers_enabled->isChecked()); QHBoxLayout* hlayout = new QHBoxLayout; diff --git a/Source/Core/DolphinQt/Config/FreeLookWidget.cpp b/Source/Core/DolphinQt/Config/FreeLookWidget.cpp index 9bcac14364..8ef725e1d0 100644 --- a/Source/Core/DolphinQt/Config/FreeLookWidget.cpp +++ b/Source/Core/DolphinQt/Config/FreeLookWidget.cpp @@ -16,6 +16,7 @@ #include "DolphinQt/Config/Graphics/GraphicsChoice.h" #include "DolphinQt/Config/Mapping/MappingWindow.h" #include "DolphinQt/Config/ToolTipControls/ToolTipCheckBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" FreeLookWidget::FreeLookWidget(QWidget* parent) : QWidget(parent) @@ -34,7 +35,7 @@ void FreeLookWidget::CreateLayout() m_enable_freelook->SetDescription( tr("Allows manipulation of the in-game camera.

If unsure, " "leave this unchecked.")); - m_freelook_controller_configure_button = new QPushButton(tr("Configure Controller")); + m_freelook_controller_configure_button = new NonDefaultQPushButton(tr("Configure Controller")); m_freelook_control_type = new GraphicsChoice({tr("Six Axis"), tr("First Person"), tr("Orbital")}, Config::FL1_CONTROL_TYPE); diff --git a/Source/Core/DolphinQt/Config/GamecubeControllersWidget.cpp b/Source/Core/DolphinQt/Config/GamecubeControllersWidget.cpp index 05db15ae13..a4ce7b4bab 100644 --- a/Source/Core/DolphinQt/Config/GamecubeControllersWidget.cpp +++ b/Source/Core/DolphinQt/Config/GamecubeControllersWidget.cpp @@ -21,6 +21,7 @@ #include "DolphinQt/Config/Mapping/GCPadWiiUConfigDialog.h" #include "DolphinQt/Config/Mapping/MappingWindow.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" #include "InputCommon/GCAdapter.h" @@ -76,7 +77,7 @@ void GamecubeControllersWidget::CreateLayout() { auto* gc_label = new QLabel(tr("Port %1").arg(i + 1)); auto* gc_box = m_gc_controller_boxes[i] = new QComboBox(); - auto* gc_button = m_gc_buttons[i] = new QPushButton(tr("Configure")); + auto* gc_button = m_gc_buttons[i] = new NonDefaultQPushButton(tr("Configure")); for (const auto& item : s_gc_types) { diff --git a/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp b/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp index 87783379b7..d3fc411498 100644 --- a/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp +++ b/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp @@ -26,6 +26,7 @@ #include "DolphinQt/Config/CheatCodeEditor.h" #include "DolphinQt/Config/CheatWarningWidget.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "UICommon/GameFile.h" @@ -77,10 +78,10 @@ void GeckoCodeWidget::CreateWidgets() m_code_view->setReadOnly(true); m_code_view->setFixedHeight(line_height * 10); - m_add_code = new QPushButton(tr("&Add New Code...")); - m_edit_code = new QPushButton(tr("&Edit Code...")); - m_remove_code = new QPushButton(tr("&Remove Code")); - m_download_codes = new QPushButton(tr("Download Codes")); + m_add_code = new NonDefaultQPushButton(tr("&Add New Code...")); + m_edit_code = new NonDefaultQPushButton(tr("&Edit Code...")); + m_remove_code = new NonDefaultQPushButton(tr("&Remove Code")); + m_download_codes = new NonDefaultQPushButton(tr("Download Codes")); m_download_codes->setToolTip(tr("Download Codes from the WiiRD Database")); diff --git a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp index 94021a9c16..db5655cb77 100644 --- a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp @@ -19,6 +19,7 @@ #include "DolphinQt/Config/Graphics/GraphicsSlider.h" #include "DolphinQt/Config/Graphics/GraphicsWindow.h" #include "DolphinQt/Config/Graphics/PostProcessingConfigWindow.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" #include "UICommon/VideoUtils.h" @@ -76,7 +77,7 @@ void EnhancementsWidget::CreateWidgets() Config::GFX_ENHANCE_MAX_ANISOTROPY); m_pp_effect = new ToolTipComboBox(); - m_configure_pp_effect = new QPushButton(tr("Configure")); + m_configure_pp_effect = new NonDefaultQPushButton(tr("Configure")); m_scaled_efb_copy = new GraphicsBool(tr("Scaled EFB Copy"), Config::GFX_HACK_COPY_EFB_SCALED); m_per_pixel_lighting = new GraphicsBool(tr("Per-Pixel Lighting"), Config::GFX_ENABLE_PIXEL_LIGHTING); diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp index 8049658d4e..60f645d124 100644 --- a/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp +++ b/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp @@ -45,6 +45,7 @@ #include "DolphinQt/Config/Mapping/WiimoteEmuMotionControl.h" #include "DolphinQt/Config/Mapping/WiimoteEmuMotionControlIMU.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/QtUtils/WindowActivationEventFilter.h" #include "DolphinQt/QtUtils/WrapInScrollArea.h" #include "DolphinQt/Settings.h" @@ -94,7 +95,7 @@ void MappingWindow::CreateDevicesLayout() m_devices_layout = new QHBoxLayout(); m_devices_box = new QGroupBox(tr("Device")); m_devices_combo = new QComboBox(); - m_devices_refresh = new QPushButton(tr("Refresh")); + m_devices_refresh = new NonDefaultQPushButton(tr("Refresh")); m_devices_combo->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); m_devices_refresh->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); @@ -110,9 +111,9 @@ void MappingWindow::CreateProfilesLayout() m_profiles_layout = new QHBoxLayout(); m_profiles_box = new QGroupBox(tr("Profile")); m_profiles_combo = new QComboBox(); - m_profiles_load = new QPushButton(tr("Load")); - m_profiles_save = new QPushButton(tr("Save")); - m_profiles_delete = new QPushButton(tr("Delete")); + m_profiles_load = new NonDefaultQPushButton(tr("Load")); + m_profiles_save = new NonDefaultQPushButton(tr("Save")); + m_profiles_delete = new NonDefaultQPushButton(tr("Delete")); auto* button_layout = new QHBoxLayout(); @@ -133,8 +134,8 @@ void MappingWindow::CreateResetLayout() { m_reset_layout = new QHBoxLayout(); m_reset_box = new QGroupBox(tr("Reset")); - m_reset_clear = new QPushButton(tr("Clear")); - m_reset_default = new QPushButton(tr("Default")); + m_reset_clear = new NonDefaultQPushButton(tr("Clear")); + m_reset_default = new NonDefaultQPushButton(tr("Default")); m_reset_box->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); diff --git a/Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp b/Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp index 613455ead6..37fff86807 100644 --- a/Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp +++ b/Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp @@ -31,6 +31,7 @@ #include "DolphinQt/Config/Mapping/MappingWindow.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" #include "UICommon/UICommon.h" @@ -89,9 +90,9 @@ void WiimoteControllersWidget::CreateLayout() m_wiimote_box->setLayout(m_wiimote_layout); m_wiimote_passthrough = new QRadioButton(tr("Passthrough a Bluetooth adapter")); - m_wiimote_sync = new QPushButton(tr("Sync")); - m_wiimote_reset = new QPushButton(tr("Reset")); - m_wiimote_refresh = new QPushButton(tr("Refresh")); + m_wiimote_sync = new NonDefaultQPushButton(tr("Sync")); + m_wiimote_reset = new NonDefaultQPushButton(tr("Reset")); + m_wiimote_refresh = new NonDefaultQPushButton(tr("Refresh")); m_wiimote_pt_labels[0] = new QLabel(tr("Sync real Wii Remotes and pair them")); m_wiimote_pt_labels[1] = new QLabel(tr("Reset all saved Wii Remote pairings")); m_wiimote_emu = new QRadioButton(tr("Emulate the Wii's Bluetooth adapter")); @@ -123,7 +124,7 @@ void WiimoteControllersWidget::CreateLayout() { auto* wm_label = m_wiimote_labels[i] = new QLabel(tr("Wii Remote %1").arg(i + 1)); auto* wm_box = m_wiimote_boxes[i] = new QComboBox(); - auto* wm_button = m_wiimote_buttons[i] = new QPushButton(tr("Configure")); + auto* wm_button = m_wiimote_buttons[i] = new NonDefaultQPushButton(tr("Configure")); for (const auto& item : {tr("None"), tr("Emulated Wii Remote"), tr("Real Wii Remote")}) wm_box->addItem(item); diff --git a/Source/Core/DolphinQt/DolphinQt.vcxproj b/Source/Core/DolphinQt/DolphinQt.vcxproj index 636cc514b6..b182d85d4f 100644 --- a/Source/Core/DolphinQt/DolphinQt.vcxproj +++ b/Source/Core/DolphinQt/DolphinQt.vcxproj @@ -171,6 +171,7 @@ + @@ -223,6 +224,7 @@ + diff --git a/Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp b/Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp index 4227e2af38..4deb2df6ff 100644 --- a/Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp +++ b/Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp @@ -21,6 +21,7 @@ #include "Common/Swap.h" #include "Core/FifoPlayer/FifoPlayer.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" #include "VideoCommon/BPMemory.h" @@ -82,9 +83,9 @@ void FIFOAnalyzer::CreateWidgets() m_search_box = new QGroupBox(tr("Search Current Object")); m_search_edit = new QLineEdit; - m_search_new = new QPushButton(tr("Search")); - m_search_next = new QPushButton(tr("Next Match")); - m_search_previous = new QPushButton(tr("Previous Match")); + m_search_new = new NonDefaultQPushButton(tr("Search")); + m_search_next = new NonDefaultQPushButton(tr("Next Match")); + m_search_previous = new NonDefaultQPushButton(tr("Previous Match")); m_search_label = new QLabel; m_search_next->setEnabled(false); diff --git a/Source/Core/DolphinQt/GCMemcardManager.cpp b/Source/Core/DolphinQt/GCMemcardManager.cpp index 31a9d16dae..83a6b231c3 100644 --- a/Source/Core/DolphinQt/GCMemcardManager.cpp +++ b/Source/Core/DolphinQt/GCMemcardManager.cpp @@ -41,6 +41,7 @@ #include "DolphinQt/GCMemcardCreateNewDialog.h" #include "DolphinQt/QtUtils/DolphinFileDialog.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" using namespace ExpansionInterface; @@ -106,9 +107,9 @@ void GCMemcardManager::CreateWidgets() m_button_box = new QDialogButtonBox(QDialogButtonBox::Close); // Actions - m_select_button = new QPushButton; - m_copy_button = new QPushButton; - m_delete_button = new QPushButton(tr("&Delete")); + m_select_button = new NonDefaultQPushButton; + m_copy_button = new NonDefaultQPushButton; + m_delete_button = new NonDefaultQPushButton(tr("&Delete")); m_export_button = new QToolButton(this); m_export_menu = new QMenu(m_export_button); @@ -122,8 +123,8 @@ void GCMemcardManager::CreateWidgets() m_export_button->setPopupMode(QToolButton::MenuButtonPopup); m_export_button->setMenu(m_export_menu); - m_import_button = new QPushButton(tr("&Import...")); - m_fix_checksums_button = new QPushButton(tr("Fix Checksums")); + m_import_button = new NonDefaultQPushButton(tr("&Import...")); + m_fix_checksums_button = new NonDefaultQPushButton(tr("Fix Checksums")); auto* layout = new QGridLayout; @@ -131,8 +132,8 @@ void GCMemcardManager::CreateWidgets() { m_slot_group[slot] = new QGroupBox(slot == Slot::A ? tr("Slot A") : tr("Slot B")); m_slot_file_edit[slot] = new QLineEdit; - m_slot_open_button[slot] = new QPushButton(tr("&Open...")); - m_slot_create_button[slot] = new QPushButton(tr("&Create...")); + m_slot_open_button[slot] = new NonDefaultQPushButton(tr("&Open...")); + m_slot_create_button[slot] = new NonDefaultQPushButton(tr("&Create...")); m_slot_table[slot] = new QTableWidget; m_slot_table[slot]->setTabKeyNavigation(false); m_slot_stat_label[slot] = new QLabel; diff --git a/Source/Core/DolphinQt/NetPlay/NetPlayBrowser.cpp b/Source/Core/DolphinQt/NetPlay/NetPlayBrowser.cpp index 348f6de047..9acd14977d 100644 --- a/Source/Core/DolphinQt/NetPlay/NetPlayBrowser.cpp +++ b/Source/Core/DolphinQt/NetPlay/NetPlayBrowser.cpp @@ -25,6 +25,7 @@ #include "Core/ConfigManager.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" NetPlayBrowser::NetPlayBrowser(QWidget* parent) : QDialog(parent) @@ -84,7 +85,7 @@ void NetPlayBrowser::CreateWidgets() m_status_label = new QLabel; m_button_box = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); - m_button_refresh = new QPushButton(tr("Refresh")); + m_button_refresh = new NonDefaultQPushButton(tr("Refresh")); m_edit_name = new QLineEdit; m_edit_game_id = new QLineEdit; m_check_hide_incompatible = new QCheckBox(tr("Hide Incompatible Sessions")); diff --git a/Source/Core/DolphinQt/NetPlay/NetPlaySetupDialog.cpp b/Source/Core/DolphinQt/NetPlay/NetPlaySetupDialog.cpp index 2f9f00a42e..26487443e7 100644 --- a/Source/Core/DolphinQt/NetPlay/NetPlaySetupDialog.cpp +++ b/Source/Core/DolphinQt/NetPlay/NetPlaySetupDialog.cpp @@ -21,6 +21,7 @@ #include "Core/NetPlayProto.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/QtUtils/UTF8CodePointCountValidator.h" #include "DolphinQt/Settings.h" @@ -87,7 +88,7 @@ void NetPlaySetupDialog::CreateMainLayout() m_button_box = new QDialogButtonBox(QDialogButtonBox::Cancel); m_nickname_edit = new QLineEdit; m_connection_type = new QComboBox; - m_reset_traversal_button = new QPushButton(tr("Reset Traversal Settings")); + m_reset_traversal_button = new NonDefaultQPushButton(tr("Reset Traversal Settings")); m_tab_widget = new QTabWidget; m_nickname_edit->setValidator( @@ -101,7 +102,7 @@ void NetPlaySetupDialog::CreateMainLayout() m_ip_edit = new QLineEdit; m_connect_port_label = new QLabel(tr("Port:")); m_connect_port_box = new QSpinBox; - m_connect_button = new QPushButton(tr("Connect")); + m_connect_button = new NonDefaultQPushButton(tr("Connect")); m_connect_port_box->setMaximum(65535); @@ -144,7 +145,7 @@ void NetPlaySetupDialog::CreateMainLayout() m_host_upnp = new QCheckBox(tr("Forward port (UPnP)")); #endif m_host_games = new QListWidget; - m_host_button = new QPushButton(tr("Host")); + m_host_button = new NonDefaultQPushButton(tr("Host")); m_host_port_box->setMaximum(65535); m_host_force_port_box->setMaximum(65535); diff --git a/Source/Core/DolphinQt/QtUtils/NonDefaultQPushButton.cpp b/Source/Core/DolphinQt/QtUtils/NonDefaultQPushButton.cpp new file mode 100644 index 0000000000..4d2abdc764 --- /dev/null +++ b/Source/Core/DolphinQt/QtUtils/NonDefaultQPushButton.cpp @@ -0,0 +1,11 @@ +// Copyright 2022 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" + +NonDefaultQPushButton::NonDefaultQPushButton(const QString& text, QWidget* parent) + : QPushButton(text, parent) +{ + this->setAutoDefault(false); +} diff --git a/Source/Core/DolphinQt/QtUtils/NonDefaultQPushButton.h b/Source/Core/DolphinQt/QtUtils/NonDefaultQPushButton.h new file mode 100644 index 0000000000..1e365a8a3d --- /dev/null +++ b/Source/Core/DolphinQt/QtUtils/NonDefaultQPushButton.h @@ -0,0 +1,15 @@ +// Copyright 2022 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#pragma once + +#include + +// A custom QPushButton that sets the autoDefault option to false +// This makes sure random buttons are not highlighted anymore by default +class NonDefaultQPushButton : public QPushButton +{ +public: + explicit NonDefaultQPushButton(const QString& text = {}, QWidget* parent = nullptr); +}; diff --git a/Source/Core/DolphinQt/ResourcePackManager.cpp b/Source/Core/DolphinQt/ResourcePackManager.cpp index ed067ab5cd..ad464a76ea 100644 --- a/Source/Core/DolphinQt/ResourcePackManager.cpp +++ b/Source/Core/DolphinQt/ResourcePackManager.cpp @@ -13,6 +13,7 @@ #include "Common/FileUtil.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "UICommon/ResourcePack/Manager.h" ResourcePackManager::ResourcePackManager(QWidget* widget) : QDialog(widget) @@ -34,12 +35,12 @@ void ResourcePackManager::CreateWidgets() m_table_widget = new QTableWidget; m_table_widget->setTabKeyNavigation(false); - m_open_directory_button = new QPushButton(tr("Open Directory...")); - m_change_button = new QPushButton(tr("Install")); - m_remove_button = new QPushButton(tr("Remove")); - m_refresh_button = new QPushButton(tr("Refresh")); - m_priority_up_button = new QPushButton(tr("Up")); - m_priority_down_button = new QPushButton(tr("Down")); + m_open_directory_button = new NonDefaultQPushButton(tr("Open Directory...")); + m_change_button = new NonDefaultQPushButton(tr("Install")); + m_remove_button = new NonDefaultQPushButton(tr("Remove")); + m_refresh_button = new NonDefaultQPushButton(tr("Refresh")); + m_priority_up_button = new NonDefaultQPushButton(tr("Up")); + m_priority_down_button = new NonDefaultQPushButton(tr("Down")); auto* buttons = new QDialogButtonBox(QDialogButtonBox::Ok); diff --git a/Source/Core/DolphinQt/Settings/GameCubePane.cpp b/Source/Core/DolphinQt/Settings/GameCubePane.cpp index 6a8c813d17..294f711e54 100644 --- a/Source/Core/DolphinQt/Settings/GameCubePane.cpp +++ b/Source/Core/DolphinQt/Settings/GameCubePane.cpp @@ -36,6 +36,7 @@ #include "DolphinQt/GCMemcardManager.h" #include "DolphinQt/QtUtils/DolphinFileDialog.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" #include "DolphinQt/Settings/BroadbandAdapterSettingsDialog.h" @@ -94,7 +95,7 @@ void GameCubePane::CreateWidgets() { m_slot_combos[slot] = new QComboBox(device_box); m_slot_combos[slot]->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); - m_slot_buttons[slot] = new QPushButton(tr("..."), device_box); + m_slot_buttons[slot] = new NonDefaultQPushButton(tr("..."), device_box); m_slot_buttons[slot]->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); } @@ -146,7 +147,7 @@ void GameCubePane::CreateWidgets() gba_row++; m_gba_bios_edit = new QLineEdit(); - m_gba_browse_bios = new QPushButton(QStringLiteral("...")); + m_gba_browse_bios = new NonDefaultQPushButton(QStringLiteral("...")); gba_layout->addWidget(new QLabel(tr("BIOS:")), gba_row, 0); gba_layout->addWidget(m_gba_bios_edit, gba_row, 1); gba_layout->addWidget(m_gba_browse_bios, gba_row, 2); @@ -155,7 +156,7 @@ void GameCubePane::CreateWidgets() for (size_t i = 0; i < m_gba_rom_edits.size(); ++i) { m_gba_rom_edits[i] = new QLineEdit(); - m_gba_browse_roms[i] = new QPushButton(QStringLiteral("...")); + m_gba_browse_roms[i] = new NonDefaultQPushButton(QStringLiteral("...")); gba_layout->addWidget(new QLabel(tr("Port %1 ROM:").arg(i + 1)), gba_row, 0); gba_layout->addWidget(m_gba_rom_edits[i], gba_row, 1); gba_layout->addWidget(m_gba_browse_roms[i], gba_row, 2); @@ -167,7 +168,7 @@ void GameCubePane::CreateWidgets() gba_row++; m_gba_saves_edit = new QLineEdit(); - m_gba_browse_saves = new QPushButton(QStringLiteral("...")); + m_gba_browse_saves = new NonDefaultQPushButton(QStringLiteral("...")); gba_layout->addWidget(new QLabel(tr("Saves:")), gba_row, 0); gba_layout->addWidget(m_gba_saves_edit, gba_row, 1); gba_layout->addWidget(m_gba_browse_saves, gba_row, 2); diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.cpp b/Source/Core/DolphinQt/Settings/GeneralPane.cpp index f877e68a27..d78b8ea8e3 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.cpp +++ b/Source/Core/DolphinQt/Settings/GeneralPane.cpp @@ -23,6 +23,7 @@ #include "Core/PowerPC/PowerPC.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/QtUtils/SignalBlocking.h" #include "DolphinQt/Settings.h" @@ -226,7 +227,8 @@ void GeneralPane::CreateAnalytics() m_main_layout->addWidget(analytics_group); m_checkbox_enable_analytics = new QCheckBox(tr("Enable Usage Statistics Reporting")); - m_button_generate_new_identity = new QPushButton(tr("Generate a New Statistics Identity")); + m_button_generate_new_identity = + new NonDefaultQPushButton(tr("Generate a New Statistics Identity")); analytics_group_layout->addWidget(m_checkbox_enable_analytics); analytics_group_layout->addWidget(m_button_generate_new_identity); } diff --git a/Source/Core/DolphinQt/Settings/PathPane.cpp b/Source/Core/DolphinQt/Settings/PathPane.cpp index d793fa9738..0ffed709c4 100644 --- a/Source/Core/DolphinQt/Settings/PathPane.cpp +++ b/Source/Core/DolphinQt/Settings/PathPane.cpp @@ -19,6 +19,7 @@ #include "Core/Config/UISettings.h" #include "DolphinQt/QtUtils/DolphinFileDialog.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" PathPane::PathPane(QWidget* parent) : QWidget(parent) @@ -155,8 +156,8 @@ QGroupBox* PathPane::MakeGameFolderBox() QHBoxLayout* hlayout = new QHBoxLayout; hlayout->addStretch(); - QPushButton* add = new QPushButton(tr("Add...")); - m_remove_path = new QPushButton(tr("Remove")); + QPushButton* add = new NonDefaultQPushButton(tr("Add...")); + m_remove_path = new NonDefaultQPushButton(tr("Remove")); m_remove_path->setEnabled(false); @@ -197,7 +198,7 @@ QGridLayout* PathPane::MakePathsLayout() [this] { Settings::Instance().SetDefaultGame(m_game_edit->text()); }); connect(&Settings::Instance(), &Settings::DefaultGameChanged, this, [this](const QString& path) { m_game_edit->setText(path); }); - QPushButton* game_open = new QPushButton(QStringLiteral("...")); + QPushButton* game_open = new NonDefaultQPushButton(QStringLiteral("...")); connect(game_open, &QPushButton::clicked, this, &PathPane::BrowseDefaultGame); layout->addWidget(new QLabel(tr("Default ISO:")), 0, 0); layout->addWidget(m_game_edit, 0, 1); @@ -205,7 +206,7 @@ QGridLayout* PathPane::MakePathsLayout() m_nand_edit = new QLineEdit(QString::fromStdString(File::GetUserPath(D_WIIROOT_IDX))); connect(m_nand_edit, &QLineEdit::editingFinished, this, &PathPane::OnNANDPathChanged); - QPushButton* nand_open = new QPushButton(QStringLiteral("...")); + QPushButton* nand_open = new NonDefaultQPushButton(QStringLiteral("...")); connect(nand_open, &QPushButton::clicked, this, &PathPane::BrowseWiiNAND); layout->addWidget(new QLabel(tr("Wii NAND Root:")), 1, 0); layout->addWidget(m_nand_edit, 1, 1); @@ -214,7 +215,7 @@ QGridLayout* PathPane::MakePathsLayout() m_dump_edit = new QLineEdit(QString::fromStdString(File::GetUserPath(D_DUMP_IDX))); connect(m_dump_edit, &QLineEdit::editingFinished, [=] { Config::SetBase(Config::MAIN_DUMP_PATH, m_dump_edit->text().toStdString()); }); - QPushButton* dump_open = new QPushButton(QStringLiteral("...")); + QPushButton* dump_open = new NonDefaultQPushButton(QStringLiteral("...")); connect(dump_open, &QPushButton::clicked, this, &PathPane::BrowseDump); layout->addWidget(new QLabel(tr("Dump Path:")), 2, 0); layout->addWidget(m_dump_edit, 2, 1); @@ -223,7 +224,7 @@ QGridLayout* PathPane::MakePathsLayout() m_load_edit = new QLineEdit(QString::fromStdString(File::GetUserPath(D_LOAD_IDX))); connect(m_load_edit, &QLineEdit::editingFinished, [=] { Config::SetBase(Config::MAIN_LOAD_PATH, m_load_edit->text().toStdString()); }); - QPushButton* load_open = new QPushButton(QStringLiteral("...")); + QPushButton* load_open = new NonDefaultQPushButton(QStringLiteral("...")); connect(load_open, &QPushButton::clicked, this, &PathPane::BrowseLoad); layout->addWidget(new QLabel(tr("Load Path:")), 3, 0); layout->addWidget(m_load_edit, 3, 1); @@ -234,7 +235,7 @@ QGridLayout* PathPane::MakePathsLayout() connect(m_resource_pack_edit, &QLineEdit::editingFinished, [=] { Config::SetBase(Config::MAIN_RESOURCEPACK_PATH, m_resource_pack_edit->text().toStdString()); }); - QPushButton* resource_pack_open = new QPushButton(QStringLiteral("...")); + QPushButton* resource_pack_open = new NonDefaultQPushButton(QStringLiteral("...")); connect(resource_pack_open, &QPushButton::clicked, this, &PathPane::BrowseResourcePack); layout->addWidget(new QLabel(tr("Resource Pack Path:")), 4, 0); layout->addWidget(m_resource_pack_edit, 4, 1); @@ -242,7 +243,7 @@ QGridLayout* PathPane::MakePathsLayout() m_sdcard_edit = new QLineEdit(QString::fromStdString(File::GetUserPath(F_WIISDCARD_IDX))); connect(m_sdcard_edit, &QLineEdit::editingFinished, this, &PathPane::OnSDCardPathChanged); - QPushButton* sdcard_open = new QPushButton(QStringLiteral("...")); + QPushButton* sdcard_open = new NonDefaultQPushButton(QStringLiteral("...")); connect(sdcard_open, &QPushButton::clicked, this, &PathPane::BrowseSDCard); layout->addWidget(new QLabel(tr("SD Card Path:")), 5, 0); layout->addWidget(m_sdcard_edit, 5, 1); @@ -251,7 +252,7 @@ QGridLayout* PathPane::MakePathsLayout() m_wfs_edit = new QLineEdit(QString::fromStdString(File::GetUserPath(D_WFSROOT_IDX))); connect(m_load_edit, &QLineEdit::editingFinished, [=] { Config::SetBase(Config::MAIN_WFS_PATH, m_wfs_edit->text().toStdString()); }); - QPushButton* wfs_open = new QPushButton(QStringLiteral("...")); + QPushButton* wfs_open = new NonDefaultQPushButton(QStringLiteral("...")); connect(wfs_open, &QPushButton::clicked, this, &PathPane::BrowseWFS); layout->addWidget(new QLabel(tr("WFS Path:")), 6, 0); layout->addWidget(m_wfs_edit, 6, 1); diff --git a/Source/Core/DolphinQt/Settings/WiiPane.cpp b/Source/Core/DolphinQt/Settings/WiiPane.cpp index 168091abf6..16f8ae3457 100644 --- a/Source/Core/DolphinQt/Settings/WiiPane.cpp +++ b/Source/Core/DolphinQt/Settings/WiiPane.cpp @@ -23,6 +23,7 @@ #include "Core/ConfigManager.h" #include "Core/Core.h" +#include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/Settings.h" #include "DolphinQt/Settings/USBDeviceAddToWhitelistDialog.h" @@ -164,8 +165,8 @@ void WiiPane::CreateWhitelistedUSBPassthroughDevices() m_whitelist_usb_list = new QListWidget(); whitelist_layout->addWidget(m_whitelist_usb_list, 0, 0, 1, -1); whitelist_layout->setColumnStretch(0, 1); - m_whitelist_usb_add_button = new QPushButton(tr("Add...")); - m_whitelist_usb_remove_button = new QPushButton(tr("Remove")); + m_whitelist_usb_add_button = new NonDefaultQPushButton(tr("Add...")); + m_whitelist_usb_remove_button = new NonDefaultQPushButton(tr("Remove")); whitelist_layout->addWidget(m_whitelist_usb_add_button, 1, 1); whitelist_layout->addWidget(m_whitelist_usb_remove_button, 1, 2); whitelist_layout->addWidget(m_whitelist_usb_list, 0, 0);