-
Notifications
You must be signed in to change notification settings - Fork 0
/
widget.cpp
75 lines (56 loc) · 1.64 KB
/
widget.cpp
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
#include "widget.h"
#include "ui_widget.h"
#include "globaldata.h"
#include "eventwidget.h"
#include <QScreen>
#include <QGuiApplication>
#include <QRect>
#include <QApplication>
#include <QDebug>
#include <QVector>
#include <QTimer>
#include <QSystemTrayIcon>
#include <QMenu>
#include <QAction>
const int padding = 10;
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
init_functions();
this->resize(screenWidth,screenHeight);
const int eventWidgetWidth = screenWidth * widthFactor - padding;
const int eventWidgetLeft = screenWidth * leftFactor;
const int eventWidgetTop = screenHeight * topFactor;
const int eventWidgetHeight = screenHeight * itemHeightFactor;
int eventId = 0;
for(auto _event : eventVector){
EventWidget *eventWidget = new EventWidget(this);
eventWidget->setGeometry(eventWidgetLeft,eventWidgetTop+(eventWidgetHeight+padding)*eventId+padding,eventWidgetWidth,eventWidgetHeight);
eventWidget->setEventDate(_event.eventDate);
eventWidget->setEventName(_event.eventName);
eventWidget->setEvent(_event);
eventWidget->updateEventCountdown();
if(eventWidget->countdown < 0){
delete eventWidget;
continue;
}
eventWidgetVector.append(eventWidget);
eventId++;
}
QTimer *timer = new QTimer();
connect(timer, &QTimer::timeout, [=]() {
for(auto event : eventWidgetVector){
event->updateEventCountdown();
}
});
timer->start(60000);
}
void Widget::restart(){
qApp->exit(312);
}
Widget::~Widget()
{
delete ui;
}