feat: dual time zones, autostart, tray icon, config relocation, tests

- Dual clock (primary/secondary time zone) with IANA picker, persisted in XML
- AutoStartManager: macOS LaunchAgent (com.clouck.clock, RunAtLoad)
- Tray icon: template image, light/dark adaptation, toggle + quit menu
- ConfigManager: default path moved to QStandardPaths::AppConfigLocation
- Qt Test suite (ConfigManager, AutoStartManager) wired into CTest
- GitHub origin renamed to upstream; private Gitea repo as origin
This commit is contained in:
2026-08-19 21:09:06 +03:00
parent e59a674ba7
commit 6b9cb32534
12 changed files with 448 additions and 20 deletions
+8 -1
View File
@@ -31,6 +31,8 @@ private slots:
void changeFontColor();
void changeBackgroundColor();
void changeFontSize();
void changePrimaryTimeZone();
void changeSecondaryTimeZone();
void resetSettings();
void quitApplication();
@@ -40,8 +42,11 @@ private:
void loadSettings();
void saveSettings();
void updateStyleSheet();
void changeTimeZone(bool primaryClock);
QString formattedTime(const QString &timeZoneId) const;
QLabel *m_timeLabel;
QLabel *m_primaryTimeLabel;
QLabel *m_secondaryTimeLabel;
QTimer *m_timer;
QMenu *m_contextMenu;
@@ -61,6 +66,8 @@ private:
QColor m_backgroundColor;
int m_fontSize;
bool m_alwaysOnTop;
QString m_primaryTimeZoneId;
QString m_secondaryTimeZoneId;
// Helper methods
bool isInResizeArea(const QPoint &pos) const;