gestionale/argento/status.cpp

51 lines
1.8 KiB
C++
Raw Permalink Normal View History

2019-08-06 13:33:11 +00:00
#include "status.h"
namespace Ui {
void status(StatusType type, QString message) {
2020-09-19 23:18:10 +00:00
//QStatusBar* statusBar = mw->statusBar();
2019-08-06 13:33:11 +00:00
QString prefix;
int timeout = 0;
/* choose background color */
if (statusBar != nullptr) {
switch (type) {
2020-09-20 10:12:24 +00:00
case INFO: /* statusBar->setStyleSheet("color: #007;"); */ break;
2019-08-06 13:33:11 +00:00
case SUCCESS: statusBar->setStyleSheet("color: #0a0;"); break;
case WARNING: statusBar->setStyleSheet("color: #f50;"); break;
case ERROR: statusBar->setStyleSheet("color: #d00;"); break;
default: statusBar->setStyleSheet("color: #555;"); break;
}
}
/* choose stderr prefix */
switch(type) {
case INFO: prefix = "[II]"; break;
case SUCCESS: prefix = "[OK]"; break;
case WARNING: prefix = "[WW]"; break;
case ERROR: prefix = "[EE]"; break;
default: prefix = "[??]"; break;
}
/* choose timeout */
switch (type) {
case INFO: case SUCCESS: timeout = 10000; break;
case WARNING: case ERROR: timeout = 0; break;
default: timeout = 0; break;
}
/* print on stderr */
switch (type) {
case INFO: case SUCCESS: qDebug().noquote() << prefix << message; break;
case WARNING: qWarning().noquote() << prefix << message; break;
case ERROR: qCritical().noquote() << prefix << message; break;
default: qWarning().noquote() << prefix << message; break;
}
/* show message in GUI */
if (statusBar != nullptr) {
statusBar->showMessage(message, timeout);
2019-08-07 10:23:03 +00:00
statusBar->repaint();
2020-09-20 10:12:24 +00:00
} else {
qDebug() << "[WW] status bar not ready";
2019-08-06 13:33:11 +00:00
}
}
}