From 4f49e34ca9a6f9babc2204a3e8e960a2e28cd4ae Mon Sep 17 00:00:00 2001 From: Sebastian Serfling Date: Tue, 29 Apr 2025 12:13:44 +0200 Subject: [PATCH] change Readme --- gui.py | 134 ++++++++++++++++++++++++++++++++++++++++++++------ pdf_export.py | 2 +- printer.ico | Bin 0 -> 270398 bytes 3 files changed, 121 insertions(+), 15 deletions(-) create mode 100644 printer.ico diff --git a/gui.py b/gui.py index b537f56..6d0c8bc 100644 --- a/gui.py +++ b/gui.py @@ -5,14 +5,35 @@ import sys import os from PIL import Image, ImageTk import webbrowser +import winreg + +if getattr(sys, 'frozen', False): + # Wenn das Skript in einer exe läuft, sind die Dateien im temporären Ordner + bundle_dir = sys._MEIPASS + pdf_export_path = os.path.join('./export.exe') +else: + # Wenn das Skript nicht in einer exe läuft, benutze das aktuelle Arbeitsverzeichnis + bundle_dir = os.path.dirname(os.path.abspath(__file__)) + pdf_export_path = os.path.join('./export.exe') + +print(pdf_export_path) +# Pfade für eingebundene Ressourcen +logo_path = os.path.join(bundle_dir, 'logo.png') +gif_path = os.path.join(bundle_dir, 'printer.gif') +reg_check_path = os.path.join(bundle_dir, 'reg_check.py') + + +icon_path = os.path.join(bundle_dir, 'printer.ico') class CustomerThinkerApp(ctk.CTk): def __init__(self): super().__init__() + self.iconbitmap(icon_path) # Setzt das Icon + self.title("CustomerThinker PDF Export Tool") window_width = 400 - window_height = 400 + window_height = 450 # Bildschirmgröße ermitteln screen_width = self.winfo_screenwidth() @@ -27,7 +48,7 @@ class CustomerThinkerApp(ctk.CTk): ctk.set_appearance_mode("System") # "Dark", "Light", "System" ctk.set_default_color_theme("blue") # Andere Themes: "green", "dark-blue" - self.script_path = "pdf_export.py" + self.script_path = pdf_export_path # Verändere dies auf den richtigen Pfad self.labels_dir = "label" self.orders_dir = "orders" @@ -55,7 +76,7 @@ class CustomerThinkerApp(ctk.CTk): self.dropdown_select.pack(pady=10) # Werte-Dropdown - self.dropdown_values = ctk.CTkComboBox(self, values=[], command=self.file_selected,width=200) + self.dropdown_values = ctk.CTkComboBox(self, values=[], command=self.file_selected, width=200) self.dropdown_values.pack(pady=10) # Status @@ -67,7 +88,7 @@ class CustomerThinkerApp(ctk.CTk): self.status_label_logo.pack(pady=10) # Logo unten rechts - self.logo_image = ctk.CTkImage(Image.open("logo.png"), size=(50, 50)) # Hier dein Logo + self.logo_image = ctk.CTkImage(Image.open(logo_path), size=(50, 50)) # Hier dein Logo self.logo_label = ctk.CTkLabel(self, image=self.logo_image, text="", fg_color="transparent") self.logo_label.bind("", self.open_link) # Klick-Event self.logo_label.bind("", self.on_logo_hover) # Hover-Ereignis (Maus über Logo) @@ -81,10 +102,8 @@ class CustomerThinkerApp(ctk.CTk): # Einmaliges Binden: Position von Logo UND Button aktualisieren self.bind("", self.update_positions) - def run_reg_check(self): - script_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "reg_check.py") - subprocess.Popen([sys.executable, script_path]) + show_config_gui(self) # Direkter Aufruf, kein Thread! def update_positions(self, event=None): # Logo rechts unten @@ -102,12 +121,7 @@ class CustomerThinkerApp(ctk.CTk): def on_logo_leave(self, event=None): self.logo_label.configure(cursor="") # Setzt den Cursor zurück, wenn die Maus das Logo verlässt - def update_logo_position(self, event=None): - # Positioniere das Logo in der unteren rechten Ecke, nachdem das Fenster die endgültige Größe hat - self.logo_label.place(x=self.winfo_width() - 10, y=self.winfo_height() - 10, anchor="se") - def load_gif(self): - gif_path = "printer.gif" if not os.path.exists(gif_path): return @@ -150,6 +164,7 @@ class CustomerThinkerApp(ctk.CTk): self.run_button.configure(text=f"{selected_file} drucken", command=lambda: self.run_single_file(full_path)) def run_script(self): + print("run_script") self.set_status("Alle Aufträge werden gedruckt...", "blue") self.start_animation() threading.Thread(target=self.execute_script).start() @@ -162,7 +177,9 @@ class CustomerThinkerApp(ctk.CTk): def execute_script(self): try: - result = subprocess.run([sys.executable, self.script_path], capture_output=True, text=True) + print("execute_script") + print(self.script_path) + result = subprocess.run([self.script_path], capture_output=True, text=True) if result.returncode == 0: self.set_status("✅ Alle Aufträge wurden gedruckt!", "green") else: @@ -176,7 +193,7 @@ class CustomerThinkerApp(ctk.CTk): def execute_single_file(self, full_path): try: - result = subprocess.run([sys.executable, self.script_path, full_path], capture_output=True, text=True) + result = subprocess.run([self.script_path, full_path], capture_output=True, text=True) if result.returncode == 0: filename = os.path.basename(full_path) self.set_status(f"✅ {filename} wurde gedruckt!", "green") @@ -210,6 +227,95 @@ class CustomerThinkerApp(ctk.CTk): def show_error(self, message): ctk.CTkMessagebox(title="Fehler", message=message, icon="cancel") if hasattr(ctk, "CTkMessagebox") else print(message) +REG_PATH = r"Software\PDFExporter" + +def read_registry_value(name): + try: + key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH, 0, winreg.KEY_READ) + value, _ = winreg.QueryValueEx(key, name) + winreg.CloseKey(key) + return value + except FileNotFoundError: + return None + +def write_registry_value(name, value): + try: + key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, REG_PATH) + winreg.SetValueEx(key, name, 0, winreg.REG_SZ, value) + winreg.CloseKey(key) + except Exception as e: + print(f"Fehler beim Schreiben in Registry: {e}") + +# def config_exists(): +# return read_registry_value("APIKey") is not None + +def save_config_and_close(api_entry, server_entry, label_entry, order_entry, app): + write_registry_value("APIKey", api_entry.get()) + write_registry_value("Server", server_entry.get()) + write_registry_value("LabelPrinter", label_entry.get()) + write_registry_value("OrderPrinter", order_entry.get()) + app.destroy() + +def show_config_gui(parent): + ctk.set_appearance_mode("System") + ctk.set_default_color_theme("blue") + + app = ctk.CTkToplevel(parent) + app.iconbitmap(icon_path) + app.title("Erstkonfiguration") + window_width = 400 + window_height = 400 + + # Bildschirmgröße ermitteln + screen_width = app.winfo_screenwidth() + screen_height = app.winfo_screenheight() + + # Position zum Zentrieren berechnen + x = int((screen_width / 2) - (window_width / 2)) + y = int((screen_height / 2) - (window_height / 2)) + app.geometry(f"{window_width}x{window_height}+{x}+{y}") + + frame = ctk.CTkFrame(master=app) + frame.pack(pady=20, padx=20, fill="both", expand=True) + + # Vorhandene Werte aus der Registry lesen + existing_api = read_registry_value("APIKey") or "" + existing_server = read_registry_value("Server") or "" + existing_label = read_registry_value("LabelPrinter") or "" + existing_order = read_registry_value("OrderPrinter") or "" + + # GUI Felder + api_label = ctk.CTkLabel(master=frame, text="API Key:") + api_label.pack(pady=5) + api_entry = ctk.CTkEntry(master=frame, width=300) + api_entry.insert(0, existing_api) + api_entry.pack() + + server_label = ctk.CTkLabel(master=frame, text="Server:") + server_label.pack(pady=5) + server_entry = ctk.CTkEntry(master=frame, width=300) + server_entry.insert(0, existing_server) + server_entry.pack() + + label_label = ctk.CTkLabel(master=frame, text="Label-Drucker:") + label_label.pack(pady=5) + label_entry = ctk.CTkEntry(master=frame, width=300) + label_entry.insert(0, existing_label) + label_entry.pack() + + order_label = ctk.CTkLabel(master=frame, text="Order-Drucker:") + order_label.pack(pady=5) + order_entry = ctk.CTkEntry(master=frame, width=300) + order_entry.insert(0, existing_order) + order_entry.pack() + + save_button = ctk.CTkButton(master=frame, text="Speichern", command=lambda: save_config_and_close( + api_entry, server_entry, label_entry, order_entry, app)) + save_button.pack(pady=15) + app.focus() # Setzt den Fokus + app.grab_set() # Macht das Fenster modal + app.lift() # Holt es in den Vordergrund + if __name__ == "__main__": app = CustomerThinkerApp() app.mainloop() diff --git a/pdf_export.py b/pdf_export.py index 40b7576..091423a 100644 --- a/pdf_export.py +++ b/pdf_export.py @@ -7,7 +7,7 @@ import fitz # PyMuPDF import win32print import win32ui from PIL import Image, ImageWin -import winreg # ← Registry-Zugriff +import winreg os.system("chcp 65001") # Registry-Pfad diff --git a/printer.ico b/printer.ico new file mode 100644 index 0000000000000000000000000000000000000000..abb63a8d7cf8b916bf7d4b80955539ac8e3d317d GIT binary patch literal 270398 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 literal 0 HcmV?d00001