Files
OpenCore-Legacy-Patcher/resources/wx_gui/gui_about.py
Dhinak G 9676c2c08a Centralize font handling
closes #1098

Co-authored-by: Jazzzny <jazzzny225@gmail.com>
2023-09-18 12:05:27 -04:00

68 lines
2.4 KiB
Python

# About frame, just to sat
import wx
import wx.adv
import logging
from resources.wx_gui import gui_support
from resources import constants
class AboutFrame(wx.Frame):
def __init__(self, global_constants: constants.Constants) -> None:
if wx.FindWindowByName("About"):
return
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
self.Centre()
self.hyperlink_colour = (25, 179, 231)
self._generate_elements(self)
self.Show()
def _generate_elements(self, frame: wx.Frame) -> None:
# Set title
title = wx.StaticText(frame, label="OpenCore Legacy Patcher", pos=(-1, 5))
title.SetFont(gui_support.font_factory(19, wx.FONTWEIGHT_BOLD))
title.Centre(wx.HORIZONTAL)
# Set version
version = wx.StaticText(frame, label=f"Version: {self.constants.patcher_version}", pos=(-1, title.GetPosition()[1] + title.GetSize()[1] + 5))
version.SetFont(gui_support.font_factory(11, wx.FONTWEIGHT_NORMAL))
version.Centre(wx.HORIZONTAL)
# Description
description = [
"Written by a small group of Mac hobbyists who just",
"want to keep old machines out of the landfill!",
]
spacer = 5
for line in description:
desc = wx.StaticText(frame, label=line, pos=(-1, version.GetPosition()[1] + version.GetSize()[1] + 5 + spacer))
desc.SetFont(gui_support.font_factory(13, wx.FONTWEIGHT_NORMAL))
desc.Centre(wx.HORIZONTAL)
spacer += 20
# Set icon
icon_mac = "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.macbook-unibody-plastic.icns"
icon_mac = wx.StaticBitmap(frame, bitmap=wx.Bitmap(icon_mac, wx.BITMAP_TYPE_ICON), pos=(5, desc.GetPosition()[1] - 15))
icon_mac.SetSize((160, 160))
icon_mac.Centre(wx.HORIZONTAL)
icon_path = str(self.constants.app_icon_path)
icon = wx.StaticBitmap(frame, bitmap=wx.Bitmap(icon_path, wx.BITMAP_TYPE_ICON), pos=(5, desc.GetPosition()[1] + desc.GetSize()[1] + 17))
icon.SetSize((64, 64))
icon.Centre(wx.HORIZONTAL)
# Set frame size
frame.SetSize((-1, icon.GetPosition()[1] + icon.GetSize()[1] + 60))