Mercurial > public > ostc_companion
annotate MainWindow.cpp @ 5:115cfa4a3239 default tip
Added icon upload function for OSTC 4/5
For the upload the same process as the one for the firmware update is used => CRC functionality has been copied from the ostc_pack SW
| author | Ideenmodellierer |
|---|---|
| date | Tue, 30 Dec 2025 21:41:02 +0100 |
| parents | e30f00f760d3 |
| 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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
42 #include "ui_MainWindow.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
43 #include "SettingsDialog.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
44 #include "editLogDialog.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 <QString> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
47 #include <QDateTime> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
48 #include <QFileDialog> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
49 #include <QInputDialog> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
50 #include <QMenu> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
51 #include <QMenuBar> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
52 #include <QMessageBox> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
53 #include <QPlainTextEdit> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
54 #include <QProgressBar> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
55 #include <QSettings> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
56 #include <QTextCursor> |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
57 #include "OSTCFrogOperations.h" |
|
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 "OSTC2Operations.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
60 #include "OSTCSportOperations.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
61 #include "OSTC3Operations.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
62 #include "OSTC3pOperations.h" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
63 #include "OSTC4Operations.h" |
|
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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
66 extern QSettings* settings; |
|
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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
70 class EXPORT LogWindow |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
71 : public LogAppender |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
72 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
73 MainWindow* _window; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
74 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
75 //---- The <<printing>> function ----------------------------------------- |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
76 void operator()(const Log &log) override { |
|
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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
79 message.replace("< ", "< ") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
80 .replace(" >", " >"); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
81 if( ! message.isEmpty() ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
82 _window->statusMessage(message); |
|
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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
85 //---- Reimplementing mandatory methds ----------------------------------- |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
86 const char *type() const override { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
87 return "File"; |
|
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 Log::Level defaultMinLevel() const override { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
90 return Log::LEVEL_INFO; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
91 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
92 const char* defaultFormat() const override { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
93 return "%m"; |
|
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 public: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
97 LogWindow(MainWindow* window) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
98 : LogAppender(0, NULL), |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
99 _window(window) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
100 {} |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
101 }; |
|
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 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
104 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
105 MainWindow::MainWindow() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
106 : QMainWindow(NULL), |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
107 _ui(new Ui::MainWindow), |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
108 _op(0) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
109 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
110 // Connect the Log system to this window: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
111 new LogWindow(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
112 // Connect the progress system to this window: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
113 ProgressManager::getInstance()->setMainWindow(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
114 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
115 _ui->setupUi(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
116 _ui->progressBar->show(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
117 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
118 _ui->editLog->setVisible(false); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
119 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
120 // Auto-select last model: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
121 QString model = settings->value("Interface/computerType").toString(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
122 _ui->computerType->setCurrentIndex(0); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
123 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
124 if( model == "ostc2c" ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
125 _ui->computerType->setCurrentIndex(0); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
126 else if( model == "hwOS (Bluetooth)" ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
127 _ui->computerType->setCurrentIndex(1); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
128 else if( model == "hwOS (USB)" ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
129 _ui->computerType->setCurrentIndex(2); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
130 else if( model == "ostc4" ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
131 _ui->computerType->setCurrentIndex(3); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
132 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
133 changeTypeSlot(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
134 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
135 #ifdef Q_OS_MAC |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
136 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
137 QMenuBar *menuBar = new QMenuBar(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
138 QMenu* help = menuBar->addMenu(tr("&Help")); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
139 help->addAction(tr("Preferences..."), this, SLOT(settingsSlot())); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
140 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
141 #endif |
|
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 setWindowTitle(QString("OSTC Companion v%1.%2 %3") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
144 .arg(MAJOR_VERSION) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
145 .arg(MINOR_VERSION) // kein sprintf nötig, arg konvertiert automatisch |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
146 .arg(BETA_VERSION |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
147 ? QString(" beta %1").arg(PATCH_VERSION) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
148 : QString::number(PATCH_VERSION)) |
|
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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
153 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
154 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
155 MainWindow::~MainWindow() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
156 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
157 delete _ui; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
158 delete _op; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
159 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
160 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
161 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
162 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
163 bool MainWindow::event(QEvent* e) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
164 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
165 if( ProgressEvent* p = dynamic_cast<ProgressEvent*>(e) ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
166 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
167 QProgressBar* w = _ui->progressBar; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
168 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
169 if( p->current > p->maximum && p->maximum > 0) |
|
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 w->setMaximum(p->maximum); // Remove throttling mode, if any. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
172 w->reset(); |
|
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 else |
|
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 if( ! w->isEnabled() ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
177 w->setEnabled(true); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
178 if( w->maximum() != p->maximum ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
179 w->setMaximum(p->maximum); // Start throttling if max==0 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
180 w->setValue(p->current); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
181 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
182 return true; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
183 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
184 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
185 return QMainWindow::event(e); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
186 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
187 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
188 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
189 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
190 void MainWindow::changeTypeSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
191 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
192 QString name; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
193 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
194 //---- Setup a new driver ------------------------------------------------ |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
195 delete _op; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
196 _op = 0; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
197 switch( _ui->computerType->currentIndex() ) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
198 case 0: name = "ostc2c"; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
199 _op = new OSTC2cOperations; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
200 break; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
201 case 1: name = "hwOS (USB)"; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
202 _op = new OSTC3Operations; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
203 break; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
204 case 2: name = "hwOS (Bluetooth)"; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
205 _op = new OSTC3pOperations; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
206 break; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
207 case 3: name = "ostc4"; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
208 _op = new OSTC4Operations; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
209 break; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
210 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
211 default: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
212 qWarning("Internal error: unknown computer type"); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
213 return; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
214 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
215 LOG_INFO(tr("%1 selected.").arg(_op->model())); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
216 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
217 settings->setValue("Interface/computerType", name); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
218 settings->sync(); |
|
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 // backword compatibility >= translate name if necessary |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
221 if ( name =="hwOS (Bluetooth)") name = "ostc3p"; |
| 4 | 222 if( name =="hwOS (USB)") name = "ostc3"; |
| 223 if( name =="ostc 4/5") name = "ostc4"; | |
|
1
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 _ui->computerImage->setPixmap( QPixmap(":/Images/" + name + "_160x120.png")); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
226 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
227 updateStatus(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
228 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
229 |
|
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 void MainWindow::settingsSlot() |
|
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 Settings* s = new Settings(this, _op); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
235 s->exec(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
236 delete s; |
|
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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
239 ////////////////////////////////////////////////////////////////////////////// |
|
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 void MainWindow::connectSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
242 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
243 Q_ASSERT( _op ); |
|
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 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
246 LOG_INFO("Connecting..."); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
247 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
248 //---- Already connected ? ---------------------------------------------- |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
249 if( ! _op->description().isEmpty() ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
250 _op->disconnect(); |
|
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 //---- (Re)connect ------------------------------------------------------ |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
253 if( _op->connect() ) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
254 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
255 if( Settings::autoSetDateTime ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
256 dateSlot(); |
|
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 LOG_INFO("Connected: " + _op->description() ); |
|
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 updateStatus(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
261 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
262 catch(const std::exception& e) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
263 LOG_INFO( QString("<bg><font color='red'>%1</font></color>: %2") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
264 .arg(tr("Error")) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
265 .arg(e.what()) ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
266 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
267 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
268 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
269 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
270 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
271 void MainWindow::closeSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
272 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
273 Q_ASSERT( _op ); |
|
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 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
276 LOG_INFO("Disconnecting..."); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
277 if( _op->disconnect() ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
278 LOG_INFO("Disconnected."); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
279 updateStatus(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
280 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
281 catch(const std::exception& e) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
282 LOG_INFO( QString("<bg><font color='red'>%1</font></color>: %2") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
283 .arg(tr("Error")) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
284 .arg(e.what()) ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
285 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
286 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
287 |
|
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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
290 void MainWindow::updateStatus() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
291 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
292 bool ok = _op; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
293 _ui->connectButton->setEnabled( ok ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
294 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
295 // ON when supported but NOT connected, OFF once connected. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
296 _ui->upgradeButton->setEnabled( ok |
| 5 | 297 && (_op->supported() & HardwareOperations::CompanionFeatures(HardwareOperations::FIRMWARE)) |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
298 && !_op->serial().isOpen()); |
|
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 // Only allow buttons when connected: |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
301 ok &= _op->serial().isOpen(); |
| 5 | 302 _ui->dateButton ->setEnabled(ok && _op->supported().testFlag(HardwareOperations::DATE)); |
| 303 _ui->nameButton ->setEnabled(ok && _op->supported().testFlag(HardwareOperations::NAME)); | |
| 304 _ui->iconButton ->setEnabled(ok);// && _op->supported().testFlag(HardwareOperations::ICON)); | |
| 305 _ui->signalButton->setEnabled(ok && _op->supported().testFlag(HardwareOperations::SIGNAL_CHECK)); | |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
306 _ui->closeButton ->setEnabled( ok ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
307 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
308 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
309 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
310 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
311 void MainWindow::dateSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
312 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
313 Q_ASSERT( _op ); |
|
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 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
316 QDateTime date = QDateTime::currentDateTime(); |
|
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 LOG_INFO(tr("Settings date & time...")); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
319 _op->setDate( date ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
320 LOG_INFO( QString("Date set to %1") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
321 .arg(date.toString("yyyy/MM/dd hh:mm:ss")) ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
322 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
323 catch(const std::exception& e) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
324 LOG_INFO( QString("<bg><font color='red'>%1</font></color>: %2") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
325 .arg(tr("Error")) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
326 .arg(e.what()) ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
327 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
328 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
329 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
330 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
331 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
332 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
333 void MainWindow::nameSlot() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
334 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
335 Q_ASSERT( _op ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
336 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
337 LOG_INFO(tr("Settings name...")); |
|
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 //---- Get old name, and reformat to multi-lines --------------------- |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
340 QString oldName = _op->description().section(", ", 2); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
341 QString oldText; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
342 QSize size = _op->nameSize(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
343 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
344 for(int l=0; l<size.height(); ++l) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
345 QString line = oldName.left( size.width() ).leftJustified(size.width()); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
346 if( line.contains("\n") ) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
347 line = line.section("\n", 0, 0); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
348 oldName = oldName.mid(line.length()); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
349 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
350 else { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
351 oldName = oldName.mid(line.length()); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
352 if( oldName[0] == '\n' ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
353 oldName = oldName.mid(1); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
354 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
355 oldText += line + "|\n"; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
356 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
357 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
358 //---- Ask user ------------------------------------------------------ |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
359 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
360 QInputDialog* d = new QInputDialog(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
361 d->setWindowTitle("Set Computer Name..."); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
362 d->setInputMode(QInputDialog::TextInput); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
363 d->setOptions(QInputDialog::UsePlainTextEditForTextInput); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
364 d->setTextValue(oldText); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
365 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
366 QPlainTextEdit* edit = d->findChild<QPlainTextEdit*>(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
367 assert(edit); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
368 edit->setStyleSheet( |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
369 "background-color: black;" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
370 "color: green;" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
371 "font: 14pt 'Courier New';" |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
372 ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
373 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
374 if( d->exec() != QDialog::Accepted ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
375 return; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
376 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
377 QString newText = d->textValue(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
378 delete d; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
379 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
380 //---- Reformat to single padded string ------------------------------ |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
381 QStringList lines = newText.split("\n"); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
382 QString name; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
383 for(int l=0; l<size.height(); ++l) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
384 if( l < lines.count() ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
385 name += lines[l].leftJustified(size.width(), ' ', true); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
386 else |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
387 name += QString(size.width(), ' '); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
388 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
389 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
390 //---- Send result --------------------------------------------------- |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
391 _op->setName( name ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
392 _op->getIdentity(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
393 LOG_INFO( QString("Name set to '%1'") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
394 .arg(_op->description().section(',', 2)).replace("\n", "|") ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
395 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
396 catch(const std::exception& e) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
397 LOG_INFO( QString("<bg><font color='red'>%1</font></color>: %2") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
398 .arg(tr("Error")) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
399 .arg(e.what()) ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
400 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
401 } |
|
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 void MainWindow::iconSlot() |
|
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 Q_ASSERT( _op ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
408 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
409 LOG_INFO(tr("Settings icons...")); |
|
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 QString fileName = QFileDialog::getOpenFileName(this, |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
412 "Icon File...", |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
413 QString(), |
| 5 | 414 "Images (*.bmp);;" |
| 415 "BMP Image (*.bmp);;" | |
|
1
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
416 "Anything (*.*)"); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
417 if( ! fileName.isEmpty() ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
418 _op->setIcons(fileName); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
419 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
420 catch(const std::exception& e) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
421 LOG_INFO( QString("<bg><font color='red'>%1</font></color>: %2") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
422 .arg(tr("Error")) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
423 .arg(e.what()) ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
424 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
425 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
426 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
427 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
428 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
429 void MainWindow::upgradeSlot() |
|
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 Q_ASSERT( _op ); |
|
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 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
434 LOG_INFO(tr("Upgrading firmware...")); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
435 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
436 QString hexFile = QFileDialog::getOpenFileName(0, |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
437 "Hex File...", |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
438 Settings::currentPath, |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
439 _op->firmwareTemplate()); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
440 if( hexFile.isEmpty() ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
441 return; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
442 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
443 Settings::currentPath = QFileInfo(hexFile).absoluteDir().path(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
444 Settings::save(); |
|
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 if( _op ) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
447 _op->upgradeFW(hexFile); |
|
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 catch(const std::exception& e) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
450 LOG_INFO( QString("<bg><font color='red'>%1</font></color>: %2") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
451 .arg(tr("Error")) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
452 .arg(e.what()) ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
453 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
454 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
455 |
|
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 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
458 void MainWindow::statusMessage(const QString& msg) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
459 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
460 { // Move cursor to end of document. |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
461 QTextCursor c = _ui->console->textCursor(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
462 c.movePosition(QTextCursor::End, QTextCursor::MoveAnchor); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
463 _ui->console->setTextCursor(c); |
|
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 _ui->console->appendHtml(msg); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
466 _ui->console->ensureCursorVisible(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
467 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
468 qApp->processEvents(QEventLoop::AllEvents, 50); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
469 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
470 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
471 void MainWindow::retranslate() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
472 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
473 _ui->retranslateUi(this); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
474 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
475 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
476 ////////////////////////////////////////////////////////////////////////////// |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
477 void MainWindow::on_signalButton_clicked() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
478 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
479 Q_ASSERT( _op ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
480 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
481 try { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
482 LOG_INFO(tr("Request Bluetooth signal strength...")); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
483 _op->getSignal(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
484 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
485 catch(const std::exception& e) { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
486 LOG_INFO( QString("<bg><font color='red'>%1</font></color>: %2") |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
487 .arg(tr("Error")) |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
488 .arg(e.what()) ); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
489 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
490 } |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
491 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
492 |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
493 void MainWindow::on_editLog_clicked() |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
494 { |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
495 EditLogDialog* eL = new EditLogDialog(this, _op); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
496 eL->exec(); |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
497 delete eL; |
|
0b3630a29ad8
Initial version based on previous repository.
Ideenmodellierer <tiefenrauscher@web.de>
parents:
diff
changeset
|
498 } |
