#ifndef WORKTIMECALCULATOR_H #define WORKTIMECALCULATOR_H #include // Basis-Klasse für das Hauptfenster #include // Widget zur Eingabe von Uhrzeiten #include // Button-Widget #include // Checkbox-Widget #include // Widget zur Anzeige der Pausenzeiten #include // Eingabe für numerische Werte (z. B. Stunden/Minuten) #include // Widget zur Anzeige von Text class WorkTimeCalculator : public QMainWindow { Q_OBJECT // Erforderlich für Qt-Signal- und Slot-Mechanismus public: // Konstruktor und Destruktor WorkTimeCalculator(); // Initialisiert das GUI und die Logik ~WorkTimeCalculator(); // Speichert Einstellungen beim Schließen private slots: // Slots für Benutzeraktionen void addBreak(); // Hinzufügen einer neuen Pause void calculateWorkTime(); // Berechnet die Netto-Arbeitszeit private: // Hilfsfunktionen void loadSettings(); // Lädt gespeicherte Einstellungen void saveSettings(); // Speichert aktuelle Einstellungen // GUI-Komponenten QTimeEdit *startTimeEdit; // Widget für die Einstempelzeit QTimeEdit *endTimeEdit; // Widget für die Ausstempelzeit (optional) QPushButton *addBreakButton; // Button, um eine Pause hinzuzufügen QPushButton *calculateButton; // Button, um die Arbeitszeit zu berechnen QCheckBox *includeEndTimeCheckbox; // Checkbox zur Aktivierung der Ausstempelzeit QListWidget *breakList; // Liste der eingegebenen Pausenzeiten QSpinBox *dailyHoursSpin; // Eingabe für tägliche Sollarbeitszeit (Stunden) QSpinBox *dailyMinutesSpin; // Eingabe für tägliche Sollarbeitszeit (Minuten) QLabel *resultLabel; // Anzeige für das Ergebnis der Berechnung }; #endif // WORKTIMECALCULATOR_H