3
0
Fork 0
forked from suyu/suyu

Add option to reset window size to 1080p

This commit is contained in:
german 2020-12-09 12:53:43 -06:00
parent 29ccc7673f
commit 64fad8cfe9
3 changed files with 30 additions and 6 deletions

View file

@ -939,7 +939,10 @@ void GMainWindow::ConnectMenuEvents() {
&GMainWindow::OnDisplayTitleBars); &GMainWindow::OnDisplayTitleBars);
connect(ui.action_Show_Filter_Bar, &QAction::triggered, this, &GMainWindow::OnToggleFilterBar); connect(ui.action_Show_Filter_Bar, &QAction::triggered, this, &GMainWindow::OnToggleFilterBar);
connect(ui.action_Show_Status_Bar, &QAction::triggered, statusBar(), &QStatusBar::setVisible); connect(ui.action_Show_Status_Bar, &QAction::triggered, statusBar(), &QStatusBar::setVisible);
connect(ui.action_Reset_Window_Size, &QAction::triggered, this, &GMainWindow::ResetWindowSize); connect(ui.action_Reset_Window_Size_720, &QAction::triggered, this,
&GMainWindow::ResetWindowSize720);
connect(ui.action_Reset_Window_Size_1080, &QAction::triggered, this,
&GMainWindow::ResetWindowSize1080);
// Fullscreen // Fullscreen
connect(ui.action_Fullscreen, &QAction::triggered, this, &GMainWindow::ToggleFullscreen); connect(ui.action_Fullscreen, &QAction::triggered, this, &GMainWindow::ToggleFullscreen);
@ -2258,7 +2261,7 @@ void GMainWindow::ToggleWindowMode() {
} }
} }
void GMainWindow::ResetWindowSize() { void GMainWindow::ResetWindowSize720() {
const auto aspect_ratio = Layout::EmulationAspectRatio( const auto aspect_ratio = Layout::EmulationAspectRatio(
static_cast<Layout::AspectRatio>(Settings::values.aspect_ratio.GetValue()), static_cast<Layout::AspectRatio>(Settings::values.aspect_ratio.GetValue()),
static_cast<float>(Layout::ScreenUndocked::Height) / Layout::ScreenUndocked::Width); static_cast<float>(Layout::ScreenUndocked::Height) / Layout::ScreenUndocked::Width);
@ -2272,6 +2275,20 @@ void GMainWindow::ResetWindowSize() {
} }
} }
void GMainWindow::ResetWindowSize1080() {
const auto aspect_ratio = Layout::EmulationAspectRatio(
static_cast<Layout::AspectRatio>(Settings::values.aspect_ratio.GetValue()),
static_cast<float>(Layout::ScreenDocked::Height) / Layout::ScreenDocked::Width);
if (!ui.action_Single_Window_Mode->isChecked()) {
render_window->resize(Layout::ScreenDocked::Height / aspect_ratio,
Layout::ScreenDocked::Height);
} else {
resize(Layout::ScreenDocked::Height / aspect_ratio,
Layout::ScreenDocked::Height + menuBar()->height() +
(ui.action_Show_Status_Bar->isChecked() ? statusBar()->height() : 0));
}
}
void GMainWindow::OnConfigure() { void GMainWindow::OnConfigure() {
const auto old_theme = UISettings::values.theme; const auto old_theme = UISettings::values.theme;
const bool old_discord_presence = UISettings::values.enable_discord_presence; const bool old_discord_presence = UISettings::values.enable_discord_presence;

View file

@ -242,7 +242,8 @@ private slots:
void ShowFullscreen(); void ShowFullscreen();
void HideFullscreen(); void HideFullscreen();
void ToggleWindowMode(); void ToggleWindowMode();
void ResetWindowSize(); void ResetWindowSize720();
void ResetWindowSize1080();
void OnCaptureScreenshot(); void OnCaptureScreenshot();
void OnCoreError(Core::System::ResultStatus, std::string); void OnCoreError(Core::System::ResultStatus, std::string);
void OnReinitializeKeys(ReinitializeKeyBehavior behavior); void OnReinitializeKeys(ReinitializeKeyBehavior behavior);

View file

@ -97,7 +97,8 @@
<addaction name="action_Display_Dock_Widget_Headers"/> <addaction name="action_Display_Dock_Widget_Headers"/>
<addaction name="action_Show_Filter_Bar"/> <addaction name="action_Show_Filter_Bar"/>
<addaction name="action_Show_Status_Bar"/> <addaction name="action_Show_Status_Bar"/>
<addaction name="action_Reset_Window_Size"/> <addaction name="action_Reset_Window_Size_720"/>
<addaction name="action_Reset_Window_Size_1080"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="menu_View_Debugging"/> <addaction name="menu_View_Debugging"/>
</widget> </widget>
@ -220,9 +221,14 @@
<string>Show Status Bar</string> <string>Show Status Bar</string>
</property> </property>
</action> </action>
<action name="action_Reset_Window_Size"> <action name="action_Reset_Window_Size_720">
<property name="text"> <property name="text">
<string>Reset Window Size</string> <string>Reset Window Size to 720p</string>
</property>
</action>
<action name="action_Reset_Window_Size_1080">
<property name="text">
<string>Reset Window Size to 1080p</string>
</property> </property>
</action> </action>
<action name="action_Fullscreen"> <action name="action_Fullscreen">