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

Last change on this file since 8491 was 8491, checked in by stuerze, 13 months ago

minor changes

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&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_";
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&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>"));
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.