
| Revision | e3a845c5d63f23707e64906a2d5b65f124ac38b8 (tree) |
|---|---|
| Time | 2013-01-31 00:49:32 |
| Author | alucky4416 <alucky4416@user...> |
| Commiter | alucky4416 |
feature: add display lapsed time, logfile name.
| @@ -21,6 +21,8 @@ DAQThread::DAQThread(QObject *parent) : | ||
| 21 | 21 | this, SLOT(slotLogStarted())); |
| 22 | 22 | connect(logTh, SIGNAL(LogEnded(int)), |
| 23 | 23 | this, SLOT(slotLogEnded(int))); |
| 24 | + connect(logTh, SIGNAL(ChangeLogFilename(QString)), | |
| 25 | + this, SIGNAL(ChangeLogFilename(QString))); | |
| 24 | 26 | |
| 25 | 27 | // logTh start |
| 26 | 28 | logTh->start(); |
| @@ -18,6 +18,7 @@ signals: | ||
| 18 | 18 | void LogStart(QString logfolderpath); |
| 19 | 19 | void LogStop(); |
| 20 | 20 | void GetData(QDateTime timestamp, double tmpr, double humid); |
| 21 | + void ChangeLogFilename(QString filename); | |
| 21 | 22 | void LogStarted(); |
| 22 | 23 | void LogEnded(int status); // status 0 is success, !0 is Fail |
| 23 | 24 |
| @@ -92,6 +92,7 @@ void LogThread::run() | ||
| 92 | 92 | } |
| 93 | 93 | prev_Day = today.date().day(); |
| 94 | 94 | emit LogStarted(); |
| 95 | + emit ChangeLogFilename(logfilepath); | |
| 95 | 96 | } else { |
| 96 | 97 | emit LogEnded(1); |
| 97 | 98 | qDebug() << "open error"; |
| @@ -126,6 +127,7 @@ void LogThread::run() | ||
| 126 | 127 | out << "timestamp, tempr(C), humid(%)" << endl; // append header |
| 127 | 128 | } |
| 128 | 129 | prev_Day = timestamp.date().day(); |
| 130 | + emit ChangeLogFilename(logfilepath); | |
| 129 | 131 | } |
| 130 | 132 | } |
| 131 | 133 | // qDebug() << "timestamp: " << timestamp.toString("yyyy/MM/dd hh:mm:ss") << "," << "tmpr = " << event.tmpr << ", humid = " << event.humid; |
| @@ -26,6 +26,7 @@ public: | ||
| 26 | 26 | signals: |
| 27 | 27 | void LogStarted(); |
| 28 | 28 | void LogEnded(int status); // status 0 is success, !0 is Fail |
| 29 | + void ChangeLogFilename(QString filename); | |
| 29 | 30 | |
| 30 | 31 | public slots: |
| 31 | 32 | void slotLogStart(QString logfolderpath); |
| @@ -26,6 +26,10 @@ MainWindow::MainWindow(QWidget *parent) : | ||
| 26 | 26 | ui->lcdTempr->display(0.0); |
| 27 | 27 | ui->lcdHumid->display(0.0); |
| 28 | 28 | |
| 29 | + ui->label_LogLapsedTime->setText(""); // "Lapsed Time: " | |
| 30 | +// ui->label_LogLapsedTime->hide(); // hidden label_LogLapsedTime | |
| 31 | + | |
| 32 | + | |
| 29 | 33 | logging = false; |
| 30 | 34 | |
| 31 | 35 | tmpr_max = -1000.0; |
| @@ -46,6 +50,8 @@ MainWindow::MainWindow(QWidget *parent) : | ||
| 46 | 50 | this, SLOT(slotLogEnded(int))); |
| 47 | 51 | connect(daqTh, SIGNAL(GetData(QDateTime, double, double)), |
| 48 | 52 | this, SLOT(slotGetData(QDateTime, double, double))); |
| 53 | + connect(daqTh, SIGNAL(ChangeLogFilename(QString)), | |
| 54 | + this, SLOT(slotChangeLogFilename(QString))); | |
| 49 | 55 | // DaqTh start |
| 50 | 56 | daqTh->start(); |
| 51 | 57 |
| @@ -91,6 +97,23 @@ void MainWindow::slotGetData(QDateTime timestamp, double tmpr, double humid) | ||
| 91 | 97 | } |
| 92 | 98 | ui->label_Max->setText(QString("Max: %1 'C at ").arg(tmpr_max) + time_max.toString("yyyy/MM/dd hh:mm:ss")); |
| 93 | 99 | ui->label_Min->setText(QString("Min: %1 'C at ").arg(tmpr_min) + time_min.toString("yyyy/MM/dd hh:mm:ss")); |
| 100 | + | |
| 101 | + if (logging) { | |
| 102 | + int lapsed_time = (QDateTime::currentMSecsSinceEpoch() - logstart_time.toMSecsSinceEpoch()) / 1000; | |
| 103 | + if (lapsed_time < 60) { // 1 minute | |
| 104 | + ui->label_LogLapsedTime->setText(QString("Lapsed Time: %1 sec").arg(lapsed_time)); | |
| 105 | + } else if (lapsed_time < 3600) { // 1 hour | |
| 106 | + ui->label_LogLapsedTime->setText(QString("Lapsed Time: %1 min").arg(lapsed_time/60)); | |
| 107 | + } else if (lapsed_time < 86400) { // 1 day | |
| 108 | + ui->label_LogLapsedTime->setText(QString("Lapsed Time: %1 hour").arg(lapsed_time/3600)); | |
| 109 | + } else { // over 1 day | |
| 110 | + ui->label_LogLapsedTime->setText(QString("Lapsed Time: %1 day").arg(lapsed_time/86400)); | |
| 111 | + } | |
| 112 | + } | |
| 113 | +} | |
| 114 | +void MainWindow::slotChangeLogFilename(QString filename) | |
| 115 | +{ | |
| 116 | + ui->statusBar->showMessage(QString("logfile: %1").arg(filename)); | |
| 94 | 117 | } |
| 95 | 118 | |
| 96 | 119 | void MainWindow::slotLogStarted() |
| @@ -122,7 +145,7 @@ void MainWindow::on_pushButton_LogStart_clicked() | ||
| 122 | 145 | logging = false; |
| 123 | 146 | ui->pushButton_LogStart->setText("Log Start"); |
| 124 | 147 | ui->label_LogState->setText("LogEnded: " + QDateTime::currentDateTime().toString("yyyy/MM/dd hh:mm:ss")); |
| 125 | - | |
| 148 | + ui->label_LogLapsedTime->setText(""); | |
| 126 | 149 | } else { |
| 127 | 150 | // now idle.. |
| 128 | 151 | LogStartDialog *dlg = new LogStartDialog(logpath, this); |
| @@ -134,7 +157,8 @@ void MainWindow::on_pushButton_LogStart_clicked() | ||
| 134 | 157 | |
| 135 | 158 | logging = true; |
| 136 | 159 | ui->pushButton_LogStart->setText("Log Stop"); |
| 137 | - ui->label_LogState->setText("LogStarted: " + QDateTime::currentDateTime().toString("yyyy/MM/dd hh:mm:ss")); | |
| 160 | + logstart_time = QDateTime::currentDateTime(); | |
| 161 | + ui->label_LogState->setText("LogStarted: " + logstart_time.toString("yyyy/MM/dd hh:mm:ss")); | |
| 138 | 162 | |
| 139 | 163 | // reset Max/Min |
| 140 | 164 | tmpr_max = -1000.0; |
| @@ -24,6 +24,7 @@ signals: | ||
| 24 | 24 | |
| 25 | 25 | private slots: |
| 26 | 26 | void slotGetData(QDateTime, double, double); |
| 27 | + void slotChangeLogFilename(QString); | |
| 27 | 28 | void slotLogStarted(); |
| 28 | 29 | void slotLogEnded(int status); |
| 29 | 30 |
| @@ -49,6 +50,8 @@ private: | ||
| 49 | 50 | double tmpr_min; |
| 50 | 51 | QDateTime time_max; |
| 51 | 52 | QDateTime time_min; |
| 53 | + | |
| 54 | + QDateTime logstart_time; // for lapsed time | |
| 52 | 55 | }; |
| 53 | 56 | |
| 54 | 57 | #endif // MAINWINDOW_H |
| @@ -138,9 +138,9 @@ | ||
| 138 | 138 | <property name="geometry"> |
| 139 | 139 | <rect> |
| 140 | 140 | <x>50</x> |
| 141 | - <y>220</y> | |
| 141 | + <y>230</y> | |
| 142 | 142 | <width>161</width> |
| 143 | - <height>41</height> | |
| 143 | + <height>61</height> | |
| 144 | 144 | </rect> |
| 145 | 145 | </property> |
| 146 | 146 | <property name="font"> |
| @@ -198,7 +198,7 @@ | ||
| 198 | 198 | <property name="geometry"> |
| 199 | 199 | <rect> |
| 200 | 200 | <x>230</x> |
| 201 | - <y>230</y> | |
| 201 | + <y>220</y> | |
| 202 | 202 | <width>381</width> |
| 203 | 203 | <height>31</height> |
| 204 | 204 | </rect> |
| @@ -215,6 +215,27 @@ | ||
| 215 | 215 | <string>Idle...</string> |
| 216 | 216 | </property> |
| 217 | 217 | </widget> |
| 218 | + <widget class="QLabel" name="label_LogLapsedTime"> | |
| 219 | + <property name="geometry"> | |
| 220 | + <rect> | |
| 221 | + <x>230</x> | |
| 222 | + <y>260</y> | |
| 223 | + <width>381</width> | |
| 224 | + <height>31</height> | |
| 225 | + </rect> | |
| 226 | + </property> | |
| 227 | + <property name="font"> | |
| 228 | + <font> | |
| 229 | + <pointsize>12</pointsize> | |
| 230 | + </font> | |
| 231 | + </property> | |
| 232 | + <property name="frameShape"> | |
| 233 | + <enum>QFrame::StyledPanel</enum> | |
| 234 | + </property> | |
| 235 | + <property name="text"> | |
| 236 | + <string>Lapsed time: </string> | |
| 237 | + </property> | |
| 238 | + </widget> | |
| 218 | 239 | </widget> |
| 219 | 240 | <widget class="QMenuBar" name="menuBar"> |
| 220 | 241 | <property name="geometry"> |