mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-14 04:38:20 +10:00
Remove broken GUI
This commit is contained in:
161
OCLP-GUI.command
161
OCLP-GUI.command
@@ -1,161 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Current GUI issues:
|
||||
#
|
||||
# - Settings:
|
||||
# - Broken toggle(Does not update variable)
|
||||
# - Missing toggles(OpenCore, Kext, Metal, Wifi, SMBIOS)
|
||||
# - Install OpenCore:
|
||||
# - Outright non-functional
|
||||
# - Pottential implementations would be to copy TUI's UI
|
||||
|
||||
from tkinter import *
|
||||
import subprocess, sys, time
|
||||
import tkinter as tk
|
||||
from Resources import build, ModelArray, Constants, utilities
|
||||
|
||||
|
||||
# Build main menu
|
||||
class GUI_MENU():
|
||||
def __init__(self):
|
||||
self.constants = Constants.Constants()
|
||||
self.current_model: str = None
|
||||
self.constants.gui_mode = True
|
||||
opencore_model: str = subprocess.run("nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode()
|
||||
if not opencore_model.startswith("nvram: Error getting variable"):
|
||||
opencore_model = [line.strip().split(":oem-product ", 1)[1] for line in opencore_model.split("\n") if line.strip().startswith("4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:")][0]
|
||||
self.current_model = opencore_model
|
||||
else:
|
||||
self.current_model = subprocess.run("system_profiler SPHardwareDataType".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
self.current_model = [line.strip().split(": ", 1)[1] for line in self.current_model.stdout.decode().split("\n") if line.strip().startswith("Model Identifier")][0]
|
||||
|
||||
# Update SMBIOS
|
||||
def update_model_clicked(self):
|
||||
current_model = self.entry_smbios.get()
|
||||
self.current_model = current_model.strip()
|
||||
if self.current_model in ModelArray.SupportedSMBIOS11:
|
||||
self.support = True
|
||||
self.support_string = "Model is supported"
|
||||
else:
|
||||
self.support = False
|
||||
self.support_string = "Model is unsupported"
|
||||
# Update Labels
|
||||
self.label_smbios.configure(text=f" Configured model: {self.current_model} ", font=(".AppleSystemUIFont", 15))
|
||||
self.label_support.configure(text=self.support_string, font=(".AppleSystemUIFont", 15))
|
||||
|
||||
def build_clicked(self):
|
||||
build_window = tk.Tk()
|
||||
build_window.title("Build Menu")
|
||||
build_window.minsize(250, 30)
|
||||
build_window.eval('tk::PlaceWindow %s center' % build_window.winfo_pathname(build_window.winfo_id()))
|
||||
support_build_2 = """Model is unsupported
|
||||
Please enter a supported model in the main menu.
|
||||
"""
|
||||
|
||||
build_label = tk.Label(build_window, text=support_build_2)
|
||||
if self.current_model in ModelArray.SupportedSMBIOS11:
|
||||
support_build_2 = """
|
||||
Model is supported, building EFI..
|
||||
If you see this text for more than 15 seconds, try restarting the build
|
||||
|
||||
If repeated, please open an issue on Github
|
||||
"""
|
||||
|
||||
build_label.configure(text=support_build_2)
|
||||
build_label.pack()
|
||||
build.BuildOpenCore(self.current_model, self.constants).build_opencore()
|
||||
support_build_2 = f"""Finished building OpenCore for model {self.current_model}!
|
||||
Built at:
|
||||
{self.constants.opencore_release_folder}
|
||||
|
||||
Close this window and select Install OpenCore 🔧
|
||||
"""
|
||||
build_label.configure(text=support_build_2)
|
||||
build_label.pack()
|
||||
else:
|
||||
support_build_2 = "Model is unsupported"
|
||||
build_label.pack()
|
||||
build_window.eval('tk::PlaceWindow %s center' % build_window.winfo_pathname(build_window.winfo_id()))
|
||||
|
||||
def settings_menu(self):
|
||||
|
||||
#def v_func(self, v_var):
|
||||
|
||||
|
||||
|
||||
settings_window = tk.Tk()
|
||||
settings_window.title("Settings Menu")
|
||||
settings_window.minsize(250, 20)
|
||||
|
||||
label_settings = tk.Label(settings_window, text="Patcher Settings")
|
||||
label_settings.place(relx=0.1, rely=0.1, anchor=SW)
|
||||
|
||||
local_verbose_debug = tk.BooleanVar()
|
||||
verbose_box = tk.Checkbutton(settings_window, text='Enable Verbose Booting', variable=local_verbose_debug)
|
||||
verbose_box.pack()
|
||||
local_verbose_debug.set(True)
|
||||
print(local_verbose_debug.get())
|
||||
verbose_box.local_verbose_debug = local_verbose_debug
|
||||
|
||||
|
||||
#local_verbose_debug..set(self.constants.verbose_debug)
|
||||
|
||||
settings_window.eval('tk::PlaceWindow %s center' % settings_window.winfo_pathname(settings_window.winfo_id()))
|
||||
|
||||
|
||||
|
||||
def main_menu(self):
|
||||
#self.identify_model()
|
||||
main_window = tk.Tk()
|
||||
main_window.title("Main Menu")
|
||||
window_height = 350
|
||||
window_width = 400
|
||||
main_window.resizable(False, False)
|
||||
screen_width = main_window.winfo_screenwidth()
|
||||
screen_height = main_window.winfo_screenheight()
|
||||
x_cordinate = int((screen_width/2) - (window_width/2))
|
||||
y_cordinate = int((screen_height/2) - (window_height/2))
|
||||
main_window.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate))
|
||||
|
||||
|
||||
# Check if supported
|
||||
if self.current_model in ModelArray.SupportedSMBIOS11:
|
||||
self.support = True
|
||||
self.support_string = "Model is supported"
|
||||
else:
|
||||
self.support = False
|
||||
self.support_string = "Model is unsupported"
|
||||
|
||||
# Setup Labels
|
||||
self.label_header = tk.Label(text=f"OpenCore Legacy Patcher v{self.constants.patcher_version}", font=(".AppleSystemUIFont", 20))
|
||||
self.label_smbios = tk.Label(text=f"Detected model: {self.current_model}", font=(".AppleSystemUIFont", 15))
|
||||
self.label_support = tk.Label(text=self.support_string, font=(".AppleSystemUIFont", 15))
|
||||
self.label_build = tk.Label(text="🔨",font=(".AppleSystemUIFont", 50))
|
||||
self.label_install = tk.Label(text="🔧",font=(".AppleSystemUIFont", 50))
|
||||
|
||||
# Setup Text Entry
|
||||
self.entry_smbios = tk.Entry(width=12, justify='center')
|
||||
|
||||
# Setup Buttons
|
||||
self.button_update = tk.Button(text="Update SMBIOS", command=self.update_model_clicked)
|
||||
self.button_build = tk.Button(text="Build OpenCore", command=self.build_clicked)
|
||||
self.button_install = tk.Button(text="Install OpenCore")
|
||||
self.button_settings = tk.Button(text="⚙️", command=self.settings_menu)
|
||||
|
||||
# Place Labels
|
||||
self.label_header.place(relx=0.5, rely=0.0, anchor=N)
|
||||
self.label_smbios.place(relx=0.5, rely=0.1, anchor=N)
|
||||
self.label_support.place(relx=0.5, rely=0.2, anchor=N)
|
||||
self.entry_smbios.place(relx=0.5, rely=0.3, anchor=N)
|
||||
self.button_update.place(relx=0.5, rely=0.4, anchor=N)
|
||||
self.label_build.place(relx=0.25, rely=0.75, anchor=S)
|
||||
self.button_build.place(relx=0.25, rely=0.85, anchor=S)
|
||||
self.label_install.place(relx=0.75, rely=0.75, anchor=S)
|
||||
self.button_install.place(relx=0.75, rely=0.85, anchor=S)
|
||||
self.button_settings.place(relx=0.9, rely=0.175, anchor=S)
|
||||
|
||||
main_window.mainloop()
|
||||
|
||||
|
||||
|
||||
GUI_MENU().main_menu()
|
||||
Reference in New Issue
Block a user