MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / InterfaceSettingsWidget

Method InterfaceSettingsWidget

pcsx2-qt/Settings/InterfaceSettingsWidget.cpp:89–249  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87 "Supported Image Types (*.bmp *.gif *.jpg *.jpeg *.png *.webp)");
88
89InterfaceSettingsWidget::InterfaceSettingsWidget(SettingsWindow* settings_dialog, QWidget* parent)
90 : SettingsWidget(settings_dialog, parent)
91{
92 SettingsInterface* sif = dialog()->getSettingsInterface();
93
94 setupTab(m_ui);
95
96 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.inhibitScreensaver, "EmuCore", "InhibitScreensaver", true);
97 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.confirmShutdown, "UI", "ConfirmShutdown", true);
98 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.pauseOnFocusLoss, "UI", "PauseOnFocusLoss", false);
99 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.pauseOnControllerDisconnection, "UI", "PauseOnControllerDisconnection", false);
100 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.promptOnStateLoadSaveFailure, "UI", "PromptOnStateLoadSaveFailure", true);
101 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.savestateSelector, "EmuCore", "UseSavestateSelector", true);
102 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.discordPresence, "EmuCore", "EnableDiscordPresence", false);
103 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.preferEnglishGameList, "UI", "PreferEnglishGameList", false);
104 connect(m_ui.preferEnglishGameList, &QCheckBox::checkStateChanged, this, [this] { emit preferEnglishGameListChanged(); });
105
106#ifdef __linux__ // Mouse locking is only supported on X11
107 const bool mouse_lock_supported = QGuiApplication::platformName().toLower() == "xcb";
108#else
109 const bool mouse_lock_supported = true;
110#endif
111
112 if (mouse_lock_supported)
113 {
114 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.mouseLock, "EmuCore", "EnableMouseLock", false);
115 connect(m_ui.mouseLock, &QCheckBox::checkStateChanged, [](Qt::CheckState state) {
116 if (state == Qt::Checked)
117 Common::AttachMousePositionCb([](int x, int y) { g_main_window->checkMousePosition(x, y); });
118 else
119 Common::DetachMousePositionCb();
120 });
121 }
122 else
123 {
124 m_ui.mouseLock->setEnabled(false);
125 }
126
127 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.startFullscreen, "UI", "StartFullscreen", false);
128 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.doubleClickTogglesFullscreen, "UI", "DoubleClickTogglesFullscreen", true);
129 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.hideMouseCursor, "UI", "HideMouseCursor", false);
130 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.renderToSeparateWindow, "UI", "RenderToSeparateWindow", false);
131 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.hideMainWindow, "UI", "HideMainWindowWhenRunning", false);
132 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableWindowResizing, "UI", "DisableWindowResize", false);
133 SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.startFullscreenUI, "UI", "StartBigPictureMode", false);
134 connect(m_ui.renderToSeparateWindow, &QCheckBox::checkStateChanged, this, &InterfaceSettingsWidget::onRenderToSeparateWindowChanged);
135
136 SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.theme, "UI", "Theme", THEME_NAMES, THEME_VALUES,
137 QtHost::GetDefaultThemeName(), "InterfaceSettingsWidget");
138 connect(m_ui.theme, &QComboBox::currentIndexChanged, [this]() { emit themeChanged(); });
139
140 SettingWidgetBinder::BindWidgetToFloatSetting(sif, m_ui.backgroundOpacity, "UI", "GameListBackgroundOpacity", 100.0f);
141 SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.backgroundScale, "UI", "GameListBackgroundMode", BACKGROUND_SCALE_NAMES, QtUtils::ScalingMode::Fit);
142 connect(m_ui.backgroundBrowse, &QPushButton::clicked, [this]() { onSetGameListBackgroundTriggered(); });
143 connect(m_ui.backgroundReset, &QPushButton::clicked, [this]() { onClearGameListBackgroundTriggered(); });
144 connect(m_ui.backgroundOpacity, &QSpinBox::editingFinished, [this]() { emit backgroundChanged(); });
145 connect(m_ui.backgroundScale, &QComboBox::currentIndexChanged, [this]() { emit backgroundChanged(); });
146

Callers

nothing calls this directly

Calls 10

BindWidgetToBoolSettingFunction · 0.85
BindWidgetToEnumSettingFunction · 0.85
BindWidgetToFloatSettingFunction · 0.85
getSettingsInterfaceMethod · 0.80
checkMousePositionMethod · 0.80
isPerGameSettingsMethod · 0.80
registerWidgetHelpMethod · 0.80
argMethod · 0.80
checkForUpdatesMethod · 0.80

Tested by

no test coverage detected