Revert to old Centre logic

This commit is contained in:
Mykola Grymalyuk
2023-05-29 12:46:28 -06:00
parent 2435ea747c
commit 6ab297423e
9 changed files with 8 additions and 59 deletions

View File

@@ -18,7 +18,7 @@ class AboutFrame(wx.Frame):
logging.info("Generating About frame")
super(AboutFrame, self).__init__(None, title="About", size=(350, 350), style=wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX))
self.constants: constants.Constants = global_constants
gui_support.Centre(self, self.constants)
self.Centre()
self.hyperlink_colour = (25, 179, 231)
self._generate_elements(self)

View File

@@ -38,7 +38,7 @@ class BuildFrame(wx.Frame):
if self.constants.update_stage != gui_support.AutoUpdateStages.INACTIVE:
self.constants.update_stage = gui_support.AutoUpdateStages.BUILDING
gui_support.Centre(self, self.constants)
self.Centre()
self.frame_modal.ShowWindowModal()
self._invoke_build()

View File

@@ -33,7 +33,7 @@ class InstallOCFrame(wx.Frame):
if self.constants.update_stage != gui_support.AutoUpdateStages.INACTIVE:
self.constants.update_stage = gui_support.AutoUpdateStages.INSTALLING
gui_support.Centre(self, self.constants)
self.Centre()
self.Show()
self._display_disks()

View File

@@ -84,7 +84,7 @@ class macOSInstallerDownloadFrame(wx.Frame):
"""
super(macOSInstallerDownloadFrame, self).__init__(None, title=self.title, size=(300, 200), style=wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX))
gui_support.GenerateMenubar(self, self.constants).generate()
gui_support.Centre(self, self.constants)
self.Centre()
# Title: Pulling installer catalog
title_label = wx.StaticText(self, label="Pulling installer catalog", pos=(-1,5))

View File

@@ -39,7 +39,7 @@ class macOSInstallerFlashFrame(wx.Frame):
self._generate_elements()
gui_support.Centre(self, self.constants)
self.Centre()
self.Show()
self._populate_installers()

View File

@@ -39,7 +39,7 @@ class MainFrame(wx.Frame):
self._generate_elements()
gui_support.Centre(self, self.constants)
self.Centre()
self.Show()

View File

@@ -23,53 +23,6 @@ class AutoUpdateStages:
FINISHED = 5
class Centre:
"""
Alternative to wx.Frame.Centre() for macOS Ventura+ on non-Metal GPUs
----------
As reported by socamx#3874, all of their non-Metal Mac minis would incorrectly centre
at the top of the screen, rather than the screen centre. Half of the window frame would
be off-screen, making it rather difficult to grab frame handle and move the window.
This bug is only triggered when the application is launched via AppleScript,
ie. Relaunch as root for root patching.
As calculating screen centre is trivial, this is safe for all non-Metal Macs.
Test unit specs:
- Macmini4,1 (2010, Nvidia Tesla)
- Asus VP228HE 21.5" Display (1920x1080)
"""
def __init__(self, frame: wx.Frame, global_constants: constants.Constants) -> None:
self.frame: wx.Frame = frame
self.constants: constants.Constants = global_constants
self._centre()
def _centre(self) -> None:
"""
Calculate centre position of screen and set window position
"""
if self.constants.detected_os < os_data.os_data.ventura:
self.frame.Centre()
return
if CheckProperties(self.constants).host_is_non_metal() is False:
self.frame.Centre()
return
# Get screen resolution
screen_resolution = wx.DisplaySize()
logging.info(f"Screen resolution: {screen_resolution}")
window_size = self.frame.GetSize()
logging.info(f"Window size: {window_size}")
# Calculate window position
x_pos = int((screen_resolution[0] - window_size[0]) / 2)
y_pos = int((screen_resolution[1] - window_size[1]) / 2)
self.frame.SetPosition((x_pos, y_pos))
class GenerateMenubar:
def __init__(self, frame: wx.Frame, global_constants: constants.Constants) -> None:

View File

@@ -44,11 +44,7 @@ class SysPatchStartFrame(wx.Frame):
super(SysPatchStartFrame, self).__init__(parent, title=title, size=(350, 200), style=wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX))
gui_support.GenerateMenubar(self, self.constants).generate()
delay = global_settings.GlobalEnviromentSettings().read_property("APP_DELAY_TIME")
if not (isinstance(delay, int) | isinstance(delay, float)):
delay = 1
time.sleep(delay)
gui_support.Centre(self, self.constants)
self.Centre()
if self.patches == {}:
self.patches = sys_patch_detect.DetectRootPatch(self.constants.computer.real_model, self.constants).detect_patch_set()

View File

@@ -41,7 +41,7 @@ class UpdateFrame(wx.Frame):
self.parent.Centre()
self.screen_location = parent.GetScreenPosition()
else:
gui_support.Centre(self, self.constants)
self.Centre()
self.screen_location = self.GetScreenPosition()