feat: Android Export Guide und UI Verbesserungen
- Add Android iPD Export-Anleitung im Hilfe-Menü - Fix About Dialog Layout und Close Button Sichtbarkeit - Fensteröffnungshöhe auf 400px optimiert - UTF-8 Encoding Deklaration für korrekte Umlaute
This commit is contained in:
111
gui.py
111
gui.py
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
GUI für PDF zu ICS Konverter
|
||||
Grafische Benutzeroberfläche mit Tkinter
|
||||
@@ -258,15 +259,117 @@ class PDFtoICSGUI:
|
||||
# Hilfe-Menü
|
||||
help_menu = tk.Menu(menubar, tearoff=0)
|
||||
menubar.add_cascade(label="Hilfe", menu=help_menu)
|
||||
help_menu.add_command(label="PDF-Export auf Android (iPD)", command=self.show_android_export_guide)
|
||||
help_menu.add_separator()
|
||||
help_menu.add_command(label="Über dieses Programm", command=self.show_about_dialog)
|
||||
help_menu.add_separator()
|
||||
help_menu.add_command(label="Beenden", command=self.on_closing)
|
||||
|
||||
def show_android_export_guide(self):
|
||||
"""Zeige Anleitung für PDF-Export aus Android App (iPD)"""
|
||||
guide_window = tk.Toplevel(self.root)
|
||||
guide_window.title("PDF-Export auf Android (iPD)")
|
||||
guide_window.geometry("550x550")
|
||||
guide_window.resizable(False, False)
|
||||
|
||||
# Zentriere das Fenster
|
||||
guide_window.transient(self.root)
|
||||
guide_window.grab_set()
|
||||
|
||||
# Header
|
||||
header = tk.Label(
|
||||
guide_window,
|
||||
text="PDF-Export aus iPD",
|
||||
font=("Arial", 16, "bold"),
|
||||
bg="#2c3e50",
|
||||
fg="white",
|
||||
pady=15
|
||||
)
|
||||
header.pack(fill=tk.X)
|
||||
|
||||
# Content Frame
|
||||
content = tk.Frame(guide_window, padx=20, pady=20)
|
||||
content.pack(fill=tk.BOTH, expand=True)
|
||||
|
||||
# Anleitung-Text
|
||||
guide_text = tk.Text(
|
||||
content,
|
||||
height=20,
|
||||
font=("Courier", 9),
|
||||
fg="#34495e",
|
||||
wrap=tk.WORD,
|
||||
relief=tk.FLAT,
|
||||
bg="#f8f9fa"
|
||||
)
|
||||
|
||||
guide_content = """1. Öffne die iPD App auf deinem Android-Gerät
|
||||
|
||||
2. Öffne einen Dienstplan
|
||||
|
||||
3. Wähle den gewünschten Monat aus
|
||||
|
||||
4. Tippe auf das PDF-Symbol
|
||||
(rechts oben, links neben dem 3-Punkte-Menü)
|
||||
|
||||
5. Tippe auf "Datei herunterladen"
|
||||
(rechts oben, neben Drucker-Button)
|
||||
|
||||
6. Wähle "Im Arbeitsprofil speichern"
|
||||
|
||||
7. Sende die PDF-Datei als E-Mail-Anhang
|
||||
an deine private E-Mailadresse
|
||||
|
||||
8. Transferiere die PDF-Datei auf deinen Computer
|
||||
|
||||
9. Öffne diese Anwendung und füge die PDF ein
|
||||
|
||||
10. Klicke "ICS Datei erstellen"
|
||||
|
||||
11. Importiere die ICS-Datei in deinen Kalender
|
||||
|
||||
✓ Fertig!"""
|
||||
|
||||
guide_text.insert(tk.END, guide_content)
|
||||
guide_text.config(state=tk.DISABLED)
|
||||
guide_text.pack(fill=tk.BOTH, expand=True)
|
||||
|
||||
# Button-Frame
|
||||
button_frame = tk.Frame(content)
|
||||
button_frame.pack(fill=tk.X, pady=(15, 0))
|
||||
|
||||
# Online-Link Button
|
||||
online_btn = tk.Button(
|
||||
button_frame,
|
||||
text="📖 Detaillierte Anleitung online",
|
||||
command=lambda: webbrowser.open("https://git.file-archive.de/webfarben/pdf_to_ics"),
|
||||
bg="#3498db",
|
||||
fg="white",
|
||||
font=("Arial", 10, "bold"),
|
||||
padx=20,
|
||||
pady=10,
|
||||
cursor="hand2"
|
||||
)
|
||||
online_btn.pack(side=tk.LEFT, padx=(0, 10))
|
||||
|
||||
# Close Button
|
||||
close_btn = tk.Button(
|
||||
button_frame,
|
||||
text="Schließen",
|
||||
command=guide_window.destroy,
|
||||
bg="#95a5a6",
|
||||
fg="white",
|
||||
font=("Arial", 10, "bold"),
|
||||
padx=20,
|
||||
pady=10,
|
||||
cursor="hand2"
|
||||
)
|
||||
close_btn.pack(side=tk.LEFT)
|
||||
|
||||
def show_about_dialog(self):
|
||||
"""Zeige About-Dialog mit Programminformationen"""
|
||||
about_window = tk.Toplevel(self.root)
|
||||
about_window.title("Über dieses Programm")
|
||||
about_window.geometry("500x350")
|
||||
about_window.geometry("500x400")
|
||||
about_window.resizable(False, False)
|
||||
|
||||
# Zentriere das Fenster
|
||||
@@ -286,7 +389,7 @@ class PDFtoICSGUI:
|
||||
|
||||
# Content Frame
|
||||
content = tk.Frame(about_window, padx=20, pady=20)
|
||||
content.pack(fill=tk.BOTH, expand=True)
|
||||
content.pack(fill=tk.BOTH, expand=False)
|
||||
|
||||
# Version
|
||||
version = get_current_version()
|
||||
@@ -352,7 +455,7 @@ class PDFtoICSGUI:
|
||||
|
||||
# Beschreibung
|
||||
desc_frame = tk.Frame(content)
|
||||
desc_frame.pack(anchor=tk.W, pady=(20, 0), fill=tk.BOTH, expand=True)
|
||||
desc_frame.pack(anchor=tk.W, pady=(20, 0), fill=tk.BOTH, expand=False)
|
||||
|
||||
desc_text = tk.Text(
|
||||
desc_frame,
|
||||
@@ -368,7 +471,7 @@ class PDFtoICSGUI:
|
||||
"zu ICS-Kalenderdateien für einfaches Importieren "
|
||||
"in Kalenderprogramme.")
|
||||
desc_text.config(state=tk.DISABLED)
|
||||
desc_text.pack(fill=tk.BOTH, expand=True)
|
||||
desc_text.pack(fill=tk.BOTH, expand=False)
|
||||
|
||||
# Close Button
|
||||
close_btn = tk.Button(
|
||||
|
||||
Reference in New Issue
Block a user