This commit is contained in:
dez 2024-02-07 14:51:19 +01:00
parent f3ffdb9d6a
commit 87a09ba29f
5 changed files with 37 additions and 67 deletions

View file

@ -1,4 +1,5 @@
import threading import threading
import os
from customtkinter import * from customtkinter import *
from tkinter import PhotoImage from tkinter import PhotoImage
from PIL import Image, ImageTk from PIL import Image, ImageTk
@ -6,42 +7,8 @@ from PIL import Image, ImageTk
import download_main import download_main
from gui_starfield import StarField from gui_starfield import StarField
from json_main import save_package from json_main import save_package
from theme_ctk_auto import generate_theme_json
def apply_theme(app, col_background, col_theme, is_dark): def run_installer(download_folder_tmp, col_isDark):
if is_dark:
set_default_color_theme("dark-blue")
set_appearance_mode("dark")
else:
set_default_color_theme("blue")
set_appearance_mode("white")
generate_theme_json(col_theme, is_dark)
set_default_color_theme("./theme.json")
# # Apply background color to the app
# app.configure(bg=f"#{col_background[0]:02x}{col_background[1]:02x}{col_background[2]:02x}")
# # Customize individual widget colors
# CLabel.set_default("bg", f"#{col_background[0]:02x}{col_background[1]:02x}{col_background[2]:02x}")
# CLabel.set_default("fg", f"#{col_theme[0]:02x}{col_theme[1]:02x}{col_theme[2]:02x}")
# CButton.set_default("bg", f"#{col_theme[0]:02x}{col_theme[1]:02x}{col_theme[2]:02x}")
# CButton.set_default("fg", f"#{col_background[0]:02x}{col_background[1]:02x}{col_background[2]:02x}")
# CCombobox.set_default("bg", f"#{col_theme[0]:02x}{col_theme[1]:02x}{col_theme[2]:02x}")
# CCombobox.set_default("fg", f"#{col_background[0]:02x}{col_background[1]:02x}{col_background[2]:02x}")
# # Set dark mode specific configurations
# if is_dark:
# # Example: Set dark mode specific configurations
# CLabel.set_default("font", ("Arial", 12, "bold"))
# CButton.set_default("font", ("Arial", 12, "bold"))
# # Add more configurations as needed for dark mode
def run_installer(download_folder_tmp, col_background, col_theme, col_isDark):
global visible_widgets, tab_combobox # Declare tab_combobox as a global variable global visible_widgets, tab_combobox # Declare tab_combobox as a global variable
app = CTk() app = CTk()
@ -53,7 +20,7 @@ def run_installer(download_folder_tmp, col_background, col_theme, col_isDark):
app.resizable(False, False) app.resizable(False, False)
apply_theme(app, col_background, col_theme, col_isDark) set_default_color_theme(os.path.join(download_folder_tmp,"./theme.json"))
def print_ahoj(): def print_ahoj():
spitfire_source_info = { spitfire_source_info = {

View file

@ -6,20 +6,6 @@ import zipfile
import certifi import certifi
import ssl import ssl
import subprocess import subprocess
import tempfile
def get_temp_folder():
# Get the current user's temporary directory
temp_dir = tempfile.gettempdir()
# Create a subdirectory inside the temporary directory
user_temp_folder = os.path.join(temp_dir, 'SpitfireBrowserTmp')
# Create the directory if it doesn't exist
if not os.path.exists(user_temp_folder):
os.makedirs(user_temp_folder)
return user_temp_folder
def download_file(url, destination, progress_callback=None, label_callback=None): def download_file(url, destination, progress_callback=None, label_callback=None):
@ -85,9 +71,7 @@ def set_path_variable(download_path):
print(f"Added PATH: {output_string_unique}") print(f"Added PATH: {output_string_unique}")
def get_deps_win(): def get_deps_win(download_path):
download_path = get_temp_folder()
dll_url = 'https://downloads.sourceforge.net/project/spitfire-browser/nightly/components/GTK4/' dll_url = 'https://downloads.sourceforge.net/project/spitfire-browser/nightly/components/GTK4/'

View file

@ -1,14 +1,32 @@
from init_win import get_deps_win from init_win import get_deps_win
from theme_win import get_theme_win from theme_win import get_theme_win
from gui_main import run_installer from gui_main import run_installer
from theme_ctk_auto import generate_theme_json
import tempfile
import os
def get_temp_folder():
# Get the current user's temporary directory
temp_dir = tempfile.gettempdir()
# Create a subdirectory inside the temporary directory
user_temp_folder = os.path.join(temp_dir, 'SpitfireBrowserTmp')
# Create the directory if it doesn't exist
if not os.path.exists(user_temp_folder):
os.makedirs(user_temp_folder)
return user_temp_folder
def main_win(): def main_win():
dow_path = "./tmp" dow_path = get_temp_folder()
col_background = None col_background = None
col_theme = None col_theme = None
is_dark = None is_dark = None
dow_path = get_deps_win() get_deps_win(dow_path)
col_background, col_theme, is_dark = get_theme_win() col_background, col_theme, is_dark = get_theme_win()
generate_theme_json(dow_path, col_theme, is_dark)
run_installer(dow_path, col_background, col_theme, is_dark) run_installer(dow_path, is_dark)

View file

@ -1,4 +1,5 @@
import json import json
import os
def rgb_to_hex(rgb): def rgb_to_hex(rgb):
""" """
@ -44,7 +45,7 @@ def adjust_brightness_based_on_luminance(color, adjustment_percent):
return rgb_to_hex(adjusted_color) return rgb_to_hex(adjusted_color)
def generate_theme_json(col_theme, is_dark): def generate_theme_json(path, col_theme, is_dark):
# Define colors based on is_dark # Define colors based on is_dark
if is_dark: if is_dark:
bg_color = ["gray17", "gray20"] bg_color = ["gray17", "gray20"]
@ -296,8 +297,8 @@ def generate_theme_json(col_theme, is_dark):
}, },
"DropdownMenu": { "DropdownMenu": {
"fg_color": bg_color, "fg_color": bg_color,
"hover_color": bg_col_theme, "hover_color": disabled_text_col,
"text_color": txt_col_theme "text_color": text_color
}, },
"CTkFont": { "CTkFont": {
"macOS": { "macOS": {
@ -342,7 +343,7 @@ def generate_theme_json(col_theme, is_dark):
"harmony differential": None "harmony differential": None
} }
with open("./theme.json", "w") as json_file: with open(os.path.join(path + "./theme.json"), "w") as json_file:
json.dump(theme_data, json_file, indent=2) json.dump(theme_data, json_file, indent=2)
# Example use # Example use

View file

@ -62,10 +62,10 @@ def get_theme_win():
return col_background, col_theme, is_dark return col_background, col_theme, is_dark
# Example use # # Example use
if __name__ == "__main__": # if __name__ == "__main__":
col_background, col_theme, is_dark = get_theme_win() # col_background, col_theme, is_dark = get_theme_win()
print(f"---------------") # print(f"---------------")
print(f"Background Color: RGB{col_background}") # print(f"Background Color: RGB{col_background}")
print(f"Theme Color: RGB{col_theme}") # print(f"Theme Color: RGB{col_theme}")
print(f"Dark Mode: {'Enabled' if is_dark else 'Disabled'}") # print(f"Dark Mode: {'Enabled' if is_dark else 'Disabled'}")