-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtimeritem.h
More file actions
77 lines (60 loc) · 1.64 KB
/
timeritem.h
File metadata and controls
77 lines (60 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//
// Created by Asus on 10/03/2025.
//
#ifndef TIMER_TIMERITEM_H
#define TIMER_TIMERITEM_H
#include <QWidget>
#include <QTimer>
#include <QMessageBox>
#include <QMediaPlayer>
#include <QAudioOutput>
#include <QMenu>
QT_BEGIN_NAMESPACE
namespace Ui { class TimerItem; }
QT_END_NAMESPACE
class TimerItem : public QWidget {
Q_OBJECT
public:
explicit TimerItem(QWidget *parent = nullptr);
void setDuration(int hours, int minutes, int seconds);
// metodi resi pubblici per i testing
void startTimer();
void pauseTimer();
void repeatTimer();
void removeTimer();
QMessageBox* getActiveMessageBox() const;
void setMediaPlayer(QMediaPlayer* player);
void setMusicType(const QString &musicType);
int getRemainingSeconds() const;
~TimerItem() override;
void showTypeSound(const QString &labelText);
void setTitle(const QString &title);
const QString &getMusicType() const;
const QString &getTitle() const;
bool isFinished1() const;
bool isRunning1() const;
QMediaPlayer *getPlayer() const;
signals:
void timerDeleted(TimerItem *timer);
void timerFinished(); // testing purpose
private slots:
void playEndTimer();
void updateDisplay();
void handleTimerFinished();
void mediaPlayerSetting();
void on_startPauseButton_clicked();
void on_deleteTimer_clicked();
private:
QString title;
QString musicType;
Ui::TimerItem *ui;
QTimer *timer;
QTimer *deleteTimer;
QMediaPlayer *player;
int remainingSeconds;
bool isRunning;
bool isFinished;
int initialSeconds;
QMessageBox* activeMessageBox = nullptr;
};
#endif //TIMER_TIMERITEM_H