refactor: new start

This commit is contained in:
ivaquero
2026-04-18 01:46:43 +08:00
parent 35e8a21f00
commit b3ecb2708a
12 changed files with 587 additions and 216 deletions
+59
View File
@@ -0,0 +1,59 @@
#ifndef CLOCKWIDGET_H
#define CLOCKWIDGET_H
#include <QWidget>
#include <QLabel>
#include <QTimer>
#include <QMouseEvent>
#include <QMenu>
#include <QAction>
#include <QSettings>
#include <QFont>
#include <QColor>
class ClockWidget : public QWidget
{
Q_OBJECT
public:
explicit ClockWidget(QWidget *parent = nullptr);
~ClockWidget();
protected:
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void contextMenuEvent(QContextMenuEvent *event) override;
private slots:
void updateTime();
void toggleAlwaysOnTop();
void changeFontColor();
void changeBackgroundColor();
void changeFontSize();
void resetSettings();
void quitApplication();
private:
void setupUI();
void createMenu();
void loadSettings();
void saveSettings();
void updateStyleSheet();
QLabel *m_timeLabel;
QTimer *m_timer;
QMenu *m_contextMenu;
// Drag related
QPoint m_dragPosition;
bool m_dragging;
// Settings
QSettings *m_settings;
QColor m_fontColor;
QColor m_backgroundColor;
int m_fontSize;
bool m_alwaysOnTop;
};
#endif // CLOCKWIDGET_H