30 Commits

Author SHA1 Message Date
c611b008af Fügt CLI-Toolverwaltung und erweiterte UI-Funktionen hinzu
Ermöglicht die Verwaltung (Erstellen, Auflisten, Ausführen) von Tools über eine Befehlszeilenschnittstelle für Automatisierung und Integration. Die Benutzeroberfläche wurde mit dedizierten Ansichten für Toolerstellung und -bearbeitung, In-App-Lua-Hilfe sowie kontextsensitiven Menüs erweitert. Neue Abhängigkeiten (CLI11, rang) wurden integriert und eine umfassende Testsuite hinzugefügt. Die Lizenzierung wurde auf AGPL-3.0 umgestellt und ein Kontributionsleitfaden bereitgestellt.
2026-07-17 17:22:15 +02:00
074fa73992 Refakturiert die Anwendung und modernisiert das Build-System
Diese umfangreiche Überarbeitung verbessert die Architektur, den Build-Prozess und die Benutzeroberfläche der Toolbox.

Wesentliche Änderungen:
- **Build-System:** Umfassende Modernisierung des CMake-Builds für verbesserte Stabilität und Wartbarkeit. Die Konfiguration wurde auf zielbasierte Befehle umgestellt, `c_tray` stabilisiert und `saucer-desktop` entfernt.
- **Modulare Architektur:** Die Kernlogik von `ToolboxWindow` wurde in dedizierte Helferklassen ausgelagert, darunter `LuaRunner` für die Skriptausführung, `ToolRegistry` für die Tool-Erkennung, `ResourceLoader` für UI-Ressourcen, `ToolboxJsBridge` für JavaScript-Bindungen und `WindowPlacement` für die Fensterverwaltung. Dies reduziert die Komplexität und fördert die Wiederverwendbarkeit.
- **Benutzeroberfläche (UI):** Die HTML-Templates (`einstellungen_custom.html`, `index.html`) und Stylesheets (`styles.css`) wurden zentralisiert und überarbeitet, um eine kohärentere Benutzeroberfläche mit benutzerdefinierten Fensterdekorationen zu bieten. Neue Funktionen wie das Öffnen der Kommandozeile und eine "Tool hinzufügen"-Karte wurden integriert.
- **Tray-Verwaltung:** Die Tray-Icon-Logik wurde in `TrayController` gekapselt, um eine robustere und zentralisierte Steuerung zu ermöglichen, insbesondere im Umgang mit Explorer-Neustarts.
2026-05-08 15:31:42 +02:00
843f978309 Fügt grundlegende Toolbox-HTML-Struktur hinzu
Erstellt die anfängliche HTML-Struktur für die Toolbox-Oberfläche.

Dies beinhaltet das Hinzufügen von Head-, Header-, Main- und Footer-Bereichen,
sowie grundlegende Button-Funktionalitäten und dynamisches Laden von Tool-Karten.

Ebenfalls enthalten sind CSS-Styles, um das Aussehen zu gestalten und ein Stylesheet ist eingebettet.
2026-02-02 21:55:20 +01:00
835353e5a7 Verbessert das Toolbox-Tray-Verhalten
Diese Änderungen verbessern das Verhalten des Toolbox-Trays.

- Fügt eine Callback-Funktion für Linksklicks hinzu, um die
  Aktion zu handhaben.
- Aktualisiert die Tray-Initialisierung, um das Icon korrekt zu laden
  und zu teilen.
- Behebt ein Problem, bei dem das Fenster nicht automatisch
  ausgeblendet wurde, wenn es den Fokus verliert.
- Fügt Logik hinzu, um sicherzustellen, dass das Fenster beim Anzeigen
  in den Vordergrund gebracht und fokussiert wird.
- Vergrößert die Fenstergröße.
2026-02-02 21:16:06 +01:00
0ce126fbfc Fügt Einstellungsfenster und Lua-Skriptausführung hinzu
Implementiert ein Einstellungsfenster zur Konfiguration von Lua-Skript-Timeouts und anderen Einstellungen.
Ermöglicht die Ausführung von Lua-Skripten in einem separaten Thread mit Abbruchfunktion und Timeout-Mechanismus.
Verbessert die Benutzererfahrung durch Hinzufügen der Möglichkeit, das Toolbox-Verzeichnis im Dateisystem zu öffnen.
Behebt Fokusprobleme und verbessert die Fensterpositionierung und -größe.
2026-01-27 22:26:36 +01:00
5c32949535 Add tool configuration management and enhance UI functionality
Introduce `ToolConfigStore` for managing tool configuration files, enabling retrieval and updates. Refactor window handling to support Lua timeout settings and dynamic tool-specific configurations. Improve HTML UI with Lua timeout adjustments and centralized styling updates.
2026-01-27 22:26:05 +01:00
0f66263f63 update auf 7.0.0 saucer 2025-10-25 22:30:02 +02:00
9e3c9f4d0e Refactor HWND management and modularize initialization
Centralized HWND handling into a dedicated `hwnd_module` for improved clarity and modularity. Updated `toolboxWindow` and `optionWindow` to use the new module abstraction. Adjusted related initialization code for better structure and maintainability.
2025-01-19 19:17:35 +01:00
c93758f732 Add saucer4lua integration, window management features
Integrates the saucer4lua library for enhanced Lua support and adds new window management functionalities, including window centering and resizing capabilities. Updates related files, such as CMakeLists, headers, and submodules, to support the new library and features effectively.
2025-01-17 09:59:13 +01:00
f49d8874c1 Add Cython setup and enhance installer functionality
Introduced a Cython-based setup to compile Python files for performance improvements. Updated installer scripts with customtkinter modifications for better UI, added support for additional content loading, and enhanced project structure. Adjusted build commands, streamlined file paths, and integrated new UI elements in the HTML resources.
2024-12-22 20:24:23 +01:00
OSK\schmidt
ed8b298f3a modules, fixes, ignoring 2024-12-18 14:17:36 +01:00
OSK\schmidt
95e11d4914 git exclude 2024-12-17 12:29:56 +01:00
f5dd50a9f7 Add "Einstellungen" interface and improve Lua execution flow
Introduced a new "Einstellungen" (Settings) interface with an HTML page and integrated it into the application workflow. Enhanced Lua execution handling with optional console output and improved UI updates. Adjusted installer UI to better align buttons and icons with user experience.
2024-12-16 23:16:22 +01:00
5b61db140e Expand Lua libraries and enhance error recovery logic.
Added more Lua libraries to extend scripting capabilities within the application. Improved error handling by re-enabling the UI button and reloading the webview after a Lua script failure.
2024-12-16 08:29:58 +01:00
6cd4b0a608 Add JSON exposure and dynamic toolbox content reload
Implemented `SetJsonItems` to handle JSON serialization and expose toolbox items to JavaScript. Enhanced the webview with new JS-exposed functions and added frontend support for dynamic toolbox reloading.
2024-12-10 21:42:58 +01:00
639cd6a536 Add new command file for building executable
Introduce a new command file that streamlines the process of embedding resources and building the executable using PyInstaller. This file centralizes build commands, improving maintainability and reducing potential errors in manual execution.
2024-12-09 22:19:29 +01:00
5a2ddd031b Refactor to store Base64 data in a separate Python file
Moved Base64 strings for executable and icon into a dedicated Python module (base64_strings.py) instead of text files, enhancing code organization. Updated main.py to import Base64 strings from the new module. Also replaced placeholder program name 'DeinProgrammName' with 'Toolbox' throughout the installer scripts.
2024-12-09 22:09:51 +01:00
cb6cbe4352 Improve Windows build config and reduce CPU load
Enable MinSizeRel builds to produce a Windows executable. Added a sleep interval in the focus monitor loop to decrease CPU usage during execution, improving performance efficiency.
2024-12-09 12:08:17 +01:00
8951e05ad3 Restrict WIN32 executable properties to Release builds.
Previously, the WIN32_EXECUTABLE property was set regardless of the build type. This change ensures the property is only applied during Release builds, which can reduce overhead and potential issues in Debug configurations.
2024-12-09 11:34:57 +01:00
543e2bae9c Add installer GUI and file system access feature
This commit introduces a new Tkinter-based GUI installer script (`installer/main.py`) that manages file extraction and shortcut creation. Additionally, a new file system access feature was added to the `ToolboxWindow` class, allowing users to open directories with platform-specific commands. Improvements also include platform-specific adjustments for Windows executables in the CMake configuration.
2024-12-09 11:08:40 +01:00
4fa4c6df6c Implement window hiding and tray icon functionality
Added methods to hide and show the Toolbox window and integrated a system tray icon with menu options, including window toggle and application quit functionality. Moved Lua script execution to occur after successful script loading. Introduced resource inclusion in the project files to support icon loading.
2024-12-07 23:07:55 +01:00
486094b540 V1-it Works 2024-12-06 23:09:15 +01:00
OSK\schmidt
71754ed6bd Simplify resource checks and window icon initialization
Refactor resource presence checks using the `contains` method for clarity and efficiency. Streamline the initialization of the `window_icon` by directly using the `saucer::icon::from` method, thereby improving readability and reducing redundancy.
2024-12-05 16:27:41 +01:00
OSK\schmidt
c6c7a66561 Add icons and highlight.js to project
This commit includes the addition of a new toolbox icon in both .ico and .png formats, updating the resource file to reference the new icon. In addition, numerous highlight.js files and styles have been integrated into the project, enhancing syntax highlighting capabilities. Existing file references in 'out_embed/all.hpp' have been updated accordingly.Add new highlighting styles and GitHub CSS to project

Introduced two new image styles, "brown-papersq" and "pojoaque", for highlighting. Additionally, embedded GitHub's CSS files as header files in the `saucer::embedded` namespace to enhance syntax highlighting features. These changes aim to improve the visual styling and customization options for code presentation.
2024-12-05 14:41:01 +01:00
OSK\schmidt
eb2e13ee08 Add icons and highlight.js to project
This commit includes the addition of a new toolbox icon in both .ico and .png formats, updating the resource file to reference the new icon. In addition, numerous highlight.js files and styles have been integrated into the project, enhancing syntax highlighting capabilities. Existing file references in 'out_embed/all.hpp' have been updated accordingly.
2024-12-05 14:39:16 +01:00
c1f3ece454 Add card.html support to embedded resources
This commit includes `card.html` in the embedded files by updating the `all.hpp` file. It modifies the function to map and include the `card.html` resource. Additionally, `index.html` was updated to ensure the latest content is embedded.
2024-12-04 22:14:45 +01:00
OSK\schmidt
0b04ea0ac2 lua+cpp+html+css+js 2024-12-04 14:12:18 +01:00
OSK\schmidt
2a2b0dbbcc test 2024-12-04 11:40:00 +01:00
OSK\schmidt
18e080b27d init 2024-12-04 09:02:24 +01:00
OSK\schmidt
bef17c860e Initial commit 2024-12-04 09:00:27 +01:00