Line data Source code
1 : #pragma once
2 :
3 : #include <QWidget>
4 : #include "data/CalendarModels.h"
5 :
6 : class QLabel;
7 : class QFrame;
8 : class QPushButton;
9 :
10 : // Sprint 32 – Event detail popup (shown on Enter / double-click)
11 : // Sprint 39 – T-532: Edit/Delete buttons and color bar
12 : class EventDetailPopup : public QWidget {
13 14 : Q_OBJECT
14 : public:
15 : explicit EventDetailPopup(QWidget *parent = nullptr);
16 :
17 : void showEvent(const CalendarEvent &event, const QPoint &globalPos);
18 :
19 : signals:
20 : void editRequested(const CalendarEvent &event);
21 : void deleteRequested(const CalendarEvent &event);
22 :
23 : protected:
24 : bool eventFilter(QObject *obj, QEvent *ev) override;
25 : void keyPressEvent(QKeyEvent *event) override;
26 : void changeEvent(QEvent *event) override;
27 :
28 : private:
29 : void retranslateUi();
30 : QFrame *m_colorBar = nullptr;
31 : QLabel *m_titleLabel = nullptr;
32 : QLabel *m_timeLabel = nullptr;
33 : QLabel *m_locationLabel = nullptr;
34 : QLabel *m_descLabel = nullptr;
35 : QLabel *m_calendarLabel = nullptr;
36 : QPushButton *m_editBtn = nullptr;
37 : QPushButton *m_deleteBtn = nullptr;
38 : CalendarEvent m_currentEvent;
39 : };
40 :
|