Mercurial > public > ostc_companion
annotate MainWindow.cpp @ 12:ac837fe1d590 default tip
Switch implementation for reqex class and added RFCOMM as label for Bluetooth based connection by Linux
| author | Ideenmodellierer |
|---|---|
| date | Mon, 12 Jan 2026 13:58:41 +0000 |
| parents | 21ce6187d32e |
| children |
| rev | line source |
|---|---|
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
1 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
2 /// \file MainWindow.cpp |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
3 /// \brief GUI for OSTC Companion. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
4 /// \author JD Gascuel. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
5 /// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
6 /// \copyright (c) 2011-2014 JD Gascuel. All rights reserved. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
7 /// $Id$ |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
8 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
9 // |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
10 // BSD 2-Clause License: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
11 // |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
12 // Redistribution and use in source and binary forms, with or without |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
13 // modification, are permitted provided that the following conditions |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
14 // are met: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
15 // |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
16 // 1. Redistributions of source code must retain the above copyright notice, |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
17 // this list of conditions and the following disclaimer. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
18 // |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
19 // 2. Redistributions in binary form must reproduce the above copyright notice, |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
20 // this list of conditions and the following disclaimer in the documentation |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
21 // and/or other materials provided with the distribution. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
22 // |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
23 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
24 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
25 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
26 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
27 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
28 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
29 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
30 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
31 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
32 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
33 // THE POSSIBILITY OF SUCH DAMAGE. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
34 // |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
35 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
36 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
37 #include "MainWindow.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
38 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
39 #include "Utils/LogAppender.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
40 #include "Utils/ProgressEvent.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
41 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
42 #include "SettingsDialog.h" |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
43 #include "editlogdialog.h" |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
44 #include "ui_MainWindow.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
45 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
46 #include <QDateTime> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
47 #include <QFileDialog> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
48 #include <QInputDialog> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
49 #include <QMenu> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
50 #include <QMenuBar> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
51 #include <QMessageBox> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
52 #include <QPlainTextEdit> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
53 #include <QProgressBar> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
54 #include <QSettings> |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
55 #include <QString> |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
56 #include <QTextCursor> |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
57 #include "OSTC2Operations.h" |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
58 #include "OSTC2cOperations.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
59 #include "OSTC3Operations.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
60 #include "OSTC3pOperations.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
61 #include "OSTC4Operations.h" |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
62 #include "OSTCFrogOperations.h" |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
63 #include "OSTCSportOperations.h" |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
64 #include "OSTC_CR_Operations.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
65 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
66 extern QSettings *settings; |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
67 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
68 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
69 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
70 class EXPORT LogWindow : public LogAppender |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
71 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
72 MainWindow *_window; |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
73 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
74 //---- The <<printing>> function ----------------------------------------- |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
75 void operator()(const Log &log) override |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
76 { |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
77 QString message = log.message; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
78 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
79 message.replace("< ", "< ").replace(" >", " >"); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
80 if (!message.isEmpty()) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
81 _window->statusMessage(message); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
82 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
83 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
84 //---- Reimplementing mandatory methds ----------------------------------- |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
85 const char *type() const override { return "File"; } |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
86 Log::Level defaultMinLevel() const override { return Log::LEVEL_INFO; } |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
87 const char *defaultFormat() const override { return "%m"; } |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
88 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
89 public: |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
90 LogWindow(MainWindow *window) |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
91 : LogAppender(0, NULL) |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
92 , _window(window) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
93 {} |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
94 }; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
95 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
96 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
97 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
98 MainWindow::MainWindow() |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
99 : QMainWindow(NULL) |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
100 , _ui(new Ui::MainWindow) |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
101 , _op(0) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
102 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
103 // Connect the Log system to this window: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
104 new LogWindow(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
105 // Connect the progress system to this window: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
106 ProgressManager::getInstance()->setMainWindow(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
107 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
108 _ui->setupUi(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
109 _ui->progressBar->show(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
110 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
111 _ui->editLog->setVisible(false); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
112 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
113 // Auto-select last model: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
114 QString model = settings->value("Interface/computerType").toString(); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
115 _ui->computerType->setCurrentIndex(0); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
116 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
117 if (model == "ostc2c") |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
118 _ui->computerType->setCurrentIndex(0); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
119 else if (model == "hwOS (Bluetooth)") |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
120 _ui->computerType->setCurrentIndex(1); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
121 else if (model == "hwOS (USB)") |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
122 _ui->computerType->setCurrentIndex(2); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
123 else if (model == "ostc4") |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
124 _ui->computerType->setCurrentIndex(3); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
125 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
126 changeTypeSlot(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
127 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
128 #ifdef Q_OS_MAC |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
129 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
130 QMenuBar *menuBar = new QMenuBar(this); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
131 QMenu *help = menuBar->addMenu(tr("&Help")); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
132 help->addAction(tr("Preferences..."), this, SLOT(settingsSlot())); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
133 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
134 #endif |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
135 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
136 setWindowTitle(QString("OSTC Companion v%1.%2 %3") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
137 .arg(MAJOR_VERSION) |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
138 .arg(MINOR_VERSION) // kein sprintf nötig, arg konvertiert automatisch |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
139 .arg(BETA_VERSION ? QString(" beta %1").arg(PATCH_VERSION) |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
140 : QString::number(PATCH_VERSION))); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
141 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
142 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
143 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
144 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
145 MainWindow::~MainWindow() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
146 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
147 delete _ui; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
148 delete _op; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
149 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
150 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
151 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
152 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
153 bool MainWindow::event(QEvent *e) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
154 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
155 if (ProgressEvent *p = dynamic_cast<ProgressEvent *>(e)) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
156 QProgressBar *w = _ui->progressBar; |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
157 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
158 if (p->current > p->maximum && p->maximum > 0) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
159 w->setMaximum(p->maximum); // Remove throttling mode, if any. |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
160 w->reset(); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
161 } else { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
162 if (!w->isEnabled()) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
163 w->setEnabled(true); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
164 if (w->maximum() != p->maximum) |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
165 w->setMaximum(p->maximum); // Start throttling if max==0 |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
166 w->setValue(p->current); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
167 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
168 return true; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
169 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
170 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
171 return QMainWindow::event(e); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
172 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
173 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
174 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
175 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
176 void MainWindow::changeTypeSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
177 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
178 QString name; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
179 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
180 //---- Setup a new driver ------------------------------------------------ |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
181 delete _op; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
182 _op = 0; |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
183 switch (_ui->computerType->currentIndex()) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
184 case 0: |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
185 name = "ostc2c"; |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
186 _op = new OSTC2cOperations; |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
187 break; |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
188 case 1: |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
189 name = "hwOS (USB)"; |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
190 _op = new OSTC3Operations; |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
191 break; |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
192 case 2: |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
193 name = "hwOS (Bluetooth)"; |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
194 _op = new OSTC3pOperations; |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
195 break; |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
196 case 3: |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
197 name = "ostc4"; |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
198 _op = new OSTC4Operations; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
199 break; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
200 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
201 default: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
202 qWarning("Internal error: unknown computer type"); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
203 return; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
204 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
205 LOG_INFO(tr("%1 selected.").arg(_op->model())); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
206 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
207 settings->setValue("Interface/computerType", name); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
208 settings->sync(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
209 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
210 // backword compatibility >= translate name if necessary |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
211 if (name == "hwOS (Bluetooth)") |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
212 name = "ostc3p"; |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
213 if (name == "hwOS (USB)") |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
214 name = "ostc3"; |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
215 if (name == "ostc 4/5") |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
216 name = "ostc4"; |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
217 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
218 _ui->computerImage->setPixmap(QPixmap(":/Images/" + name + "_160x120.png")); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
219 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
220 updateStatus(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
221 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
222 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
223 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
224 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
225 void MainWindow::settingsSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
226 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
227 Settings *s = new Settings(this, _op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
228 s->exec(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
229 delete s; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
230 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
231 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
232 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
233 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
234 void MainWindow::connectSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
235 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
236 Q_ASSERT(_op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
237 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
238 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
239 LOG_INFO("Connecting..."); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
240 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
241 //---- Already connected ? ---------------------------------------------- |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
242 if (!_op->description().isEmpty()) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
243 _op->disconnect(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
244 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
245 //---- (Re)connect ------------------------------------------------------ |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
246 if (_op->connect()) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
247 if (Settings::autoSetDateTime) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
248 dateSlot(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
249 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
250 LOG_INFO("Connected: " + _op->description()); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
251 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
252 updateStatus(); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
253 } catch (const std::exception &e) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
254 LOG_INFO( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
255 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what())); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
256 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
257 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
258 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
259 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
260 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
261 void MainWindow::closeSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
262 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
263 Q_ASSERT(_op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
264 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
265 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
266 LOG_INFO("Disconnecting..."); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
267 if (_op->disconnect()) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
268 LOG_INFO("Disconnected."); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
269 updateStatus(); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
270 } catch (const std::exception &e) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
271 LOG_INFO( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
272 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what())); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
273 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
274 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
275 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
276 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
277 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
278 void MainWindow::updateStatus() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
279 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
280 bool ok = _op; |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
281 _ui->connectButton->setEnabled(ok); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
282 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
283 // ON when supported but NOT connected, OFF once connected. |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
284 _ui->upgradeButton->setEnabled( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
285 ok |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
286 && (_op->supported() & HardwareOperations::CompanionFeatures(HardwareOperations::FIRMWARE)) |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
287 && !_op->serial().isOpen()); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
288 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
289 // Only allow buttons when connected: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
290 ok &= _op->serial().isOpen(); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
291 _ui->dateButton->setEnabled(ok && _op->supported().testFlag(HardwareOperations::DATE)); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
292 _ui->nameButton->setEnabled(ok && _op->supported().testFlag(HardwareOperations::NAME)); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
293 _ui->iconButton->setEnabled(ok); // && _op->supported().testFlag(HardwareOperations::ICON)); |
| 5 | 294 _ui->signalButton->setEnabled(ok && _op->supported().testFlag(HardwareOperations::SIGNAL_CHECK)); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
295 _ui->closeButton->setEnabled(ok); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
296 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
297 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
298 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
299 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
300 void MainWindow::dateSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
301 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
302 Q_ASSERT(_op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
303 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
304 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
305 QDateTime date = QDateTime::currentDateTime(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
306 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
307 LOG_INFO(tr("Settings date & time...")); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
308 _op->setDate(date); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
309 LOG_INFO(QString("Date set to %1").arg(date.toString("yyyy/MM/dd hh:mm:ss"))); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
310 } catch (const std::exception &e) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
311 LOG_INFO( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
312 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what())); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
313 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
314 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
315 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
316 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
317 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
318 void MainWindow::nameSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
319 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
320 Q_ASSERT(_op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
321 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
322 LOG_INFO(tr("Settings name...")); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
323 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
324 //---- Get old name, and reformat to multi-lines --------------------- |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
325 QString oldName = _op->description().section(", ", 2); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
326 QString oldText; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
327 QSize size = _op->nameSize(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
328 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
329 for (int l = 0; l < size.height(); ++l) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
330 QString line = oldName.left(size.width()).leftJustified(size.width()); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
331 if (line.contains("\n")) { |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
332 line = line.section("\n", 0, 0); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
333 oldName = oldName.mid(line.length()); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
334 } else { |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
335 oldName = oldName.mid(line.length()); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
336 if (oldName[0] == '\n') |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
337 oldName = oldName.mid(1); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
338 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
339 oldText += line + "|\n"; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
340 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
341 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
342 //---- Ask user ------------------------------------------------------ |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
343 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
344 QInputDialog *d = new QInputDialog(this); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
345 d->setWindowTitle("Set Computer Name..."); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
346 d->setInputMode(QInputDialog::TextInput); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
347 d->setOptions(QInputDialog::UsePlainTextEditForTextInput); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
348 d->setTextValue(oldText); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
349 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
350 QPlainTextEdit *edit = d->findChild<QPlainTextEdit *>(); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
351 assert(edit); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
352 edit->setStyleSheet("background-color: black;" |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
353 "color: green;" |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
354 "font: 14pt 'Courier New';"); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
355 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
356 if (d->exec() != QDialog::Accepted) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
357 return; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
358 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
359 QString newText = d->textValue(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
360 delete d; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
361 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
362 //---- Reformat to single padded string ------------------------------ |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
363 QStringList lines = newText.split("\n"); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
364 QString name; |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
365 for (int l = 0; l < size.height(); ++l) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
366 if (l < lines.count()) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
367 name += lines[l].leftJustified(size.width(), ' ', true); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
368 else |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
369 name += QString(size.width(), ' '); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
370 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
371 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
372 //---- Send result --------------------------------------------------- |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
373 _op->setName(name); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
374 _op->getIdentity(); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
375 LOG_INFO( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
376 QString("Name set to '%1'").arg(_op->description().section(',', 2)).replace("\n", "|")); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
377 } catch (const std::exception &e) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
378 LOG_INFO( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
379 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what())); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
380 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
381 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
382 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
383 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
384 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
385 void MainWindow::iconSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
386 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
387 Q_ASSERT(_op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
388 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
389 LOG_INFO(tr("Settings icons...")); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
390 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
391 QString fileName = QFileDialog::getOpenFileName(this, |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
392 "Icon File...", |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
393 QString(), |
| 5 | 394 "Images (*.bmp);;" |
| 395 "BMP Image (*.bmp);;" | |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
396 "Anything (*.*)"); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
397 if (!fileName.isEmpty()) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
398 _op->setIcons(fileName); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
399 } catch (const std::exception &e) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
400 LOG_INFO( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
401 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what())); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
402 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
403 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
404 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
405 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
406 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
407 void MainWindow::upgradeSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
408 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
409 Q_ASSERT(_op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
410 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
411 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
412 LOG_INFO(tr("Upgrading firmware...")); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
413 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
414 QString hexFile = QFileDialog::getOpenFileName(0, |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
415 "Hex File...", |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
416 Settings::currentPath, |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
417 _op->firmwareTemplate()); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
418 if (hexFile.isEmpty()) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
419 return; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
420 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
421 Settings::currentPath = QFileInfo(hexFile).absoluteDir().path(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
422 Settings::save(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
423 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
424 if (_op) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
425 _op->upgradeFW(hexFile); |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
426 } catch (const std::exception &e) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
427 LOG_INFO( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
428 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what())); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
429 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
430 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
431 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
432 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
433 |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
434 void MainWindow::statusMessage(const QString &msg) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
435 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
436 { // Move cursor to end of document. |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
437 QTextCursor c = _ui->console->textCursor(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
438 c.movePosition(QTextCursor::End, QTextCursor::MoveAnchor); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
439 _ui->console->setTextCursor(c); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
440 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
441 _ui->console->appendHtml(msg); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
442 _ui->console->ensureCursorVisible(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
443 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
444 qApp->processEvents(QEventLoop::AllEvents, 50); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
445 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
446 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
447 void MainWindow::retranslate() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
448 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
449 _ui->retranslateUi(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
450 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
451 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
452 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
453 void MainWindow::on_signalButton_clicked() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
454 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
455 Q_ASSERT(_op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
456 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
457 try { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
458 LOG_INFO(tr("Request Bluetooth signal strength...")); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
459 _op->getSignal(); |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
460 } catch (const std::exception &e) { |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
461 LOG_INFO( |
|
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
462 QString("<bg><font color='red'>%1</font></color>: %2").arg(tr("Error")).arg(e.what())); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
463 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
464 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
465 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
466 void MainWindow::on_editLog_clicked() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
467 { |
|
8
21ce6187d32e
Minor changes done by automatic style checker
Ideenmodellierer
parents:
5
diff
changeset
|
468 EditLogDialog *eL = new EditLogDialog(this, _op); |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
469 eL->exec(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
470 delete eL; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
471 } |
