Compare commits
22 Commits
81c5f8ee7e
...
v1.3.14
Author | SHA1 | Date | |
---|---|---|---|
4b3a39b0e6 | |||
a44b780d93 | |||
19dfae9b56 | |||
bef0d4fe12 | |||
72a2fc781c | |||
fc264689b1 | |||
fc587456d5 | |||
a2b933ab71 | |||
7d0fdf4d6d | |||
c2ce44c79b | |||
16a9556863 | |||
48896f97ec | |||
4486317cb2 | |||
6b9b88ea19 | |||
99a99d95a1 | |||
d4ddbbee21 | |||
34e5189945 | |||
c44c805238 | |||
196f1a730e | |||
7dc04c4422 | |||
5efac2619b | |||
9b0f741b9b |
@@ -41,9 +41,36 @@ DEFINES += QT_DEPRECATED_WARNINGS
|
|||||||
# up cloning of customer repository.
|
# up cloning of customer repository.
|
||||||
# 1.3.13: Fix: if the customer repository is corrupted, remove it and re-clone
|
# 1.3.13: Fix: if the customer repository is corrupted, remove it and re-clone
|
||||||
# the repository (without checking the ISMAS-trigger (WAIT-)button.
|
# the repository (without checking the ISMAS-trigger (WAIT-)button.
|
||||||
|
VERSION="1.3.14"
|
||||||
# 1.3.14: Add additional check for sanity of customer repository using
|
# 1.3.14: Add additional check for sanity of customer repository using
|
||||||
# "git fsck".
|
# "git fsck".
|
||||||
# Stream-lined code of update process.
|
# Stream-lined code of update process: massive refactoring.
|
||||||
|
# Added functionality: If WAIT button is not active, then an existing
|
||||||
|
# customer repository will be repaired, or a not existing repository
|
||||||
|
# will be cloned. The process stops then.
|
||||||
|
# However, if the WAIT button is active, the at least the commands in
|
||||||
|
# opkg_commands will be executed. Changed files in the customer
|
||||||
|
# repository will be worked on: tariff-files will be synced with the
|
||||||
|
# local filesystem, json-files will be downloaded to firmware.
|
||||||
|
# The device-controller firmware will be handled in a later version.
|
||||||
|
|
||||||
|
# PLANNED TODOS:
|
||||||
|
# 1: Das Repository wird repariert bwz. neu geklont. Unabhaengig vom WAIT.
|
||||||
|
# 2: Wenn der WAIT-Button aktiv ist, dann wird ein Repository repariert (neu
|
||||||
|
# geklont), aber zusaetzlich werden alle verfuegbaren Dateien als neu
|
||||||
|
# angesehen und die entsprechenden Aktionen durchgefuehrt: tariff-files
|
||||||
|
# spiegeln, json-files laden und dc laden. Also VORSICHT: das repository
|
||||||
|
# muss in diesem fall wirklich in ordnung sein.
|
||||||
|
# 3: Wurde keine Datei geaendert, kein initiales Clone und der WAIT-button
|
||||||
|
# nicht aktiv, so (passiert natuerlich nichts) kann man davon ausgehen,
|
||||||
|
# dass es sich um ein automatisches Update handelt. Dann koennte man im
|
||||||
|
# ISMAS eine entsprechende Meldung anzeigen als Teil von SEND-LAST-VERSION.
|
||||||
|
# Wenn der WAIT-button aktiv ist, dann werden zumindest die opkg-commands
|
||||||
|
# ausgefuehrt.
|
||||||
|
# 4: rsync: immer alle Dateien soiegeln (bis auf opkg-commands)
|
||||||
|
# 5: Falls das Tool mal abstuerzt, dann einen Signal-Handler (fuer TERM)
|
||||||
|
# installieren, sodass zumnidest SEND-LASt-VERSION mit rausgeht.
|
||||||
|
# 6: rsync: explizites Binary, nicht das in busybox enthaltene.
|
||||||
|
|
||||||
win32 {
|
win32 {
|
||||||
BUILD_DATE=$$system("date /t")
|
BUILD_DATE=$$system("date /t")
|
||||||
@@ -55,7 +82,6 @@ win32 {
|
|||||||
|
|
||||||
GIT_COMMIT=$$system("git log -1 --format=oneline | cut -d' ' -f1")
|
GIT_COMMIT=$$system("git log -1 --format=oneline | cut -d' ' -f1")
|
||||||
|
|
||||||
VERSION="1.3.11"
|
|
||||||
EXTENDED_VERSION="$${VERSION}-$${GIT_COMMIT}"
|
EXTENDED_VERSION="$${VERSION}-$${GIT_COMMIT}"
|
||||||
|
|
||||||
INCLUDEPATH += plugins
|
INCLUDEPATH += plugins
|
||||||
@@ -68,6 +94,8 @@ DEFINES+=APP_BUILD_DATE=\\\"$$BUILD_DATE\\\"
|
|||||||
DEFINES+=APP_BUILD_TIME=\\\"$$BUILD_TIME\\\"
|
DEFINES+=APP_BUILD_TIME=\\\"$$BUILD_TIME\\\"
|
||||||
DEFINES+=APP_EXTENDED_VERSION=\\\"$$EXTENDED_VERSION\\\"
|
DEFINES+=APP_EXTENDED_VERSION=\\\"$$EXTENDED_VERSION\\\"
|
||||||
|
|
||||||
|
# keep comments, as /* fall through */
|
||||||
|
QMAKE_CXXFLAGS += -C
|
||||||
QMAKE_CXXFLAGS += -g
|
QMAKE_CXXFLAGS += -g
|
||||||
QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||||
|
|
||||||
@@ -76,14 +104,14 @@ contains( CONFIG, PTU5 ) {
|
|||||||
CONFIG += link_pkgconfig
|
CONFIG += link_pkgconfig
|
||||||
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
||||||
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
||||||
QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||||
ARCH = PTU5
|
ARCH = PTU5
|
||||||
DEFINES+=PTU5
|
DEFINES+=PTU5
|
||||||
}
|
}
|
||||||
contains( CONFIG, PTU5_YOCTO ) {
|
contains( CONFIG, PTU5_YOCTO ) {
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport
|
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport
|
||||||
QMAKE_CXXFLAGS += -std=c++17 # for GCC >= 4.7
|
QMAKE_CXXFLAGS += -std=c++17 # for GCC >= 4.7
|
||||||
QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||||
PTU5BASEPATH = /opt/devel/ptu5
|
PTU5BASEPATH = /opt/devel/ptu5
|
||||||
ARCH = PTU5
|
ARCH = PTU5
|
||||||
DEFINES+=PTU5
|
DEFINES+=PTU5
|
||||||
@@ -97,7 +125,7 @@ contains( CONFIG, DesktopLinux ) {
|
|||||||
# QMAKE_CC = ccache $$QMAKE_CC
|
# QMAKE_CC = ccache $$QMAKE_CC
|
||||||
# QMAKE_CXX = ccache $$QMAKE_CXX
|
# QMAKE_CXX = ccache $$QMAKE_CXX
|
||||||
QMAKE_CXXFLAGS += -std=c++17
|
QMAKE_CXXFLAGS += -std=c++17
|
||||||
QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||||
linux-clang { QMAKE_CXXFLAGS += -Qunused-arguments }
|
linux-clang { QMAKE_CXXFLAGS += -Qunused-arguments }
|
||||||
ARCH = DesktopLinux
|
ARCH = DesktopLinux
|
||||||
DEFINES+=DesktopLinux
|
DEFINES+=DesktopLinux
|
||||||
|
@@ -302,55 +302,61 @@ std::optional<QString> GitClient::gitPull() {
|
|||||||
QString const s = c.getCommandResult().trimmed();
|
QString const s = c.getCommandResult().trimmed();
|
||||||
if (!s.isEmpty()) {
|
if (!s.isEmpty()) {
|
||||||
QStringList lines = Update::split(s, '\n');
|
QStringList lines = Update::split(s, '\n');
|
||||||
|
worker()->CONSOLE(lines) << Worker::UPDATE_STEP::UPDATE_REPOSITORY;
|
||||||
if (!lines.empty()) {
|
if (!lines.empty()) {
|
||||||
int zoneNr = Utils::read1stLineOfFile("/mnt/system_data/zone_nr");
|
static const QRegularExpression alreadyUpToDate("^\\s*Already\\s+up\\s+to\\s+date.*$");
|
||||||
m_branchName = (zoneNr != 0) ? QString("zg1/zone%1").arg(zoneNr) : "master";
|
if (std::none_of(lines.cbegin(), lines.cend(),
|
||||||
// lines can look like this:
|
[](QString const &s) { return s.contains(alreadyUpToDate); })) {
|
||||||
// From https://git.mimbach49.de/GerhardHoffmann/customer_281
|
int zoneNr = Utils::read1stLineOfFile("/mnt/system_data/zone_nr");
|
||||||
// 41ec581..5d25ac3 master -> origin/master
|
m_branchName = (zoneNr != 0) ? QString("zg1/zone%1").arg(zoneNr) : "master";
|
||||||
// ff10f57..43530a1 zg1/zone1 -> origin/zg1/zone1
|
// lines can look like this:
|
||||||
// 6ed893f..5d9882c zg1/zone2 -> origin/zg1/zone2
|
// From https://git.mimbach49.de/GerhardHoffmann/customer_281
|
||||||
// 4384d17..77045d8 zg1/zone3 -> origin/zg1/zone3
|
// 41ec581..5d25ac3 master -> origin/master
|
||||||
// 89d2812..36a0d74 zg1/zone5 -> origin/zg1/zone5
|
// ff10f57..43530a1 zg1/zone1 -> origin/zg1/zone1
|
||||||
bool found = false;
|
// 6ed893f..5d9882c zg1/zone2 -> origin/zg1/zone2
|
||||||
for (int i=0; i < lines.size(); ++i) {
|
// 4384d17..77045d8 zg1/zone3 -> origin/zg1/zone3
|
||||||
if (lines.at(i).contains(m_branchName)) {
|
// 89d2812..36a0d74 zg1/zone5 -> origin/zg1/zone5
|
||||||
found = true;
|
bool found = false;
|
||||||
// 409f198..6c22726 zg1/zone1 -> origin/zg1/zone1
|
for (int i=0; i < lines.size(); ++i) {
|
||||||
static QRegularExpression re("(^\\s*)([0-9A-Fa-f]+..[0-9A-Fa-f]+)(.*$)");
|
if (lines.at(i).contains(m_branchName)) {
|
||||||
QRegularExpressionMatch match = re.match(lines.at(i));
|
found = true;
|
||||||
if (match.hasMatch()) {
|
// 409f198..6c22726 zg1/zone1 -> origin/zg1/zone1
|
||||||
if (re.captureCount() == 3) { // start with full match (0), then the other 3 matches
|
static QRegularExpression re("(^\\s*)([0-9A-Fa-f]+..[0-9A-Fa-f]+)(.*$)");
|
||||||
return match.captured(2);
|
QRegularExpressionMatch match = re.match(lines.at(i));
|
||||||
|
if (match.hasMatch()) {
|
||||||
|
if (re.captureCount() == 3) { // start with full match (0), then the other 3 matches
|
||||||
|
QString const matchCaptured = match.captured(2);
|
||||||
|
worker()->CONSOLE(QStringList(matchCaptured)) << Worker::UPDATE_STEP::UPDATE_REPOSITORY;
|
||||||
|
return matchCaptured;
|
||||||
|
} else {
|
||||||
|
QStringList lst(QString("(wrong capture count (%1)").arg(re.captureCount()));
|
||||||
|
worker()->GUI(lst) << (worker()->CONSOLE(lst) << Worker::UPDATE_STEP::UPDATE_REPOSITORY_FAILURE);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
emit m_worker->showErrorMessage("git pull",
|
QStringList lst("no regex-match for commits");
|
||||||
QString("(wrong cap-count (%1)").arg(re.captureCount()));
|
worker()->GUI(lst) << (worker()->CONSOLE(lst) << Worker::UPDATE_STEP::UPDATE_REPOSITORY_FAILURE);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
emit m_worker->showErrorMessage("git pull",
|
|
||||||
"no regex-match for commits");
|
|
||||||
Utils::printCriticalErrorMsg("NO REGEX MATCH FOR COMMITS");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if (!found) {
|
||||||
if (!found) {
|
QStringList lst(QString("unknown branch name ") + m_branchName);
|
||||||
emit m_worker->showErrorMessage("git pull",
|
worker()->GUI(lst) << (worker()->CONSOLE(lst) << Worker::UPDATE_STEP::UPDATE_REPOSITORY_FAILURE);
|
||||||
QString("unkown branch name ") + m_branchName);
|
}
|
||||||
Utils::printCriticalErrorMsg("UNKNOWN BRANCH NAME " + m_branchName);
|
} else {
|
||||||
|
return "Already up to date";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
emit m_worker->showErrorMessage("git pull",
|
QStringList lst(QString("WRONG FORMAT FOR RESULT OF 'GIT PULL' ") + s);
|
||||||
QString("wrong format for result of 'git pull' ") + s);
|
worker()->GUI(lst) << (worker()->CONSOLE(lst) << Worker::UPDATE_STEP::UPDATE_REPOSITORY_FAILURE);
|
||||||
Utils::printCriticalErrorMsg(QString("WRONG FORMAT FOR RESULT OF 'GIT FETCH' ") + s);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// emit m_worker->showErrorMessage("git fetch", "empty result for 'git fetch'");
|
QStringList lst("EMPTY RESULT FOR 'GIT PULL'");
|
||||||
Utils::printInfoMsg("EMPTY RESULT FOR 'GIT PULL'");
|
worker()->GUI(lst) << (worker()->CONSOLE(lst) << Worker::UPDATE_STEP::UPDATE_REPOSITORY_FAILURE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
emit m_worker->showErrorMessage("git pull", QString("repository ") + m_customerRepository + " does not exist");
|
QStringList lst(QString("REPOSITORY ") + m_customerRepository + " DOES NOT EXIST");
|
||||||
Utils::printCriticalErrorMsg(QString("REPOSITORY ") + m_customerRepository + " DOES NOT EXIST");
|
worker()->GUI(lst) << (worker()->CONSOLE(lst) << Worker::UPDATE_STEP::UPDATE_REPOSITORY_FAILURE);
|
||||||
}
|
}
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
}
|
}
|
||||||
|
@@ -43,6 +43,9 @@ class GitClient : public QObject {
|
|||||||
|
|
||||||
bool gitCloneAndCheckoutBranch();
|
bool gitCloneAndCheckoutBranch();
|
||||||
|
|
||||||
|
Worker *worker() { return m_worker; }
|
||||||
|
Worker const *worker() const { return m_worker; }
|
||||||
|
|
||||||
std::optional<QString> gitPull();
|
std::optional<QString> gitPull();
|
||||||
std::optional<QStringList> gitDiff(QString const &commit);
|
std::optional<QStringList> gitDiff(QString const &commit);
|
||||||
std::optional<QStringList> gitMerge();
|
std::optional<QStringList> gitMerge();
|
||||||
|
@@ -56,7 +56,7 @@ void IsmasClient::printDebugMessage(int port,
|
|||||||
QString const &clientIP,
|
QString const &clientIP,
|
||||||
int clientPort,
|
int clientPort,
|
||||||
QString const &message) {
|
QString const &message) {
|
||||||
#if 1
|
#if 0
|
||||||
Q_UNUSED(port);
|
Q_UNUSED(port);
|
||||||
Q_UNUSED(clientIP);
|
Q_UNUSED(clientIP);
|
||||||
Q_UNUSED(clientPort);
|
Q_UNUSED(clientPort);
|
||||||
@@ -77,7 +77,7 @@ void IsmasClient::printInfoMessage(int port,
|
|||||||
QString const &clientIP,
|
QString const &clientIP,
|
||||||
int clientPort,
|
int clientPort,
|
||||||
QString const &message) {
|
QString const &message) {
|
||||||
#if 1
|
#if 0
|
||||||
Q_UNUSED(port);
|
Q_UNUSED(port);
|
||||||
Q_UNUSED(clientIP);
|
Q_UNUSED(clientIP);
|
||||||
Q_UNUSED(clientPort);
|
Q_UNUSED(clientPort);
|
||||||
@@ -315,7 +315,7 @@ IsmasClient::sendRequestReceiveResponse(int port, QString const &request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printInfoMessage(port, clientIP, clientPort, QString("MESSAGE RECEIVED ") + buf);
|
// printInfoMessage(port, clientIP, clientPort, QString("MESSAGE RECEIVED ") + buf);
|
||||||
QString response(buf);
|
QString response(buf);
|
||||||
|
|
||||||
if (int idx = response.indexOf("{\"error\":\"ISMAS is offline\"}")) {
|
if (int idx = response.indexOf("{\"error\":\"ISMAS is offline\"}")) {
|
||||||
|
@@ -155,6 +155,8 @@ MainWindow::MainWindow(hwinf *hw, Worker *worker, Update *update, QWidget *paren
|
|||||||
connect(m_worker, SIGNAL(appendText(QString,QString)),this,SLOT(onAppendText(QString,QString)));
|
connect(m_worker, SIGNAL(appendText(QString,QString)),this,SLOT(onAppendText(QString,QString)));
|
||||||
connect(m_worker, SIGNAL(showErrorMessage(QString,QString)),this, SLOT(onShowErrorMessage(QString,QString)));
|
connect(m_worker, SIGNAL(showErrorMessage(QString,QString)),this, SLOT(onShowErrorMessage(QString,QString)));
|
||||||
connect(m_worker, SIGNAL(showStatusMessage(QString,QString)),this, SLOT(onShowStatusMessage(QString,QString)));
|
connect(m_worker, SIGNAL(showStatusMessage(QString,QString)),this, SLOT(onShowStatusMessage(QString,QString)));
|
||||||
|
connect(m_worker, SIGNAL(showErrorMessage(QStringList)),this, SLOT(onShowErrorMessage(QStringList)));
|
||||||
|
connect(m_worker, SIGNAL(showStatusMessage(QString,QString)),this, SLOT(onShowStatusMessage(QString,QString)));
|
||||||
connect(m_worker, SIGNAL(replaceLast(QString,QString)),this,SLOT(onReplaceLast(QString,QString)));
|
connect(m_worker, SIGNAL(replaceLast(QString,QString)),this,SLOT(onReplaceLast(QString,QString)));
|
||||||
connect(m_worker, SIGNAL(replaceLast(QStringList,QString)),this, SLOT(onReplaceLast(QStringList,QString)));
|
connect(m_worker, SIGNAL(replaceLast(QStringList,QString)),this, SLOT(onReplaceLast(QStringList,QString)));
|
||||||
}
|
}
|
||||||
@@ -327,8 +329,18 @@ void MainWindow::onRestartExitTimer() {
|
|||||||
|
|
||||||
void MainWindow::onQuit() {
|
void MainWindow::onQuit() {
|
||||||
m_exitTimer->stop();
|
m_exitTimer->stop();
|
||||||
qCritical() << QString("ON QUIT: EXIT CODE %1").arg(m_worker->returnCode());
|
int errorCode = 0;
|
||||||
qApp->exit(m_worker->returnCode());
|
|
||||||
|
qCritical()
|
||||||
|
<< QString("ON QUIT: CURRENT STEP %1")
|
||||||
|
.arg(m_worker->getSmap()[m_worker->currentStep()]);
|
||||||
|
|
||||||
|
// TODO: replace SEND_LAST_VERSION with UPDATE_SUCCEEDED
|
||||||
|
if (m_worker->currentStep() != Worker::UPDATE_STEP::SEND_LAST_VERSION) {
|
||||||
|
errorCode = -1;
|
||||||
|
}
|
||||||
|
qCritical() << QString("ON QUIT: EXIT CODE %1").arg(errorCode);
|
||||||
|
qApp->exit(errorCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::scrollDownTextEdit() {
|
void MainWindow::scrollDownTextEdit() {
|
||||||
@@ -448,3 +460,21 @@ void MainWindow::onShowErrorMessage(QString title, QString text) {
|
|||||||
void MainWindow::onShowStatusMessage(QString title, QString text) {
|
void MainWindow::onShowStatusMessage(QString title, QString text) {
|
||||||
onShowMessage(title, text);
|
onShowMessage(title, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::onShowErrorMessage(QStringList lst) {
|
||||||
|
if (lst.size() >= 2) {
|
||||||
|
onShowMessage(lst.at(0), lst.at(1));
|
||||||
|
}
|
||||||
|
if (lst.size() == 1) {
|
||||||
|
onShowMessage(lst.at(0), "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::onShowStatusMessage(QStringList lst) {
|
||||||
|
if (lst.size() >= 2) {
|
||||||
|
onShowMessage(lst.at(0), lst.at(1));
|
||||||
|
}
|
||||||
|
if (lst.size() == 1) {
|
||||||
|
onShowMessage(lst.at(0), "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -48,6 +48,8 @@ public slots:
|
|||||||
void onReplaceLast(QString, QString suffix = "");
|
void onReplaceLast(QString, QString suffix = "");
|
||||||
void onShowErrorMessage(QString, QString);
|
void onShowErrorMessage(QString, QString);
|
||||||
void onShowStatusMessage(QString, QString);
|
void onShowStatusMessage(QString, QString);
|
||||||
|
void onShowErrorMessage(QStringList);
|
||||||
|
void onShowStatusMessage(QStringList);
|
||||||
void onStopStartTimer();
|
void onStopStartTimer();
|
||||||
void onRestartExitTimer();
|
void onRestartExitTimer();
|
||||||
void onEnableExit();
|
void onEnableExit();
|
||||||
|
42
utils.cpp
42
utils.cpp
@@ -46,10 +46,12 @@ QString Utils::zoneName(quint8 i) {
|
|||||||
return "N/A";
|
return "N/A";
|
||||||
}
|
}
|
||||||
|
|
||||||
void Utils::printCriticalErrorMsg(QString const &errorMsg) {
|
void Utils::printCriticalErrorMsg(QString const &errorMsg, bool upper, bool lower) {
|
||||||
qCritical() << QString(80, 'E');
|
if (upper) qCritical() << QString(80, 'E');
|
||||||
|
|
||||||
qCritical() << errorMsg;
|
qCritical() << errorMsg;
|
||||||
qCritical() << QString(80, 'E');
|
|
||||||
|
if (lower) qCritical() << QString(80, 'E');
|
||||||
}
|
}
|
||||||
|
|
||||||
void Utils::printCriticalErrorMsg(QStringList const &errorMsg) {
|
void Utils::printCriticalErrorMsg(QStringList const &errorMsg) {
|
||||||
@@ -60,6 +62,14 @@ void Utils::printCriticalErrorMsg(QStringList const &errorMsg) {
|
|||||||
qCritical() << QString(80, 'E');
|
qCritical() << QString(80, 'E');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Utils::printUpdateStatusMsg(QDebug &debug, QStringList const &updateMsg) {
|
||||||
|
debug << QString(80, 'U');
|
||||||
|
for (int i = 0; i < updateMsg.size(); ++i) {
|
||||||
|
debug << updateMsg.at(i);
|
||||||
|
}
|
||||||
|
debug << QString(80, 'U');
|
||||||
|
}
|
||||||
|
|
||||||
void Utils::printUpdateStatusMsg(QStringList const &updateMsg) {
|
void Utils::printUpdateStatusMsg(QStringList const &updateMsg) {
|
||||||
qCritical() << QString(80, 'U');
|
qCritical() << QString(80, 'U');
|
||||||
for (int i = 0; i < updateMsg.size(); ++i) {
|
for (int i = 0; i < updateMsg.size(); ++i) {
|
||||||
@@ -68,16 +78,30 @@ void Utils::printUpdateStatusMsg(QStringList const &updateMsg) {
|
|||||||
qCritical() << QString(80, 'U');
|
qCritical() << QString(80, 'U');
|
||||||
}
|
}
|
||||||
|
|
||||||
void Utils::printUpdateStatusMsg(QString const &updateMsg) {
|
void Utils::printUpdateStatusMsg(QString const &updateMsg, bool upper, bool lower) {
|
||||||
qCritical() << QString(80, 'U');
|
if (upper) qCritical() << QString(80, 'U');
|
||||||
|
|
||||||
qCritical() << updateMsg;
|
qCritical() << updateMsg;
|
||||||
qCritical() << QString(80, 'U');
|
|
||||||
|
if (lower) qCritical() << QString(80, 'U');
|
||||||
}
|
}
|
||||||
|
|
||||||
void Utils::printInfoMsg(QString const &infoMsg) {
|
void Utils::printUpdateStatusMsg(QDebug &debug, QString const &updateMsg,
|
||||||
qCritical() << QString(80, 'I');
|
bool upper, bool lower) {
|
||||||
|
if (upper) debug << QString(80, 'U');
|
||||||
|
|
||||||
|
debug << updateMsg;
|
||||||
|
|
||||||
|
if (lower) debug << QString(80, 'U');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Utils::printInfoMsg(QString const &infoMsg, bool upper, bool lower) {
|
||||||
|
if (upper) qCritical() << QString(80, 'I');
|
||||||
|
|
||||||
qCritical() << infoMsg;
|
qCritical() << infoMsg;
|
||||||
qCritical() << QString(80, 'I');
|
|
||||||
|
if (lower) qCritical() << QString(80, 'I');
|
||||||
}
|
}
|
||||||
|
|
||||||
void Utils::printInfoMsg(QStringList const &infoMsg) {
|
void Utils::printInfoMsg(QStringList const &infoMsg) {
|
||||||
|
9
utils.h
9
utils.h
@@ -8,16 +8,19 @@
|
|||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
namespace Utils {
|
namespace Utils {
|
||||||
int read1stLineOfFile(QString fileName);
|
int read1stLineOfFile(QString fileName);
|
||||||
QString zoneName(quint8 i);
|
QString zoneName(quint8 i);
|
||||||
void printCriticalErrorMsg(QString const &errorMsg);
|
void printCriticalErrorMsg(QString const &errorMsg, bool upper=false, bool lower=false);
|
||||||
void printCriticalErrorMsg(QStringList const &errorMsg);
|
void printCriticalErrorMsg(QStringList const &errorMsg);
|
||||||
void printInfoMsg(QString const &infoMsg);
|
void printInfoMsg(QString const &infoMsg, bool upper=false, bool lower=false);
|
||||||
void printInfoMsg(QStringList const &infoMsg);
|
void printInfoMsg(QStringList const &infoMsg);
|
||||||
|
void printUpdateStatusMsg(QDebug &debug, QStringList const &updateMsg);
|
||||||
void printUpdateStatusMsg(QStringList const &updateMsg);
|
void printUpdateStatusMsg(QStringList const &updateMsg);
|
||||||
void printUpdateStatusMsg(QString const &updateMsg);
|
void printUpdateStatusMsg(QString const &updateMsg, bool upper=false, bool lower=false);
|
||||||
|
void printUpdateStatusMsg(QDebug &debug, QString const &updateMsg, bool upper=false, bool lower=false);
|
||||||
void printLineEditInfo(QStringList const &lines);
|
void printLineEditInfo(QStringList const &lines);
|
||||||
QString getTariffLoadTime(QString fileName);
|
QString getTariffLoadTime(QString fileName);
|
||||||
QString rstrip(QString const &str);
|
QString rstrip(QString const &str);
|
||||||
|
1268
worker.cpp
1268
worker.cpp
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user