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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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("< ", "&lt; ").replace(" >", " &gt;");
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
115cfa4a3239 Added icon upload function for OSTC 4/5
Ideenmodellierer
parents: 4
diff changeset
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
115cfa4a3239 Added icon upload function for OSTC 4/5
Ideenmodellierer
parents: 4
diff changeset
394 "Images (*.bmp);;"
115cfa4a3239 Added icon upload function for OSTC 4/5
Ideenmodellierer
parents: 4
diff changeset
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 }