1
0

Kompletter Rewrite

This commit is contained in:
Akamaru
2025-09-08 17:19:22 +02:00
parent edf0012917
commit 7e377363c6
18 changed files with 1688 additions and 1052 deletions

119
README.md
View File

@@ -1,17 +1,18 @@
# Programm-Shortcut
# Programm-Shortcut v2.0
Ein Programm-Launcher für Windows mit Kategorieverwaltung und Programm-Icons.
Ein moderner Programm-Launcher für Windows mit Kategorieverwaltung, Programm-Icons und verbesserter Benutzeroberfläche.
![Screenshot des Programm-Shortcut](screenshot.png)
## Features
- Organisiere deine Programme in benutzerdefinierten Kategorien
- Programme werden mit ihren Original-Icons angezeigt
- Sortiere Programme nach Name oder Kategorie
- Einfaches Hinzufügen, Bearbeiten und Entfernen von Programmen
- Einstellungen werden automatisch gespeichert
- Kompaktes und benutzerfreundliches Interface
- **Organisiere Programme** in benutzerdefinierten Kategorien
- **Original-Icons** werden automatisch aus den Programmen extrahiert
- **Flexible Sortierung** nach Name oder Kategorie
- **Intuitive Bedienung** mit modernem Interface
- **Automatische Speicherung** aller Einstellungen
- **Administratorrechte-Unterstützung** für Programme, die diese benötigen
- **Konsistente Icons** in allen Fenstern und Dialogen
## Installation
@@ -19,7 +20,7 @@ Ein Programm-Launcher für Windows mit Kategorieverwaltung und Programm-Icons.
2. Klone das Repository oder lade es herunter
3. Installiere die erforderlichen Abhängigkeiten:
```
```bash
pip install pywin32 Pillow
```
@@ -27,37 +28,103 @@ pip install pywin32 Pillow
Starte die Anwendung mit:
```bash
python main.py
```
python run.py
```
oder mit der start.bat
oder verwende die mitgelieferte `start.bat` Datei.
### Programme hinzufügen:
1. Klicke auf "Hinzufügen"
2. Gebe den Programmnamen ein
1. Klicke im Menü auf "Programm" → "Hinzufügen..." oder drücke `Ctrl+N`
2. Gib den Programmnamen ein
3. Wähle den Programmpfad über "Durchsuchen"
4. Wähle eine Kategorie oder erstelle eine neue
5. Klicke auf "Speichern"
5. Aktiviere "Benötigt Administratorrechte" falls erforderlich
6. Klicke auf "Speichern"
### Programme starten:
1. Wähle eine Kategorie aus der linken Seitenleiste
1. Wähle eine Kategorie aus dem Menü "Kategorie"
2. Wähle ein Programm aus der Liste
3. Klicke auf "Starten"
3. Doppelklicke oder drücke `Enter` zum Starten
## Abhängigkeiten
### Tastaturkürzel:
- Python 3.6+
- tkinter (in der Standardinstallation von Python enthalten)
- pywin32 (für das Extrahieren von Programm-Icons)
- Pillow (für die Bildverarbeitung)
- `Ctrl+N`: Neues Programm hinzufügen
- `F2`: Ausgewähltes Programm bearbeiten
- `Del`: Ausgewähltes Programm entfernen
- `Enter`: Ausgewähltes Programm starten
## Architektur v2.0
Das Programm wurde komplett in eine modulare, wartbare Architektur überarbeitet:
```
├── main.py # Haupteinstiegspunkt
├── config.py # Zentrale Konfiguration und Themes
├── models/ # Datenmodelle
│ ├── program.py # Program-Klasse mit Admin-Unterstützung
│ └── category.py # CategoryManager
├── data/ # Datenverarbeitung
│ └── data_manager.py # JSON-Operationen und Migration
├── utils/ # Hilfsfunktionen
│ └── icon_utils.py # Icon-Extraktion und -Verwaltung
└── gui/ # GUI-Komponenten
├── main_window.py # Hauptfenster mit moderner UI
├── dialogs.py # Alle Dialog-Komponenten
└── modern_widgets.py # Moderne UI-Komponenten
```
## Was ist neu in v2.0
### 🎨 Verbessertes Design
- **Moderne Themes**: Drei verschiedene Farbschemas (Modern Dark, Modern Light, Gradient Blue)
- **Konsistente Icons**: Alle Fenster und Dialoge verwenden das Anwendungsicon
- **Verbesserte Typography**: Professionelle Schriftarten und Größen
- **Responsive Layout**: Bessere Anpassung an verschiedene Fenstergrößen
### 🔧 Technische Verbesserungen
- **Eigene Dialog-Klassen**: Alle System-Dialoge wurden durch eigene Implementierungen ersetzt
- **Bessere Icon-Behandlung**: Optimierte Icon-Extraktion und -Caching
- **Robuste Pfad-Auflösung**: Verbesserte Kompatibilität mit WSL und verschiedenen Umgebungen
- **Admin-Rechte-Unterstützung**: Programme können als Administrator gestartet werden
### 🏗️ Architektur-Verbesserungen
- **Separation of Concerns**: Klare Trennung von GUI, Daten und Geschäftslogik
- **Modulare Komponenten**: Wiederverwendbare UI-Elemente
- **Erweiterte Konfiguration**: Zentrale Theme- und Einstellungsverwaltung
- **Bessere Testbarkeit**: Kleinere, fokussierte Module
### Vorteile der neuen Architektur:
- **Wartbarkeit**: Übersichtliche Codestruktur mit klaren Verantwortlichkeiten
- **Erweiterbarkeit**: Einfache Integration neuer Features
- **Stabilität**: Robuste Fehlerbehandlung und Validierung
- **Performance**: Optimierte Icon-Verwaltung und UI-Updates
## Migration von v1.x
Die Migration erfolgt automatisch beim ersten Start von v2.0:
- Bestehende `data.json` Dateien werden automatisch geladen
- Alte `program_list.json` Dateien werden migriert
- Alle Benutzereinstellungen bleiben erhalten
- Keine manuelle Konfiguration erforderlich
## Systemanforderungen
- **Python**: 3.6 oder höher
- **Betriebssystem**: Windows (Icon-Unterstützung), Linux/WSL (grundlegende Funktionalität)
- **Abhängigkeiten**:
- `tkinter` (standardmäßig in Python enthalten)
- `pywin32` (für Icon-Extraktion unter Windows)
- `Pillow` (für Bildverarbeitung)
## Hinweise
- Icon-Unterstützung funktioniert nur unter Windows
- Ohne die optionalen Abhängigkeiten (pywin32 und Pillow) funktioniert das Programm weiterhin, jedoch ohne Icon-Anzeige
- **Icon-Unterstützung**: Funktioniert vollständig nur unter Windows
- **WSL-Kompatibilität**: Grundlegende Funktionalität verfügbar
- **Fallback-Modus**: Ohne optionale Abhängigkeiten läuft das Programm ohne Icons
## Info
## Entwicklung
- Erstellt mit Hilfe von Claude
Erstellt mit Hilfe von Claude AI und kontinuierlich weiterentwickelt.