[view.qt] using the showEvent callback instead of show to try fix centralisation issues

This commit is contained in:
Vinicius Moreira
2023-12-02 15:02:15 -03:00
parent 27f49828da
commit 6cdd554a9d
3 changed files with 10 additions and 10 deletions

View File

@@ -5,7 +5,7 @@ from functools import reduce
from typing import Tuple, Optional
from PyQt5.QtCore import QSize, Qt, QThread, pyqtSignal, QCoreApplication, QMutex
from PyQt5.QtGui import QIcon, QCursor, QCloseEvent
from PyQt5.QtGui import QIcon, QCursor, QCloseEvent, QShowEvent
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QSizePolicy, QTableWidget, QHeaderView, QPushButton, \
QProgressBar, QPlainTextEdit, QToolButton, QHBoxLayout
@@ -287,14 +287,14 @@ class PreparePanel(QWidget, TaskManager):
self.resize(int(self.get_table_width() * 1.05), self.sizeHint().height())
def show(self):
def showEvent(self, event: Optional[QShowEvent]) -> None:
super().showEvent(event)
self.prepare_thread.start()
screen_size = get_current_screen_geometry()
self.setMinimumWidth(int(screen_size.width() * 0.5))
self.setMinimumHeight(int(screen_size.height() * 0.35))
self.setMaximumHeight(int(screen_size.height() * 0.95))
centralize(self)
super(PreparePanel, self).show()
def start(self, tasks: int):
self.started_at = time.time()

View File

@@ -3,7 +3,7 @@ from io import StringIO
from typing import Optional
from PyQt5.QtCore import Qt, QCoreApplication, QThread, pyqtSignal
from PyQt5.QtGui import QCursor
from PyQt5.QtGui import QCursor, QShowEvent
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QSizePolicy, QPushButton, QHBoxLayout, QApplication
from bauh import __app_name__
@@ -81,10 +81,10 @@ class SettingsWindow(QWidget):
self.thread_reload_panel.signal_finished.connect(self._reload_manage_panel)
centralize(self)
def show(self):
super(SettingsWindow, self).show()
centralize(self)
def showEvent(self, event: Optional[QShowEvent]):
super(SettingsWindow, self).showEvent(event)
self.setMinimumWidth(int(self.sizeHint().width()))
centralize(self)
def closeEvent(self, event):
if self.window and self.window.settings_window == self:

View File

@@ -6,7 +6,7 @@ from pathlib import Path
from typing import List, Type, Set, Tuple, Optional, Dict, Any
from PyQt5.QtCore import QEvent, Qt, pyqtSignal, QRect
from PyQt5.QtGui import QIcon, QWindowStateChangeEvent, QCursor, QCloseEvent
from PyQt5.QtGui import QIcon, QWindowStateChangeEvent, QCursor, QCloseEvent, QShowEvent
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QCheckBox, QHeaderView, QToolBar, \
QLabel, QPlainTextEdit, QProgressBar, QPushButton, QComboBox, QApplication, QListView, QSizePolicy, \
QMenu, QHBoxLayout
@@ -607,14 +607,14 @@ class ManageWindow(QWidget):
if warnings:
dialog.show_message(title=self.i18n['warning'].capitalize(), body='<p>{}</p>'.format('<br/><br/>'.join(warnings)), type_=MessageType.WARNING)
def show(self):
def showEvent(self, event: Optional[QShowEvent]) -> None:
super().showEvent(event)
if not self.thread_warnings.isFinished():
self.thread_warnings.start()
self._screen_geometry = get_current_screen_geometry()
self._update_size_limits()
qt_utils.centralize(self)
super(ManageWindow, self).show()
def verify_warnings(self):
self.thread_warnings.start()