From 79b97311e9e0432997243f4f60a3c3af3ce95032 Mon Sep 17 00:00:00 2001 From: Andrew Senetar Date: Mon, 8 Oct 2018 21:20:09 -0500 Subject: [PATCH 1/2] Update qt/result_window.py Move the result window if fully or partially off-screen. Fix #521. Need to verify if this solves #500. --- qt/result_window.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/qt/result_window.py b/qt/result_window.py index 529aee14..8829b0db 100644 --- a/qt/result_window.py +++ b/qt/result_window.py @@ -9,7 +9,8 @@ from PyQt5.QtCore import Qt, QRect from PyQt5.QtWidgets import ( QMainWindow, QMenu, QLabel, QFileDialog, QMenuBar, QWidget, - QVBoxLayout, QAbstractItemView, QStatusBar, QDialog, QPushButton, QCheckBox + QVBoxLayout, QAbstractItemView, QStatusBar, QDialog, QPushButton, QCheckBox, + QDesktopWidget ) from hscommon.trans import trget @@ -225,6 +226,14 @@ class ResultWindow(QMainWindow): else: if self.app.prefs.resultWindowRect is not None: self.setGeometry(self.app.prefs.resultWindowRect) + # if not on any screen move to center of default screen + # moves to center of closest screen if partially off screen + frame = self.frameGeometry() + if QDesktopWidget().screenNumber(self) == -1: + moveToScreenCenter(self) + elif QDesktopWidget().availableGeometry(self).contains(frame) == False: + frame.moveCenter(QDesktopWidget().availableGeometry(self).center()) + self.move(frame.topLeft()) else: moveToScreenCenter(self) @@ -343,3 +352,6 @@ class ResultWindow(QMainWindow): def searchChanged(self): self.app.model.apply_filter(self.searchEdit.text()) + def closeEvent(self, event): + # this saves the location of the results window when it is closed + self.appWillSavePrefs() From ab9703b86e2d2c29425185d2e7df5a65ea832d8a Mon Sep 17 00:00:00 2001 From: Andrew Senetar Date: Wed, 10 Oct 2018 19:48:32 -0500 Subject: [PATCH 2/2] Update qt/result_window.py Now previous changes comply with flake8 rules. --- qt/result_window.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qt/result_window.py b/qt/result_window.py index 8829b0db..fa41b038 100644 --- a/qt/result_window.py +++ b/qt/result_window.py @@ -231,7 +231,7 @@ class ResultWindow(QMainWindow): frame = self.frameGeometry() if QDesktopWidget().screenNumber(self) == -1: moveToScreenCenter(self) - elif QDesktopWidget().availableGeometry(self).contains(frame) == False: + elif QDesktopWidget().availableGeometry(self).contains(frame) is False: frame.moveCenter(QDesktopWidget().availableGeometry(self).center()) self.move(frame.topLeft()) else: