Mercurial > octave
diff libgui/src/octave-dock-widget.cc @ 30690:e2c8c852399e
replace use of depreciated QDesktopWidget in GUI
* gui-utils.cc: include QApplication, QRect and QScreen;
(get_screen_geometry): return QRect with geometry of primary screen;
(adjust_to_screen): adjust given QRect to be completely on the screen
that contains the largest part of the QRect, use a default geometry if
no part is on an available screen
* gui-utils.h: include QRect;
new function get_screen_geometry and adjust_to_screen
* community-news.cc: do not include QDesktopWidget, but gui-utils.h;
(get_screen_geometry); move function to gui-utils.cc;
* community-news.h: move get_screen_geometry to gui-utils.h
* find-dialog.cc: do not include QDesktopWidget, but gui-utils.h;
(restore_settings): use new function adjust_to_screen
* main-window.cc: do not include QDesktopWidget, but gui-utils.h;
(get_screen_geometry: move function to gui-utils.cc
* main-window.h: move function get_screen_geometry to gui.utils.h;
* octave-dock-widget.cc: do not include QDesktopWidget, but gui-utils.h
QScreen and QWindow;
(handle_settings): use adjust_to_screen and QGuiApplication->primaryScreen
* release-notes.cc: do not include QDesktopWidget, but gui-utils.h
and QScreen;
(get_screen_geometry): move to gui-utils.cc;
* release-notes.h: move get:screen_geometry to gui-utils.h
* terminal-dock-widget.cc: do not include QDesktopWidget but QScreen;
(terminal_dock_widget): use QGuiApplication->primaryScreen instead
of QDesktopWidget->screenGeometry
* welcome-wizard.cc: remove include of QDesktopWidget
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Sun, 30 Jan 2022 16:41:44 +0100 |
parents | 171414e74e9b |
children | 36dc11ee220d |
line wrap: on
line diff
--- a/libgui/src/octave-dock-widget.cc Tue Jan 25 17:07:18 2022 +0100 +++ b/libgui/src/octave-dock-widget.cc Sun Jan 30 16:41:44 2022 +0100 @@ -29,18 +29,20 @@ #include <QAction> #include <QApplication> -#include <QDesktopWidget> #include <QHBoxLayout> #include <QLabel> +#include <QScreen> #include <QStyle> #include <QToolBar> #include <QMenuBar> +#include <QWindow> #include "gui-preferences-dw.h" #include "gui-preferences-global.h" #include "gui-preferences-mw.h" #include "gui-preferences-sc.h" #include "gui-settings.h" +#include "gui-utils.h" #include "main-window.h" #include "octave-dock-widget.h" #include "octave-qobject.h" @@ -513,12 +515,8 @@ m_icon_color_active = ""; - QWidget *ref_widget = m_main_window; - if (! ref_widget) - ref_widget = this; - int x, y, w, h; - QApplication::desktop ()->availableGeometry (ref_widget).getRect (&x, &y, &w, &h); + QGuiApplication::primaryScreen ()->availableGeometry ().getRect (&x, &y, &w, &h); QRect default_floating_size = QRect (x+16, y+32, w/3, h/2); QRect default_dock_size; @@ -538,11 +536,7 @@ = settings->value (dw_float_geometry.key.arg (objectName ()), default_floating_size).toRect (); - QWidget dummy; - dummy.setGeometry (m_recent_float_geom); - - if (QApplication::desktop ()->screenNumber (&dummy) == -1) - m_recent_float_geom = default_floating_size; + adjust_to_screen (m_recent_float_geom, default_floating_size); // The following is required for ensure smooth transition from old // saveGeomety to new QRect setting (see comment for restoring size