Skip to content

Commit

Permalink
automatically resize all dialogs which are bigger than available screen
Browse files Browse the repository at this point in the history
  • Loading branch information
martinrotter committed Jan 24, 2024
1 parent 579dd7d commit 17fa6e6
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/librssguard/gui/dialogs/formmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include "gui/dialogs/formupdate.h"
#include "gui/feedmessageviewer.h"
#include "gui/feedsview.h"
#include "gui/guiutilities.h"
#include "gui/messagepreviewer.h"
#include "gui/messagesview.h"
#include "gui/reusable/searchlineedit.h"
Expand Down Expand Up @@ -681,6 +682,8 @@ void FormMain::loadSize() {
resize(settings->value(GROUP(GUI), GUI::MainWindowInitialSize, size()).toSize());
move(settings->value(GROUP(GUI), GUI::MainWindowInitialPosition, screen.center() - rect().center()).toPoint());

GuiUtilities::fixTooBigDialog(*this);

if (settings->value(GROUP(GUI), SETTING(GUI::MainWindowStartsMaximized)).toBool()) {
setWindowState(windowState() | Qt::WindowState::WindowMaximized);

Expand Down
4 changes: 4 additions & 0 deletions src/librssguard/gui/guiutilities.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ void GuiUtilities::applyDialogProperties(QWidget& widget, const QIcon& icon, con
widget.setWindowTitle(title);
}

fixTooBigDialog(widget);
}

void GuiUtilities::fixTooBigDialog(QWidget& widget) {
// We fix too big dialog size or out-of-bounds position.
auto size_widget = widget.size();
auto size_screen = widget.screen()->availableSize();
Expand Down
1 change: 1 addition & 0 deletions src/librssguard/gui/guiutilities.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class GuiUtilities {
public:
static void setLabelAsNotice(QLabel& label, bool is_warning, bool set_margins = true);
static void applyDialogProperties(QWidget& widget, const QIcon& icon = QIcon(), const QString& title = QString());
static void fixTooBigDialog(QWidget& widget);
static void restoreState(QWidget* wdg, QByteArray state);
static QByteArray saveState(QWidget* wdg);

Expand Down

0 comments on commit 17fa6e6

Please sign in to comment.