UI: Reduce settings dialog height if greater than the desktop

Co-authored-by: Warchamp7 <warchamp2003@hotmail.com>
Co-authored-by: derrod <dennis@obsproject.com>
Co-authored-by: Ryan Foster <ryan@obsproject.com>
This commit is contained in:
tytan652
2024-04-15 18:15:17 -04:00
committed by Ryan Foster
co-authored by Warchamp7 derrod Ryan Foster
parent dcd1bd9a80
commit d88e788f7f
2 changed files with 15 additions and 0 deletions
+14
View File
@@ -4279,6 +4279,20 @@ void OBSBasicSettings::closeEvent(QCloseEvent *event)
event->ignore();
}
void OBSBasicSettings::showEvent(QShowEvent *event)
{
QDialog::showEvent(event);
/* Reduce the height of the widget area if too tall compared to the screen
* size (e.g., 720p) with potential window decoration (e.g., titlebar). */
const int titleBarHeight =
QApplication::style()->pixelMetric(QStyle::PM_TitleBarHeight);
const int maxHeight =
round(screen()->availableGeometry().height() - titleBarHeight);
if (size().height() >= maxHeight)
resize(size().width(), maxHeight);
}
void OBSBasicSettings::reject()
{
if (AskIfCanCloseSettings())