Skip to content

Commit 1397e44

Browse files
committed
Add global settings logging
1 parent f4b9a24 commit 1397e44

File tree

10 files changed

+99
-35
lines changed

10 files changed

+99
-35
lines changed

SmartTimer/alertwidget.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ void alertwidget::statusChanged(bool stat)
107107
}
108108
else
109109
{
110+
if (blinkTimer.isActive())
111+
emit blinkInfo("Alarms",false);
112+
110113
alertTick.stop();
111114
blinkTimer.stop();
112115
blinking = false;
@@ -154,6 +157,9 @@ void alertwidget::blink()
154157

155158
void alertwidget::stopBlinking()
156159
{
160+
if (blinkTimer.isActive())
161+
emit blinkInfo("Alarms",false);
162+
157163
alertTick.stop();
158164
blinkTimer.stop();
159165
blinking = false;
@@ -170,13 +176,16 @@ void alertwidget::stopBlinking()
170176

171177
void alertwidget::closeAlarm()
172178
{
179+
if (blinkTimer.isActive())
180+
emit blinkInfo("Alarms",false);
181+
173182
alertTick.stop();
174183
blinkTimer.stop();
175184
player->stop();
176185

177186

178187
emit del(this);
179-
emit blinkInfo("Alarms",false);
188+
180189

181190
this->close();
182191
}
@@ -220,7 +229,7 @@ void alertwidget::setAlarm(int msecs, const QString & _name)
220229

221230
void alertwidget::mousePressEvent(QMouseEvent *e)
222231
{
223-
if (e->button() == Qt::RightButton)
232+
if (e->button() == Qt::RightButton && !blinkTimer.isActive())
224233
{
225234
player->stop();
226235
ShowContextMenu(e->pos());

SmartTimer/main.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ int main(int argc, char *argv[])
88

99
MainWindow w;
1010

11+
1112
w.show();
1213

1314
return QApplication::exec();

SmartTimer/mainwindow.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ MainWindow::MainWindow(QWidget *parent) :
1515
QMainWindow(parent),
1616
ui(new Ui::MainWindow)
1717
{
18+
1819
ui->setupUi(this);
1920

2021

@@ -29,12 +30,14 @@ MainWindow::MainWindow(QWidget *parent) :
2930
logger = new smartTimerLog(this);
3031
alarmsBlinkTimer = new QTimer(this);
3132
timersBlinkTimer = new QTimer(this);
33+
Settings = GlobalSettings(1.0,"HH:mm","HH:mm:ss");
3234

3335
connect(ui->addTimerButton,SIGNAL(clicked()),this,SLOT(addTimer()));
3436
connect(ui->addAlarmButton,SIGNAL(clicked()),this,SLOT(addAlarm()));
3537

3638
connect(logger, SIGNAL(createTimer(int,QString)), this, SLOT(onTimeRecieved(int,QString)));
3739
connect(logger, SIGNAL(createAlarm(int,QString,bool)), this, SLOT(onAlarmTimeRecieved(int,QString,bool)));
40+
connect(logger, SIGNAL(createSettings(GlobalSettings)), this, SLOT(onSettingsRecieved(GlobalSettings)));
3841

3942

4043
connect(alarmsBlinkTimer,SIGNAL(timeout()),this,SLOT(alarmsTabBlink()));
@@ -55,11 +58,13 @@ MainWindow::MainWindow(QWidget *parent) :
5558
ui->alarmScroll->setWidget(alarmScrollWidget);
5659

5760
logger->runLogger();
61+
62+
this->setWindowOpacity(Settings.windowOpacity);
5863
}
5964

6065
MainWindow::~MainWindow()
6166
{
62-
emit del(this->timersList, this->alarmsList);
67+
emit del(this->timersList, this->alarmsList, this->Settings);
6368

6469
delete ui;
6570
}
@@ -134,10 +139,16 @@ void MainWindow::onAlarmTimeRecieved(int msecs, const QString& _name, bool turne
134139
alarmsList.append(newAlarm);
135140
}
136141

142+
void MainWindow::onSettingsRecieved(GlobalSettings settings)
143+
{
144+
Settings = settings;
145+
}
146+
137147
void MainWindow::tabBlinking(QString tabName, bool enable)
138148
{
139149
if (enable)
140150
{
151+
this->showMaximized();
141152
if (tabName=="Timers")
142153
{
143154
blinkingTimers++;

SmartTimer/mainwindow.h

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
#ifndef MAINWINDOW_H
2-
#define MAINWINDOW_H
1+
#pragma once
32

43
#include "smarttimerlog.h"
54
#include "timerwidget.h"
65
#include "alertwidget.h"
6+
#include "widgetsettings.h"
77

88
#include <QMainWindow>
99
#include <QSettings>
@@ -20,6 +20,17 @@ class MainWindow : public QMainWindow
2020
explicit MainWindow(QWidget *parent = nullptr);
2121
~MainWindow();
2222

23+
GlobalSettings getSettings() {return Settings; }
24+
25+
double getOpacity() { return Settings.windowOpacity; }
26+
QString getAlarmFormat() {return Settings.alarmTimeFormat; }
27+
QString getTimerFormat() {return Settings.timerTimeFormat; }
28+
29+
void setSettings(GlobalSettings val) { Settings = val; this->update(); }
30+
31+
void setOpacity(double val) { Settings.windowOpacity = val; this->update();}
32+
void setAlarmFormat(QString val) {Settings.alarmTimeFormat = val; this->update();}
33+
void setTimerFormat(QString val) {Settings.timerTimeFormat = val; this->update();}
2334

2435
public slots:
2536
void addTimer();
@@ -29,13 +40,14 @@ public slots:
2940
void remove(const alertwidget* awidget);
3041
void onTimerFinished();
3142
void onAlarmTimeRecieved(int msecs, const QString& _name, bool turnedOn);
43+
void onSettingsRecieved(GlobalSettings settings);
3244

3345
void tabBlinking(QString tabName, bool enable);
3446
void alarmsTabBlink();
3547
void timersTabBlink();
3648

3749
signals:
38-
void del(QList<TimerWidget*> timers,QList<alertwidget*> alarms);
50+
void del(QList<TimerWidget*> timers,QList<alertwidget*> alarms,GlobalSettings);
3951
private:
4052
Ui::MainWindow *ui;
4153

@@ -59,6 +71,7 @@ public slots:
5971
QTimer *alarmsBlinkTimer;
6072
QTimer *timersBlinkTimer;
6173

74+
GlobalSettings Settings;
75+
6276
};
6377

64-
#endif // MAINWINDOW_H

SmartTimer/mainwindow.ui

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@
223223
</size>
224224
</property>
225225
<property name="text">
226-
<string>Add new Alarm</string>
226+
<string>Add new Timer</string>
227227
</property>
228228
</widget>
229229
</item>

SmartTimer/save.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

SmartTimer/saves/save.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

SmartTimer/smarttimerlog.cpp

Lines changed: 41 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "smarttimerlog.h"
22
#include "timerwidget.h"
33
#include "widgetsettings.h"
4+
#include "widgetsettings.h"
45

56
#include <iostream>
67
#include <fstream>
@@ -11,10 +12,10 @@
1112

1213
#include <QJsonDocument>
1314

14-
smartTimerLog::smartTimerLog(QObject *parent) : QObject(parent)
15+
smartTimerLog::smartTimerLog(QObject *parent) : par(parent)
1516
{
1617
this->par = parent;
17-
connect(par, SIGNAL(del(QList<TimerWidget*>,QList<alertwidget*>)), this, SLOT(saveLog(QList<TimerWidget*>,QList<alertwidget*>)));
18+
connect(par, SIGNAL(del(QList<TimerWidget*>,QList<alertwidget*>, GlobalSettings)), this, SLOT(saveLog(QList<TimerWidget*>,QList<alertwidget*>,GlobalSettings)));
1819

1920
}
2021

@@ -27,6 +28,8 @@ void smartTimerLog::runLogger()
2728
int boolTmp;
2829

2930
QFile logFile("save.txt");
31+
if (!logFile.exists())
32+
return;
3033
if (!logFile.open(QIODevice::ReadOnly))
3134
{
3235
// std::cerr << "Can't open log file." << std::endl;
@@ -50,13 +53,16 @@ void smartTimerLog::runLogger()
5053

5154
// alarm part
5255
QFile logFile2("saveA.txt");
56+
if (!logFile2.exists())
57+
return;
5358
if (!logFile2.open(QIODevice::ReadOnly))
5459
{
5560
// std::cerr << "Can't open log file." << std::endl;
5661
return;
5762
}
5863

5964
QTextStream stream2( &logFile2 );
65+
6066
while(!stream2.atEnd())
6167
{
6268
stream2 >> tim >> str >> boolTmp;
@@ -70,21 +76,29 @@ void smartTimerLog::runLogger()
7076

7177
logFile2.close();
7278

79+
// global settings
7380

81+
QFile logFile3("saveSettings.txt");
82+
if (!logFile3.exists())
83+
return;
84+
if (!logFile3.open(QIODevice::ReadOnly))
85+
{
86+
// std::cerr << "Can't open log file." << std::endl;
87+
return;
88+
}
7489

75-
QString alarms = "alarms.json";
76-
77-
78-
79-
80-
81-
82-
90+
QTextStream stream3( &logFile3 );
91+
double opacity;
92+
QString alarmFormat;
93+
QString timerFormat;
94+
stream3 >> opacity >> alarmFormat >> timerFormat;
95+
emit createSettings(GlobalSettings(opacity,alarmFormat,timerFormat));
8396

8497

98+
logFile3.close();
8599
}
86100

87-
void smartTimerLog::saveLog(QList<TimerWidget*> timers, QList<alertwidget*> alarms)
101+
void smartTimerLog::saveLog(QList<TimerWidget*> timers, QList<alertwidget*> alarms, GlobalSettings settings)
88102
{
89103

90104
int tim;
@@ -131,14 +145,25 @@ void smartTimerLog::saveLog(QList<TimerWidget*> timers, QList<alertwidget*> alar
131145
}
132146

133147
logFile2.close();
134-
}
135148

136-
// TODO: validator
137-
bool smartTimerLog::validateLog()
138-
{
139-
return true;
149+
150+
// Global settings
151+
QFile logFile3("saveSettings.txt");
152+
if (!logFile3.open(QIODevice::WriteOnly))
153+
{
154+
std::cerr << "Log file can't be created.";
155+
}
156+
157+
QTextStream stream3( &logFile3 );
158+
159+
stream3 << settings.windowOpacity << "\n";
160+
stream3 << toLoadFormat(settings.alarmTimeFormat) << "\n";
161+
stream3 << toLoadFormat(settings.timerTimeFormat) << "\n";
162+
163+
logFile3.close();
140164
}
141165

166+
142167
QString smartTimerLog::toLoadFormat(const QString &str)
143168
{
144169
if (str == "&")

SmartTimer/smarttimerlog.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
#ifndef SMARTTIMERLOG_H
2-
#define SMARTTIMERLOG_H
1+
#pragma once
32

43
#include "timerwidget.h"
54
#include "alertwidget.h"
65
#include "widgetsettings.h"
76

7+
88
#include <QObject>
99
#include <QString>
1010
#include <QFile>
@@ -19,17 +19,17 @@ class smartTimerLog : public QObject
1919
signals:
2020
void createTimer(int duration, const QString& timerName);
2121
void createAlarm(int msecs, const QString &alarmName, bool turnedOn);
22+
void createSettings(GlobalSettings settings);
2223
public slots:
23-
void saveLog(QList<TimerWidget*> timers, QList<alertwidget*> alarms);
24+
void saveLog(QList<TimerWidget*> timers, QList<alertwidget*> alarms, GlobalSettings settings);
2425

2526
private:
2627

2728
QObject* par;
2829

29-
bool validateLog();
3030
QString toLoadFormat(const QString& str);
3131
QString toSaveFormat(const QString& str);
3232

3333
};
3434

35-
#endif // SMARTTIMERLOG_H
35+

SmartTimer/widgetsettings.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,15 @@ class WidgetSettings
2323

2424
};
2525

26+
struct GlobalSettings
27+
{
28+
public:
29+
GlobalSettings(double opacity=1.0 ,QString alarmFormat="HH:mm" ,QString timerFormat="HH:mm:ss"):
30+
windowOpacity(opacity), alarmTimeFormat(alarmFormat), timerTimeFormat(timerFormat) {}
31+
32+
double windowOpacity=1.0;
33+
QString alarmTimeFormat = "HH:mm";
34+
QString timerTimeFormat = "HH:mm:ss";
35+
};
36+
2637
#endif // WIDGETSETTINGS_H

0 commit comments

Comments
 (0)