source: ntrip/trunk/BNC/src/reqcdlg.cpp@ 8639

Last change on this file since 8639 was 8637, checked in by stuerze, 6 years ago

some updates to support RINEX Version 3.04

File size: 22.0 KB
Line 
1// Part of BNC, a utility for retrieving decoding and
2// converting GNSS data streams from NTRIP broadcasters.
3//
4// Copyright (C) 2007
5// German Federal Agency for Cartography and Geodesy (BKG)
6// http://www.bkg.bund.de
7// Czech Technical University Prague, Department of Geodesy
8// http://www.fsv.cvut.cz
9//
10// Email: euref-ip@bkg.bund.de
11//
12// This program is free software; you can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation, version 2.
15//
16// This program is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program; if not, write to the Free Software
23// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25/* -------------------------------------------------------------------------
26 * BKG NTRIP Client
27 * -------------------------------------------------------------------------
28 *
29 * Class: reqcDlg
30 *
31 * Purpose: Displays the teqc-like editing options
32 *
33 * Author: L. Mervart
34 *
35 * Created: 28-Mar-2012
36 *
37 * Changes:
38 *
39 * -----------------------------------------------------------------------*/
40
41#include <iostream>
42
43#include <QCloseEvent>
44#include <QComboBox>
45#include <QDateTimeEdit>
46#include <QGridLayout>
47#include <QLabel>
48#include <QLineEdit>
49#include <QMessageBox>
50#include <QPushButton>
51#include <QSpinBox>
52#include <QWhatsThis>
53
54#include "reqcdlg.h"
55#include "bncsettings.h"
56
57using namespace std;
58
59
60// Constructor
61////////////////////////////////////////////////////////////////////////////
62reqcDlg::reqcDlg(QWidget* parent) : QDialog(parent) {
63
64 setWindowTitle(tr("RINEX Editing Options"));
65
66 int ww = QFontMetrics(font()).width('w');
67
68 const QString timeFmtString = "yyyy-MM-dd hh:mm:ss";
69
70 _reqcRnxVersion = new QComboBox(this);
71 _reqcSampling = new QComboBox(this);
72 _reqcStartDateTime = new QDateTimeEdit(this);
73 _reqcStartDateTime->setDisplayFormat(timeFmtString);
74 _reqcEndDateTime = new QDateTimeEdit(this);
75 _reqcEndDateTime->setDisplayFormat(timeFmtString);
76 _reqcRunBy = new QLineEdit(this);
77 _reqcUseObsTypes = new QLineEdit(this);
78 _reqcComment = new QLineEdit(this);
79 _reqcOldMarkerName = new QLineEdit(this);
80 _reqcNewMarkerName = new QLineEdit(this);
81 _reqcOldAntennaName = new QLineEdit(this);
82 _reqcNewAntennaName = new QLineEdit(this);
83 _reqcOldAntennaNumber = new QLineEdit(this);
84 _reqcNewAntennaNumber = new QLineEdit(this);
85 _reqcOldAntennadN = new QLineEdit(this);
86 _reqcNewAntennadN = new QLineEdit(this);
87 _reqcOldAntennadE = new QLineEdit(this);
88 _reqcNewAntennadE = new QLineEdit(this);
89 _reqcOldAntennadU = new QLineEdit(this);
90 _reqcNewAntennadU = new QLineEdit(this);
91 _reqcOldReceiverName = new QLineEdit(this);
92 _reqcNewReceiverName = new QLineEdit(this);
93 _reqcOldReceiverNumber = new QLineEdit(this);
94 _reqcNewReceiverNumber = new QLineEdit(this);
95
96 _reqcRnxVersion->setEditable(false);
97 _reqcRnxVersion->addItems(QString("2,3").split(","));
98 _reqcRnxVersion->setMaximumWidth(7*ww);
99
100 _reqcSampling->setEditable(false);
101 _reqcSampling->addItems(QString("0.1 sec,1 sec,5 sec,10 sec,15 sec,30 sec,60 sec").split(","));
102 bncSettings settings;
103 int ll = _reqcSampling->findText(settings.value("reqcSampling").toString());
104 if (ll != -1) {
105 _reqcSampling->setCurrentIndex(ll);
106 }
107
108 // Read Options
109 // ------------
110 int kk = _reqcRnxVersion->findText(settings.value("reqcRnxVersion").toString());
111 if (kk != -1) {
112 _reqcRnxVersion->setCurrentIndex(kk);
113 }
114 _reqcSampling->findText(settings.value("reqcSampling").toString());
115 if (settings.value("reqcStartDateTime").toString().isEmpty()) {
116 _reqcStartDateTime->setDateTime(QDateTime::fromString("1967-11-02T00:00:00", Qt::ISODate));
117 }
118 else {
119 _reqcStartDateTime->setDateTime(settings.value("reqcStartDateTime").toDateTime());
120 }
121 if (settings.value("reqcEndDateTime").toString().isEmpty()) {
122 _reqcEndDateTime->setDateTime(QDateTime::fromString("2099-01-01T00:00:00", Qt::ISODate));
123 }
124 else {
125 _reqcEndDateTime->setDateTime(settings.value("reqcEndDateTime").toDateTime());
126 }
127 _reqcRunBy->setText(settings.value("reqcRunBy").toString());
128 _reqcUseObsTypes->setText(settings.value("reqcUseObsTypes").toString());
129 _reqcComment->setText(settings.value("reqcComment").toString());
130 _reqcOldMarkerName->setText(settings.value("reqcOldMarkerName").toString());
131 _reqcNewMarkerName->setText(settings.value("reqcNewMarkerName").toString());
132 _reqcOldAntennaName->setText(settings.value("reqcOldAntennaName").toString());
133 _reqcNewAntennaName->setText(settings.value("reqcNewAntennaName").toString());
134 _reqcOldAntennaNumber->setText(settings.value("reqcOldAntennaNumber").toString());
135 _reqcNewAntennaNumber->setText(settings.value("reqcNewAntennaNumber").toString());
136 _reqcOldAntennadN->setText(settings.value("reqcOldAntennadN").toString());
137 _reqcNewAntennadN->setText(settings.value("reqcNewAntennadN").toString());
138 _reqcOldAntennadE->setText(settings.value("reqcOldAntennadE").toString());
139 _reqcNewAntennadE->setText(settings.value("reqcNewAntennadE").toString());
140 _reqcOldAntennadU->setText(settings.value("reqcOldAntennadU").toString());
141 _reqcNewAntennadU->setText(settings.value("reqcNewAntennadU").toString());
142 _reqcOldReceiverName->setText(settings.value("reqcOldReceiverName").toString());
143 _reqcNewReceiverName->setText(settings.value("reqcNewReceiverName").toString());
144 _reqcOldReceiverNumber->setText(settings.value("reqcOldReceiverNumber").toString());
145 _reqcNewReceiverNumber->setText(settings.value("reqcNewReceiverNumber").toString());
146
147
148 QString hlp = settings.value("reqcV2Priority").toString();
149 if (hlp.isEmpty()) {
150 hlp = "G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:128&DPX C:7&DPZ I:ABCX S:1&C S:5&IQX";
151 }
152 _reqcV2Priority = new QLineEdit(hlp);
153
154 // Dialog Layout
155 // -------------
156 QGridLayout* grid = new QGridLayout;
157
158 int ir = 0;
159 grid->addWidget(new QLabel("RINEX Version"), ir, 1);
160 grid->addWidget(_reqcRnxVersion, ir, 2);
161 grid->addWidget(new QLabel("Sampling"), ir, 3, Qt::AlignRight);
162 grid->addWidget(_reqcSampling, ir, 4);
163 ++ir;
164 grid->addWidget(new QLabel("Version 2 signal priority"), ir, 1);
165 grid->addWidget(_reqcV2Priority, ir, 2, 1, 4);
166 ++ir;
167 grid->addWidget(new QLabel("Start"), ir, 1);
168 grid->addWidget(_reqcStartDateTime, ir, 2);
169 grid->addWidget(new QLabel("End"), ir, 3, Qt::AlignRight);
170 grid->addWidget(_reqcEndDateTime, ir, 4);
171 ++ir;
172 grid->addWidget(new QLabel("Run By"), ir, 0);
173 grid->addWidget(_reqcRunBy, ir, 1);
174 ++ir;
175 grid->addWidget(new QLabel("Use Obs. Types"), ir, 0);
176 grid->addWidget(_reqcUseObsTypes, ir, 1, 1, 4);
177 ++ir;
178 grid->addWidget(new QLabel("Comment(s)"), ir, 0);
179 grid->addWidget(_reqcComment, ir, 1, 1, 4);
180 ++ir;
181 grid->addWidget(new QLabel("Old"), ir, 1, 1, 2, Qt::AlignCenter);
182 grid->addWidget(new QLabel("New"), ir, 3, 1, 2, Qt::AlignCenter);
183 ++ir;
184 grid->addWidget(new QLabel("Marker Name"), ir, 0);
185 grid->addWidget(_reqcOldMarkerName, ir, 1, 1, 2);
186 grid->addWidget(_reqcNewMarkerName, ir, 3, 1, 2);
187 ++ir;
188 grid->addWidget(new QLabel("Antenna Name"), ir, 0);
189 grid->addWidget(_reqcOldAntennaName, ir, 1, 1, 2);
190 grid->addWidget(_reqcNewAntennaName, ir, 3, 1, 2);
191 ++ir;
192 grid->addWidget(new QLabel("Antenna Number"), ir, 0);
193 grid->addWidget(_reqcOldAntennaNumber, ir, 1, 1, 2);
194 grid->addWidget(_reqcNewAntennaNumber, ir, 3, 1, 2);
195 ++ir;
196 grid->addWidget(new QLabel("Antenna ecc. dN"), ir, 0);
197 grid->addWidget(_reqcOldAntennadN, ir, 1, 1, 2);
198 grid->addWidget(_reqcNewAntennadN, ir, 3, 1, 2);
199 ++ir;
200 grid->addWidget(new QLabel("Antenna ecc. dE"), ir, 0);
201 grid->addWidget(_reqcOldAntennadE, ir, 1, 1, 2);
202 grid->addWidget(_reqcNewAntennadE, ir, 3, 1, 2);
203 ++ir;
204 grid->addWidget(new QLabel("Antenna ecc. dU"), ir, 0);
205 grid->addWidget(_reqcOldAntennadU, ir, 1, 1, 2);
206 grid->addWidget(_reqcNewAntennadU, ir, 3, 1, 2);
207 ++ir;
208 grid->addWidget(new QLabel("Receiver Name"), ir, 0);
209 grid->addWidget(_reqcOldReceiverName, ir, 1, 1, 2);
210 grid->addWidget(_reqcNewReceiverName, ir, 3, 1, 2);
211 ++ir;
212 grid->addWidget(new QLabel("Receiver Number"), ir, 0);
213 grid->addWidget(_reqcOldReceiverNumber, ir, 1, 1, 2);
214 grid->addWidget(_reqcNewReceiverNumber, ir, 3, 1, 2);
215
216
217 slotReqcTextChanged();
218 connect(_reqcRnxVersion, SIGNAL(currentIndexChanged(const QString &)),
219 this, SLOT(slotReqcTextChanged()));
220
221 _buttonWhatsThis = new QPushButton(tr("Help=Shift+F1"), this);
222 connect(_buttonWhatsThis, SIGNAL(clicked()), this, SLOT(slotWhatsThis()));
223
224 _buttonOK = new QPushButton(tr("OK / Save"), this);
225 connect(_buttonOK, SIGNAL(clicked()), this, SLOT(slotOK()));
226
227 _buttonCancel = new QPushButton(tr("Cancel"), this);
228 connect(_buttonCancel, SIGNAL(clicked()), this, SLOT(close()));
229
230 QHBoxLayout* buttonLayout = new QHBoxLayout;
231 buttonLayout->addWidget(_buttonWhatsThis);
232 buttonLayout->addStretch(1);
233 buttonLayout->addWidget(_buttonOK);
234 buttonLayout->addWidget(_buttonCancel);
235
236 QVBoxLayout* mainLayout = new QVBoxLayout(this);
237 mainLayout->addLayout(grid);
238 mainLayout->addLayout(buttonLayout);
239
240 // WhatsThis, RINEX Editing & QC
241 // -----------------------------
242 _reqcRnxVersion->setWhatsThis(tr("<p>Select version number of emerging new RINEX file.</p><p>Note the following:</p><p>When converting <u>RINEX Version 2 to Version 3 </u>Observation files, the tracking mode or channel information (signal attribute, see RINEX Version 3 documentation) in the (last out of the three characters) observation code is left blank if unknown.</p><p>When converting <u>RINEX Version 3 to Version 2</u>, the mapping of observations follows a 'Signal priority list' with signal attributes as defined in RINEX Version 3. <i>[key: reqcRnxVersion]</i></p>"));
243 _reqcSampling->setWhatsThis(tr("<p>Select sampling rate of emerging new RINEX Observation file. <i>[key: reqcSampling]</i></p>"));
244 _reqcV2Priority->setWhatsThis(tr("<p>Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.</p><p>Signal priorities can be specified as equal for all systems, as system specific or as system and freq. specific. For example: </li><ul><li>'CWPX_?' (General signal priorities valid for all GNSS) </li><li>'C:IQX I:ABCX' (System specific signal priorities for BDS and IRNSS) </li><li>'G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities) </li></ul>Default is the following priority list 'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:128&DPX C:7&DPZ I:ABCX S:1&C S:5&IQX'. <i>[key: reqcV2Priority]</i></p>"));
245 _reqcStartDateTime->setWhatsThis(tr("<p>Specify begin of emerging new RINEX Observation file. <i>[key: reqcStartDateTime]</i></p>"));
246 _reqcEndDateTime->setWhatsThis(tr("<p>Specify end of emerging new RINEX Observation file. <i>[key: reqcEndDateTime]</i></p>"));
247 _reqcRunBy->setWhatsThis(tr("<p>Specify a 'RUN BY' string to be included in the emerging new RINEX file header.</p><p>Default is an empty option field, meaning the operator's user ID is used as 'RUN BY' string. <i>[key: reqcRunBy]</i></p>"));
248 _reqcComment->setWhatsThis(tr("<p>Specifying a comment line text to be added to the emerging new RINEX file header is an option. Any introduction of newline specification '\\n' in this enforces the beginning of a further comment line. Comment line(s) will be added to the header after the 'PGM / RUN BY / DATE' record.</p><p>Default is an empty option field meaning that no additional comment line is added to the RINEX header. <i>[key: reqcComment]</i></p>"));
249 _reqcUseObsTypes->setWhatsThis(tr("<p>This option lets you limit the RINEX output to specific observation types. Examples:</p><p><ul><li>G:C1C G:L1C R:C1C R:C1P S:C1C C:C1I C:L1I E:C1X E:L1X<br>(Valid for output of RINEX Version 3; output contains GPS C1C and L1C, GLONASS C1C and C1P, SBAS C1C, BeiDou C1C, C1I andL1I, Galileo C1X and L1X.)</li><li>C1 L2 L5<br>(Valid for output of RINEX Version 2 with mapping of Version 3 signals to Version 2 according to 'Version 2 Signal Priority'; output contains C1, L2 and L5 observations from any GNSS system.)</li></ul></p><p>Default is an empty option field, meaning that the RINEX output file contains all observations made available through RINEX input file. <i>[key: reqcUseObsTypes]</i></p>"));
250 _reqcOldMarkerName->setWhatsThis(tr("<p>Enter old Marker Name in RINEX Observation file.</p><p>Default is an empty option field. <i>[key: reqcOldMarkerName]</i></p>"));
251 _reqcNewMarkerName->setWhatsThis(tr("<p>Enter new Marker Name in RINEX Observation file.</p><p>If option 'Old Marker Name' is either left blank or its content is specified as given in the RINEX input file, then the marker name in the RINEX output file will be specified by 'New Marker Name'</p><p>Default is an empty option field, meaning that the content of the Marker Name data field in the RINEX file will not be changed. <i>[key: reqcNewMarkerName]</i></p>"));
252 _reqcOldAntennaName->setWhatsThis(tr("<p>Enter old Antenna Name in RINEX Observation file.</p><p>Default is an empty option field. <i>[key: reqcOldAntennaName]</i></p>"));
253 _reqcNewAntennaName->setWhatsThis(tr("<p>Enter new Antenna Name in RINEX Observation file.</p><p>If option 'Old Antenna Name' is either left blank or its content is specified as given in the RINEX input file, then the antenna name in the RINEX output file will be specified by 'New Antenna Name'</p><p>Default is an empty option field, meaning that the content of the Antenna Name data field in the RINEX file will not be changed. <i>[key: reqcNewAntennaName]</i></p>"));
254 _reqcOldAntennaNumber->setWhatsThis(tr("<p>Enter old Antenna Number in RINEX Observation file.</p><p>Default is an empty option field. <i>[key: reqcOldAntennaNumber]</i></p>"));
255 _reqcNewAntennaNumber->setWhatsThis(tr("<p>Enter new Antenna Number in RINEX Observation file.</p><p>If option 'Old Antenna Number' is either left blank or its content is specified as given in the RINEX input file, then the antenna number in the RINEX output file will be specified by 'New Antenna Number'</p><p>Default is an empty option field, meaning that the content of the Antenna Number data field in the RINEX file will not be changed. <i>[key: reqcNewAntennaNumber]</i></p>"));
256 _reqcOldAntennadN->setWhatsThis(tr("<p>Enter old North Antenna Eccentricity in RINEX Observation file.</p><p>Default is an empty option field. <i>[key: reqcOldAntennadN]</i></p>"));
257 _reqcNewAntennadN->setWhatsThis(tr("<p>Enter new North Antenna Eccentricity in RINEX Observation file.</p><p>If option 'Old Antenna North Eccentricity' is either left blank or its content is specified as given in the RINEX input file, then the north antenna eccentricity in the RINEX output file will be specified by 'New North Antenna Eccentricity'</p><p>Default is an empty option field, meaning that the content of the North Antenna Eccentricity data field in the RINEX file will not be changed. <i>[key: reqcNewAntennadN]</i></p>"));
258 _reqcOldAntennadE->setWhatsThis(tr("<p>Enter old East Antenna Eccentricity in RINEX Observation file.</p><p>Default is an empty option field. <i>[key: reqcOldAntennadE]</i></p>"));
259 _reqcNewAntennadE->setWhatsThis(tr("<p>Enter new East Antenna Eccentricity in RINEX Observation file.</p><p>If option 'Old Antenna East Eccentricity' is either left blank or its content is specified as given in the RINEX input file, then the east antenna eccentricity in the RINEX output file will be specified by 'New East Antenna Eccentricity'</p><p>Default is an empty option field, meaning that the content of the East Antenna Eccentricity data field in the RINEX file will not be changed. <i>[key: reqcNewAntennadE]</i></p>"));
260 _reqcOldAntennadU->setWhatsThis(tr("<p>Enter old Up Antenna Eccentricity in RINEX Observation file.</p><p>Default is an empty option field. <i>[key: reqcOldAntennadU]</i></p>"));
261 _reqcNewAntennadU->setWhatsThis(tr("<p>Enter new Up Antenna Eccentricity in RINEX Observation file.</p><p>If option 'Old Antenna Up Eccentricity' is either left blank or its content is specified as given in the RINEX input file, then the up antenna eccentricity in the RINEX output file will be specified by 'New Up Antenna Eccentricity'</p><p>Default is an empty option field, meaning that the content of the Up Antenna Eccentricity data field in the RINEX file will not be changed. <i>[key: reqcNewAntennadU]</i></p>"));
262 _reqcOldReceiverName->setWhatsThis(tr("<p>Enter old Receiver Name in RINEX Observation file.<p>Default is an empty option field. <i>[key: reqcOldReceiverName]</i></p>"));
263 _reqcNewReceiverName->setWhatsThis(tr("<p>Enter new Receiver Name in RINEX Observation file.</p><p>If option 'Old Receiver Name' is either left blank or its content is specified as given in the RINEX input file, then the receiver name in the RINEX output file will be specified by 'New Receiver Name'</p><p>Default is an empty option field, meaning that the content of the Receiver Name data field in the RINEX file will not be changed. <i>[key: reqcNewReceiverName]</i></p>"));
264 _reqcOldReceiverNumber->setWhatsThis(tr("<p>Enter old Receiver Number in RINEX Observation file.<p>Default is an empty option field. <i>[key: reqcOldReceiverNumber]</i></p>"));
265 _reqcNewReceiverNumber->setWhatsThis(tr("<p>Enter new Receiver Number in RINEX Observation file.</p><p>If option 'Old Receiver Number' is either left blank or its content is specified as given in the RINEX input file, then the receiver number in the RINEX output file will be specified by 'New Receiver Number'</p><p>Default is an empty option field, meaning that the content of the Receiver Number data field in the RINEX file will not be changed. <i>[key: reqcNewReceiverNumber]</i></p>"));
266}
267
268// Destructor
269////////////////////////////////////////////////////////////////////////////
270reqcDlg::~reqcDlg() {
271 delete _buttonOK;
272 delete _buttonCancel;
273 delete _buttonWhatsThis;
274}
275
276// Accept the Options
277////////////////////////////////////////////////////////////////////////////
278void reqcDlg::slotOK() {
279 saveOptions();
280 done(0);
281}
282
283// Whats This Help
284////////////////////////////////////////////////////////////////////////////
285void reqcDlg::slotWhatsThis() {
286 QWhatsThis::enterWhatsThisMode();
287}
288
289// Close Dialog gracefully
290////////////////////////////////////////////////////////////////////////////
291void reqcDlg::closeEvent(QCloseEvent* event) {
292
293 int iRet = QMessageBox::question(this, "Close", "Save Options?",
294 QMessageBox::Yes, QMessageBox::No,
295 QMessageBox::Cancel);
296
297 if (iRet == QMessageBox::Cancel) {
298 event->ignore();
299 return;
300 }
301 else if (iRet == QMessageBox::Yes) {
302 saveOptions();
303 }
304
305 QDialog::closeEvent(event);
306}
307
308// Save Selected Options
309////////////////////////////////////////////////////////////////////////////
310void reqcDlg::saveOptions() {
311
312 bncSettings settings;
313
314 settings.setValue("reqcRnxVersion" , _reqcRnxVersion->currentText());
315 settings.setValue("reqcSampling" , _reqcSampling->currentText());
316 settings.setValue("reqcV2Priority" , _reqcV2Priority->text());
317 settings.setValue("reqcStartDateTime" , _reqcStartDateTime->dateTime().toString(Qt::ISODate));
318 settings.setValue("reqcEndDateTime" , _reqcEndDateTime->dateTime().toString(Qt::ISODate));
319 settings.setValue("reqcRunBy" , _reqcRunBy->text());
320 settings.setValue("reqcUseObsTypes" , _reqcUseObsTypes->text());
321 settings.setValue("reqcComment" , _reqcComment->text());
322 settings.setValue("reqcOldMarkerName" , _reqcOldMarkerName->text());
323 settings.setValue("reqcNewMarkerName" , _reqcNewMarkerName->text());
324 settings.setValue("reqcOldAntennaName" , _reqcOldAntennaName->text());
325 settings.setValue("reqcNewAntennaName" , _reqcNewAntennaName->text());
326 settings.setValue("reqcOldAntennaNumber" , _reqcOldAntennaNumber->text());
327 settings.setValue("reqcNewAntennaNumber" , _reqcNewAntennaNumber->text());
328 settings.setValue("reqcOldAntennadN" , _reqcOldAntennadN->text());
329 settings.setValue("reqcNewAntennadN" , _reqcNewAntennadN->text());
330 settings.setValue("reqcOldAntennadE" , _reqcOldAntennadE->text());
331 settings.setValue("reqcNewAntennadE" , _reqcNewAntennadE->text());
332 settings.setValue("reqcOldAntennadU" , _reqcOldAntennadU->text());
333 settings.setValue("reqcNewAntennadU" , _reqcNewAntennadU->text());
334 settings.setValue("reqcNewAntennaNumber" , _reqcNewAntennaNumber->text());
335 settings.setValue("reqcOldReceiverName" , _reqcOldReceiverName->text());
336 settings.setValue("reqcNewReceiverName" , _reqcNewReceiverName->text());
337 settings.setValue("reqcOldReceiverNumber", _reqcOldReceiverNumber->text());
338 settings.setValue("reqcNewReceiverNumber", _reqcNewReceiverNumber->text());
339}
340
341// Reqc Text Changed
342////////////////////////////////////////////////////////////////////////////
343void reqcDlg::slotReqcTextChanged(){
344
345 const static QPalette paletteWhite(QColor(255, 255, 255));
346 const static QPalette paletteGray(QColor(230, 230, 230));
347
348 if (sender() == 0 || sender() == _reqcRnxVersion) {
349 if (_reqcRnxVersion->currentText() == "2") {
350 _reqcV2Priority->setPalette(paletteWhite);
351 _reqcV2Priority->setEnabled(true);
352 }
353 else {
354 _reqcV2Priority->setPalette(paletteGray);
355 _reqcV2Priority->setEnabled(false);
356 }
357 }
358}
359
Note: See TracBrowser for help on using the repository browser.