diff --git a/rpcs3/rpcs3qt/save_data_list_dialog.cpp b/rpcs3/rpcs3qt/save_data_list_dialog.cpp index d4188127dd..2f803b3ee6 100644 --- a/rpcs3/rpcs3qt/save_data_list_dialog.cpp +++ b/rpcs3/rpcs3qt/save_data_list_dialog.cpp @@ -7,6 +7,8 @@ #include #include #include +#include +#include constexpr auto qstr = QString::fromStdString; @@ -214,6 +216,9 @@ void save_data_list_dialog::UpdateList() m_list->horizontalHeader()->height() + m_list->verticalHeader()->length() + m_list->frameWidth() * 2 ); - resize(minimumSize().expandedTo(sizeHint() - m_list->sizeHint() + tableSize)); + QSize preferredSize = minimumSize().expandedTo(sizeHint() - m_list->sizeHint() + tableSize); + QSize maxSize = QSize(preferredSize.width(), static_cast(QApplication::desktop()->screenGeometry().height()*.6)); + + resize(preferredSize.boundedTo(maxSize)); } diff --git a/rpcs3/rpcs3qt/save_manager_dialog.cpp b/rpcs3/rpcs3qt/save_manager_dialog.cpp index dc2dba3a8e..a8d03527d0 100644 --- a/rpcs3/rpcs3qt/save_manager_dialog.cpp +++ b/rpcs3/rpcs3qt/save_manager_dialog.cpp @@ -89,7 +89,6 @@ save_manager_dialog::save_manager_dialog(std::string dir, QWidget* parent) : QDi setMinimumSize(QSize(400, 400)); Init(dir); - resize(width(), std::min(height(), static_cast(QApplication::desktop()->screenGeometry().height()*.6))); } /* @@ -202,8 +201,11 @@ void save_manager_dialog::UpdateList() m_list->verticalHeader()->width() + m_list->horizontalHeader()->length() + m_list->frameWidth() * 2, m_list->horizontalHeader()->height() + m_list->verticalHeader()->length() + m_list->frameWidth() * 2); - resize(minimumSize().expandedTo(sizeHint() - m_list->sizeHint() + tableSize)); + QSize preferredSize = minimumSize().expandedTo(sizeHint() - m_list->sizeHint() + tableSize); + QSize maxSize = QSize(preferredSize.width(), static_cast(QApplication::desktop()->screenGeometry().height()*.6)); + + resize(preferredSize.boundedTo(maxSize)); } /**