From d26048617d78396cc6381eaf06f19fee484d811c Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 18 Nov 2016 20:04:44 +0100 Subject: gui: resize dialog boxes to fit text --- gui/main-window.cpp | 22 ++++++++++++++-------- gui/main.cpp | 1 - 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/gui/main-window.cpp b/gui/main-window.cpp index d3e0baa8..2489c983 100644 --- a/gui/main-window.cpp +++ b/gui/main-window.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #ifdef _WIN32 # include @@ -42,7 +43,10 @@ MainWindow::MainWindow() : menu_action_mappings(&tray_menu) { ui.setupUi(this); + setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + adjustSize(); setFixedSize(size()); + setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | windowFlags()); updateButtonState(false, false); if (group::ini_directory().size() == 0) @@ -575,9 +579,10 @@ bool mk_dialog(mem lib, ptr& orig) { t* dialog = reinterpret_cast(lib->Dialog()); dialog->setWindowFlags(Qt::Dialog); - // HACK: prevent stderr whining by adding a few pixels - dialog->setFixedSize(dialog->size() + QSize(4, 4)); - dialog->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + dialog->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + dialog->adjustSize(); + dialog->setFixedSize(dialog->size()); + dialog->setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | dialog->windowFlags()); dialog->show(); orig.reset(dialog); @@ -620,11 +625,12 @@ static bool mk_window(ptr* place, Args&&... params) else { *place = make_unique(std::forward(params)...); - (*place)->setWindowFlags(Qt::Dialog); - // HACK: prevent stderr whining by adding a few pixels - (*place)->setFixedSize((*place)->size() + QSize(4, 4)); - (*place)->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - (*place)->show(); + auto& dialog = *place; + dialog->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + dialog->adjustSize(); + dialog->setFixedSize(dialog->size()); + dialog->setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | dialog->windowFlags()); + dialog->show(); return true; } } diff --git a/gui/main.cpp b/gui/main.cpp index 8bc09537..acf82808 100644 --- a/gui/main.cpp +++ b/gui/main.cpp @@ -17,7 +17,6 @@ using namespace options; #include #include #include -#include #include #include #include -- cgit v1.2.3