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

Last change on this file since 8252 was 8252, checked in by stoecker, 2 years ago

see #105 - reenable Qt4 build options, drop generic version dependend includes, replace by direct requirements, remaining QtCore? lines should also be replaced

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 QSpinBox(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
97  _reqcRnxVersion->setEditable(false);
98  _reqcRnxVersion->addItems(QString("2,3").split(","));
99  _reqcRnxVersion->setMaximumWidth(7*ww);
100
101  _reqcSampling->setMinimum(0);
102  _reqcSampling->setMaximum(60);
103  _reqcSampling->setSingleStep(5);
104  _reqcSampling->setSuffix(" sec");
105  _reqcSampling->setMaximumWidth(7*ww);
106
107  // Read Options
108  // ------------
109  bncSettings settings;
110
111  int kk = _reqcRnxVersion->findText(settings.value("reqcRnxVersion").toString());
112  if (kk != -1) {
113    _reqcRnxVersion->setCurrentIndex(kk);
114  }
115  _reqcSampling->setValue(settings.value("reqcSampling").toInt());
116  if (settings.value("reqcStartDateTime").toString().isEmpty()) {
117    _reqcStartDateTime->setDateTime(QDateTime::fromString("1967-11-02T00:00:00", Qt::ISODate));
118  }
119  else {
120    _reqcStartDateTime->setDateTime(settings.value("reqcStartDateTime").toDateTime());
121  }
122  if (settings.value("reqcEndDateTime").toString().isEmpty()) {
123    _reqcEndDateTime->setDateTime(QDateTime::fromString("2099-01-01T00:00:00", Qt::ISODate));
124  }
125  else {
126    _reqcEndDateTime->setDateTime(settings.value("reqcEndDateTime").toDateTime());
127  }
128  _reqcRunBy->setText(settings.value("reqcRunBy").toString());
129  _reqcUseObsTypes->setText(settings.value("reqcUseObsTypes").toString());
130  _reqcComment->setText(settings.value("reqcComment").toString());
131  _reqcOldMarkerName->setText(settings.value("reqcOldMarkerName").toString());
132  _reqcNewMarkerName->setText(settings.value("reqcNewMarkerName").toString());
133  _reqcOldAntennaName->setText(settings.value("reqcOldAntennaName").toString());
134  _reqcNewAntennaName->setText(settings.value("reqcNewAntennaName").toString());
135  _reqcOldAntennaNumber->setText(settings.value("reqcOldAntennaNumber").toString());
136  _reqcNewAntennaNumber->setText(settings.value("reqcNewAntennaNumber").toString());
137  _reqcOldAntennadN->setText(settings.value("reqcOldAntennadN").toString());
138  _reqcNewAntennadN->setText(settings.value("reqcNewAntennadN").toString());
139  _reqcOldAntennadE->setText(settings.value("reqcOldAntennadE").toString());
140  _reqcNewAntennadE->setText(settings.value("reqcNewAntennadE").toString());
141  _reqcOldAntennadU->setText(settings.value("reqcOldAntennadU").toString());
142  _reqcNewAntennadU->setText(settings.value("reqcNewAntennadU").toString());
143  _reqcOldReceiverName->setText(settings.value("reqcOldReceiverName").toString());
144  _reqcNewReceiverName->setText(settings.value("reqcNewReceiverName").toString());
145  _reqcOldReceiverNumber->setText(settings.value("reqcOldReceiverNumber").toString());
146  _reqcNewReceiverNumber->setText(settings.value("reqcNewReceiverNumber").toString());
147
148
149  QString hlp = settings.value("reqcV2Priority").toString();
150  if (hlp.isEmpty()) {
151    hlp = "G:12&PWCSLXYN_ G:5&IQX_ R:12&PC_ R:3&IQX_ E:16&BCX_ E:578&IQX_ J:1&SLXCZ_ J:26&SLX_ J:5&IQX_ C:IQX_ I:ABCX_ S:1&C_ S:5&IQX_";
152  }
153  _reqcV2Priority = new QLineEdit(hlp);
154
155  // Dialog Layout
156  // -------------
157  QGridLayout* grid = new QGridLayout;
158
159  int ir = 0;
160  grid->addWidget(new QLabel("RINEX Version"),    ir, 1);
161  grid->addWidget(_reqcRnxVersion,                ir, 2);
162  grid->addWidget(new QLabel("Sampling"),         ir, 3, Qt::AlignRight);
163  grid->addWidget(_reqcSampling,                  ir, 4);
164  ++ir;
165  grid->addWidget(new QLabel("Version 2 signal priority"),  ir, 1);
166  grid->addWidget(_reqcV2Priority,                          ir, 2, 1, 4);
167  ++ir;
168  grid->addWidget(new QLabel("Start"),            ir, 1);
169  grid->addWidget(_reqcStartDateTime,             ir, 2);
170  grid->addWidget(new QLabel("End"),              ir, 3, Qt::AlignRight);
171  grid->addWidget(_reqcEndDateTime,               ir, 4);
172  ++ir;
173  grid->addWidget(new QLabel("Run By"),           ir, 0);
174  grid->addWidget(_reqcRunBy,                     ir, 1);
175  ++ir;
176  grid->addWidget(new QLabel("Use Obs. Types"),   ir, 0);
177  grid->addWidget(_reqcUseObsTypes,               ir, 1, 1, 4);
178  ++ir;
179  grid->addWidget(new QLabel("Comment(s)"),       ir, 0);
180  grid->addWidget(_reqcComment,                   ir, 1, 1, 4);
181  ++ir;
182  grid->addWidget(new QLabel("Old"),              ir, 1, 1, 2, Qt::AlignCenter);
183  grid->addWidget(new QLabel("New"),              ir, 3, 1, 2, Qt::AlignCenter);
184  ++ir;
185  grid->addWidget(new QLabel("Marker Name"),      ir, 0);
186  grid->addWidget(_reqcOldMarkerName,             ir, 1, 1, 2);
187  grid->addWidget(_reqcNewMarkerName,             ir, 3, 1, 2);
188  ++ir;
189  grid->addWidget(new QLabel("Antenna Name"),     ir, 0);
190  grid->addWidget(_reqcOldAntennaName,            ir, 1, 1, 2);
191  grid->addWidget(_reqcNewAntennaName,            ir, 3, 1, 2);
192  ++ir;
193  grid->addWidget(new QLabel("Antenna Number"),   ir, 0);
194  grid->addWidget(_reqcOldAntennaNumber,          ir, 1, 1, 2);
195  grid->addWidget(_reqcNewAntennaNumber,          ir, 3, 1, 2);
196  ++ir;
197  grid->addWidget(new QLabel("Antenna ecc. dN"),  ir, 0);
198  grid->addWidget(_reqcOldAntennadN,              ir, 1, 1, 2);
199  grid->addWidget(_reqcNewAntennadN,              ir, 3, 1, 2);
200  ++ir;
201  grid->addWidget(new QLabel("Antenna ecc. dE"),  ir, 0);
202  grid->addWidget(_reqcOldAntennadE,              ir, 1, 1, 2);
203  grid->addWidget(_reqcNewAntennadE,              ir, 3, 1, 2);
204  ++ir;
205  grid->addWidget(new QLabel("Antenna ecc. dU"),  ir, 0);
206  grid->addWidget(_reqcOldAntennadU,              ir, 1, 1, 2);
207  grid->addWidget(_reqcNewAntennadU,              ir, 3, 1, 2);
208  ++ir;
209  grid->addWidget(new QLabel("Receiver Name"),    ir, 0);
210  grid->addWidget(_reqcOldReceiverName,           ir, 1, 1, 2);
211  grid->addWidget(_reqcNewReceiverName,           ir, 3, 1, 2);
212  ++ir;
213  grid->addWidget(new QLabel("Receiver Number"),  ir, 0);
214  grid->addWidget(_reqcOldReceiverNumber,         ir, 1, 1, 2);
215  grid->addWidget(_reqcNewReceiverNumber,         ir, 3, 1, 2);
216
217
218  slotReqcTextChanged();
219  connect(_reqcRnxVersion, SIGNAL(currentIndexChanged(const QString &)),
220          this, SLOT(slotReqcTextChanged()));
221
222  _buttonWhatsThis = new QPushButton(tr("Help=Shift+F1"), this);
223  connect(_buttonWhatsThis, SIGNAL(clicked()), this, SLOT(slotWhatsThis()));
224
225  _buttonOK = new QPushButton(tr("OK / Save"), this);
226  connect(_buttonOK, SIGNAL(clicked()), this, SLOT(slotOK()));
227
228  _buttonCancel = new QPushButton(tr("Cancel"), this);
229  connect(_buttonCancel, SIGNAL(clicked()), this, SLOT(close()));
230
231  QHBoxLayout* buttonLayout = new QHBoxLayout;
232  buttonLayout->addWidget(_buttonWhatsThis);
233  buttonLayout->addStretch(1);
234  buttonLayout->addWidget(_buttonOK);
235  buttonLayout->addWidget(_buttonCancel);
236
237  QVBoxLayout* mainLayout = new QVBoxLayout(this);
238  mainLayout->addLayout(grid);
239  mainLayout->addLayout(buttonLayout);
240
241  // WhatsThis, RINEX Editing & QC
242  // -----------------------------
243  _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>"));
244  _reqcSampling->setWhatsThis(tr("<p>Select sampling rate of emerging new RINEX Observation file.</p><p>'0 sec' means that observations from all epochs in the RINEX input file will become part of the RINEX output file. <i>[key: reqcSampling]</i></p>"));
245  _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&PWCSLXYN_ G:5&IQX_ R:12&PC_ R:3&IQX_ E:16&BCX_ E:578&IQX_ J:1&SLXCZ_ J:26&SLX_ J:5&IQX_ C:IQX_ I:ABCX_ S:1&C_ S:5&IQX_'. <i>[key: reqcV2Priority]</i></p>"));
246  _reqcStartDateTime->setWhatsThis(tr("<p>Specify begin of emerging new RINEX Observation file. <i>[key: reqcStartDateTime]</i></p>"));
247  _reqcEndDateTime->setWhatsThis(tr("<p>Specify end of emerging new RINEX Observation file. <i>[key: reqcEndDateTime]</i></p>"));
248  _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>"));
249  _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>"));
250  _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>"));
251  _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>"));
252  _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>"));
253  _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>"));
254  _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>"));
255  _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>"));
256  _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>"));
257  _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>"));
258  _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>"));
259  _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>"));
260  _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>"));
261  _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>"));
262  _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>"));
263  _reqcOldReceiverName->setWhatsThis(tr("<p>Enter old Receiver Name in RINEX Observation file.<p>Default is an empty option field. <i>[key: reqcOldReceiverName]</i></p>"));
264  _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>"));
265  _reqcOldReceiverNumber->setWhatsThis(tr("<p>Enter old Receiver Number in RINEX Observation file.<p>Default is an empty option field. <i>[key: reqcOldReceiverNumber]</i></p>"));
266  _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>"));
267}
268
269// Destructor
270////////////////////////////////////////////////////////////////////////////
271reqcDlg::~reqcDlg() {
272  delete _buttonOK;
273  delete _buttonCancel;
274  delete _buttonWhatsThis;
275}
276
277// Accept the Options
278////////////////////////////////////////////////////////////////////////////
279void reqcDlg::slotOK() {
280  saveOptions();
281  done(0);
282}
283
284// Whats This Help
285////////////////////////////////////////////////////////////////////////////
286void reqcDlg::slotWhatsThis() {
287  QWhatsThis::enterWhatsThisMode();
288}
289
290// Close Dialog gracefully
291////////////////////////////////////////////////////////////////////////////
292void reqcDlg::closeEvent(QCloseEvent* event) {
293
294  int iRet = QMessageBox::question(this, "Close", "Save Options?",
295                                   QMessageBox::Yes, QMessageBox::No,
296                                   QMessageBox::Cancel);
297
298  if      (iRet == QMessageBox::Cancel) {
299    event->ignore();
300    return;
301  }
302  else if (iRet == QMessageBox::Yes) {
303    saveOptions();
304  }
305
306  QDialog::closeEvent(event);
307}
308
309// Save Selected Options
310////////////////////////////////////////////////////////////////////////////
311void reqcDlg::saveOptions() {
312
313  bncSettings settings;
314
315  settings.setValue("reqcRnxVersion"       , _reqcRnxVersion->currentText());
316  settings.setValue("reqcSampling"         , _reqcSampling->value());
317  settings.setValue("reqcV2Priority"       , _reqcV2Priority->text());
318  settings.setValue("reqcStartDateTime"    , _reqcStartDateTime->dateTime().toString(Qt::ISODate));
319  settings.setValue("reqcEndDateTime"      , _reqcEndDateTime->dateTime().toString(Qt::ISODate));
320  settings.setValue("reqcRunBy"            , _reqcRunBy->text());
321  settings.setValue("reqcUseObsTypes"      , _reqcUseObsTypes->text());
322  settings.setValue("reqcComment"          , _reqcComment->text());
323  settings.setValue("reqcOldMarkerName"    , _reqcOldMarkerName->text());
324  settings.setValue("reqcNewMarkerName"    , _reqcNewMarkerName->text());
325  settings.setValue("reqcOldAntennaName"   , _reqcOldAntennaName->text());
326  settings.setValue("reqcNewAntennaName"   , _reqcNewAntennaName->text());
327  settings.setValue("reqcOldAntennaNumber" , _reqcOldAntennaNumber->text());
328  settings.setValue("reqcNewAntennaNumber" , _reqcNewAntennaNumber->text());
329  settings.setValue("reqcOldAntennadN"     , _reqcOldAntennadN->text());
330  settings.setValue("reqcNewAntennadN"     , _reqcNewAntennadN->text());
331  settings.setValue("reqcOldAntennadE"     , _reqcOldAntennadE->text());
332  settings.setValue("reqcNewAntennadE"     , _reqcNewAntennadE->text());
333  settings.setValue("reqcOldAntennadU"     , _reqcOldAntennadU->text());
334  settings.setValue("reqcNewAntennadU"     , _reqcNewAntennadU->text());
335  settings.setValue("reqcNewAntennaNumber" , _reqcNewAntennaNumber->text());
336  settings.setValue("reqcOldReceiverName"  , _reqcOldReceiverName->text());
337  settings.setValue("reqcNewReceiverName"  , _reqcNewReceiverName->text());
338  settings.setValue("reqcOldReceiverNumber", _reqcOldReceiverNumber->text());
339  settings.setValue("reqcNewReceiverNumber", _reqcNewReceiverNumber->text());
340}
341
342//  Reqc Text Changed
343////////////////////////////////////////////////////////////////////////////
344void reqcDlg::slotReqcTextChanged(){
345
346  const static QPalette paletteWhite(QColor(255, 255, 255));
347  const static QPalette paletteGray(QColor(230, 230, 230));
348
349  if (sender() == 0 || sender() == _reqcRnxVersion) {
350    if (_reqcRnxVersion->currentText() == "2") {
351      _reqcV2Priority->setPalette(paletteWhite);
352      _reqcV2Priority->setEnabled(true);
353    }
354    else {
355      _reqcV2Priority->setPalette(paletteGray);
356      _reqcV2Priority->setEnabled(false);
357    }
358  }
359}
360
Note: See TracBrowser for help on using the repository browser.