diff libgui/src/m-editor/find-dialog.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 796f54d4ddbf
children 04601f6c47f4
line wrap: on
line diff
--- a/libgui/src/m-editor/find-dialog.cc	Tue Jan 25 17:07:18 2022 +0100
+++ b/libgui/src/m-editor/find-dialog.cc	Sun Jan 30 16:41:44 2022 +0100
@@ -71,7 +71,6 @@
 #include <QCheckBox>
 #include <QCheckBox>
 #include <QCompleter>
-#include <QDesktopWidget>
 #include <QDialogButtonBox>
 #include <QGridLayout>
 #include <QIcon>
@@ -83,6 +82,7 @@
 
 #include "find-dialog.h"
 #include "gui-preferences-ed.h"
+#include "gui-utils.h"
 #include "resource-manager.h"
 #include "octave-qobject.h"
 
@@ -293,27 +293,21 @@
     m_backward_check_box->setChecked (FIND_DLG_BACK & opts);
     m_search_selection_check_box->setChecked (FIND_DLG_SEL & opts);
 
-    // Position:  lower right of editor's position
+    // Default position:  lower right of editor's position
     int xp = ed_bottom_right.x () - sizeHint ().width ();
     int yp = ed_bottom_right.y () - sizeHint ().height ();
-
-    m_last_position = s->value (ed_fdlg_pos.key, QPoint (xp, yp)).toPoint ();
-    move (m_last_position);
+    QRect default_geometry (xp, yp, sizeHint ().width (), sizeHint ().height ());
 
-    if (QApplication::desktop ()->screenNumber (this) == -1)
-      {
-        // Last used position is not on screen anymore, use default pos.
-        m_last_position = QPoint (xp, yp);
-        move (m_last_position);
+    // Last position from settings
+    m_last_position = s->value (ed_fdlg_pos.key, QPoint (xp, yp)).toPoint ();
+    QRect last_geometry (m_last_position,
+                         QSize (sizeHint ().width (), sizeHint ().height ()));
 
-        if (QApplication::desktop ()->screenNumber (this) == -1)
-          {
-            // Default position is not on screen, last resort
-            m_last_position = QPoint (50, 100); // upper left
-            move (m_last_position);
-          }
-      }
+    // Make sure we are on the screen
+    adjust_to_screen (last_geometry, default_geometry);
+    m_last_position = last_geometry.topLeft ();
 
+    move (m_last_position);
   }
 
   // set text of "search from start" depending on backward search