Changeset 1668 in ntrip


Ignore:
Timestamp:
Feb 28, 2009, 11:09:23 AM (15 years ago)
Author:
weber
Message:

* empty log message *

Location:
trunk/BNS
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNS/bns.cpp

    r1262 r1668  
    2323#include "bnsrinex.h"
    2424#include "bnssp3.h"
     25#include "bnssettings.h"
    2526
    2627using namespace std;
     
    3536          this, SLOT(slotMoveSocket(QThread*)));
    3637
    37   QSettings settings;
     38  bnsSettings settings;
    3839
    3940  // Set Proxy (application-wide)
  • trunk/BNS/bns.pro

    r1666 r1668  
    2929HEADERS =             bns.h   bnswindow.h   bnshlpdlg.h   bnshtml.h   \
    3030          bnseph.h    bnsutils.h bnsrinex.h bnssp3.h bnsoutf.h        \
    31           bnscaster.h RTCM/clock_orbit_rtcm.h
     31          bnscaster.h RTCM/clock_orbit_rtcm.h bnssettings.h bnsapp.h
    3232
    3333HEADERS += newmat/controlw.h newmat/include.h newmat/myexcept.h  \
     
    3737SOURCES = bnsmain.cpp bns.cpp bnswindow.cpp bnshlpdlg.cpp bnshtml.cpp  \
    3838          bnseph.cpp  bnsutils.cpp bnsrinex.cpp bnssp3.cpp bnsoutf.cpp \
    39           bnscaster.cpp RTCM/clock_orbit_rtcm.c
     39          bnscaster.cpp bnssettings.cpp bnsapp.cpp                     \
     40          RTCM/clock_orbit_rtcm.c
    4041
    4142SOURCES += newmat/bandmat.cpp newmat/cholesky.cpp newmat/evalue.cpp  \
  • trunk/BNS/bnscaster.cpp

    r1287 r1668  
    1717#include <math.h>
    1818#include "bnscaster.h"
     19#include "bnssettings.h"
    1920
    2021using namespace std;
     
    3031  _ic = ic;
    3132
    32   QSettings settings;
     33  bnsSettings settings;
    3334
    3435  QIODevice::OpenMode oMode;
     
    9495  }
    9596
    96   QSettings settings;
     97  bnsSettings settings;
    9798  _outSocket = new QTcpSocket();
    9899  QString password;
  • trunk/BNS/bnseph.cpp

    r1208 r1668  
    1919#include "bnseph.h"
    2020#include "bnsutils.h"
     21#include "bnssettings.h"
    2122
    2223using namespace std;
     
    3031  _socket = 0;
    3132
    32   QSettings settings;
     33  bnsSettings settings;
    3334
    3435  QIODevice::OpenMode oMode;
     
    7273  delete _socket;
    7374
    74   QSettings settings;
     75  bnsSettings settings;
    7576  QString host = settings.value("ephHost").toString();
    7677  if (host.isEmpty()) {
  • trunk/BNS/bnsmain.cpp

    r775 r1668  
    2020#include "bnswindow.h"
    2121#include "bnsutils.h"
     22#include "bnsapp.h"
     23#include "bnssettings.h"
    2224
    2325using namespace std;
     
    2628/////////////////////////////////////////////////////////////////////////////
    2729int main(int argc, char *argv[]) {
     30
     31  QString confFileName;
    2832
    2933  // Command-Line Options
     
    3943  // Main Qt Class
    4044  // -------------
    41   QApplication app(argc, argv, GUIenabled);
     45//QApplication app(argc, argv, GUIenabled);
     46  bnsApp app(argc, argv, GUIenabled);
    4247
     48  app.setApplicationName("BNS");
    4349  app.setOrganizationName("BKG");
    4450  app.setOrganizationDomain("www.bkg.bund.de");
    45   app.setApplicationName("BKG_NTRIP_Server");
     51  app.setConfFileName( confFileName );
    4652
    4753  // Interactive Mode - open the main window
  • trunk/BNS/bnsoutf.cpp

    r1057 r1668  
    2020
    2121#include "bnsoutf.h"
     22#include "bnssettings.h"
    2223
    2324using namespace std;
     
    156157    resolveFileName(GPSweek, datTim);
    157158    _out.setf(ios::showpoint | ios::fixed);
    158     QSettings settings;
     159    bnsSettings settings;
    159160    if (QFile::exists(_fName) &&
    160161        Qt::CheckState(settings.value("fileAppend").toInt()) == Qt::Checked) {
  • trunk/BNS/bnswindow.cpp

    r1666 r1668  
    2020#include "bnswindow.h"
    2121#include "bnshlpdlg.h"
     22#include "bnssettings.h"
    2223
    2324using namespace std;
     
    8788  _bns = 0;
    8889
    89   QSettings settings;
     90  bnsSettings settings;
    9091
    9192  QString fontString = settings.value("font").toString();
     
    140141  setCentralWidget(_canvas);
    141142
     143  // Proxy Options
     144  // -------------
    142145  _proxyHostLineEdit  = new QLineEdit(settings.value("proxyHost").toString());
    143   _proxyHostLineEdit->setWhatsThis(tr("<p>If you are running BNS within a protected Local Area Network (LAN), you might need to use a proxy server to access the Internet. Enter your proxy server IP and port number in case one is operated in front of BNS. If you do not know the IP and port of your proxy server, check the proxy server settings in your Internet browser or ask your network administrator.</p><p>Note that IP streaming is sometimes not allowed in a LAN. In this case you need to ask your network administrator for an appropriate modification of the local security policy or for the installation of a TCP relay to the NTRIP broadcasters. If these are not possible, you might need to run BNS outside your LAN on a network that has unobstructed connection to the Internet.</p>"));
    144146  _proxyPortLineEdit  = new QLineEdit(settings.value("proxyPort").toString());
    145   _proxyPortLineEdit->setWhatsThis(tr("<p>Enter your proxy server port number in case one is operated in front of BNS.</p>"));
    146   _proxyPortLineEdit->setMaximumWidth(9*ww);
    147 
     147
     148  // General Options
     149  // ---------------
    148150  _logFileLineEdit    = new QLineEdit(settings.value("logFile").toString());
    149   _logFileLineEdit->setWhatsThis(tr("<p>Records of BNS activities are shown in the Log section on the bottom of this window. They can be saved into a file when a valid path is specified in the 'Logfile (full path)' field.</p>"));
    150151  _fileAppendCheckBox  = new QCheckBox();
    151152  _fileAppendCheckBox->setCheckState(Qt::CheckState(settings.value("fileAppend").toInt()));
    152   _fileAppendCheckBox->setWhatsThis(tr("<p>When BNS is started, new files are created by default and any existing files with the same name will be overwritten. However, users might want to append already existing files following a restart of BNS, a system crash or when BNS crashed. Tick 'Append files' to continue with existing files and keep what has been recorded so far.</p>"));
    153 
     153  _autoStartCheckBox  = new QCheckBox();
     154  _autoStartCheckBox->setCheckState(Qt::CheckState(
     155                                    settings.value("autoStart").toInt()));
     156
     157  // RINEX Ephemeris Options
     158  // -----------------------
     159  _ephHostLineEdit  = new QLineEdit(settings.value("ephHost").toString());
     160  _ephPortLineEdit  = new QLineEdit(settings.value("ephPort").toString());
     161  _ephEchoLineEdit  = new QLineEdit(settings.value("ephEcho").toString());
     162
     163  // Clocks & Orbits Options
     164  // -----------------------
     165  _clkPortLineEdit  = new QLineEdit(settings.value("clkPort").toString());
    154166  _inpEchoLineEdit  = new QLineEdit(settings.value("inpEcho").toString());
    155   _inpEchoLineEdit->setWhatsThis(tr("Specify the full path to a file where incoming clocks and orbits are saved. Beware that the size of this file can rapidly increase. Default is an empty option field meaning that incoming clocks and orbits are not saved."));
    156 
    157   _ephHostLineEdit  = new QLineEdit(settings.value("ephHost").toString());
    158   _ephHostLineEdit->setWhatsThis(tr("BNS reads Broadcast Ephemeris in RINEX Version 3 Navigation file format from an IP address. Specify the host IP e.g. of a BNC installation providing this information."));
    159   _ephPortLineEdit  = new QLineEdit(settings.value("ephPort").toString());
    160   _ephPortLineEdit->setWhatsThis(tr("BNS reads Broadcast Ephemeris in RINEX Version 3 Navigation file format from an IP address. Specify the IP port e.g. of a BNC installation providing this information."));
    161   _ephPortLineEdit->setMaximumWidth(9*ww);
    162   _ephEchoLineEdit  = new QLineEdit(settings.value("ephEcho").toString());
    163   _ephEchoLineEdit->setWhatsThis(tr("Specify the full path to a file where incoming Broadcast Ephemeris are saved. Beware that the size of this file can rapidly increase. Default is an empty option field meaning that incoming Broadcast Ephemeris are not saved."));
    164 
    165   _clkPortLineEdit  = new QLineEdit(settings.value("clkPort").toString());
    166   _clkPortLineEdit->setWhatsThis(tr("BNS reads Clocks & Orbits referring to the IGS system (X,Y,Z, ECEF) in SP3 format from an IP port. Specify a local IP port e.g. for an RTNet installation to provide this information."));
    167   _clkPortLineEdit->setMaximumWidth(9*ww);
    168 
     167
     168
     169  // Ephemeris Corrections I Options
     170  // -------------------------------
    169171  _outHost_1_LineEdit    = new QLineEdit(settings.value("outHost1").toString());
    170   _outHost_1_LineEdit->setWhatsThis(tr("BNS can stream clock and orbit corrections to Broadcast Ephemeris in RTCM Version 3 format. Specify the host IP of an NTRIP Broadcaster to upload the stream. An empty option field means that you don't want to upload corrections."));
    171172  _outPort_1_LineEdit    = new QLineEdit(settings.value("outPort1").toString());
    172   _outPort_1_LineEdit->setWhatsThis(tr("Specify the IP port of an NTRIP Broadcaster to upload the stream. Default is port 80."));
    173   _outPort_1_LineEdit->setMaximumWidth(9*ww);
    174173  _password_1_LineEdit   = new QLineEdit(settings.value("password1").toString());
    175   _password_1_LineEdit->setWhatsThis(tr("Specify the stream upload password protecting the mounpoint on an NTRIP Broadcaster."));
    176   _password_1_LineEdit->setMaximumWidth(9*ww);
    177174  _password_1_LineEdit->setEchoMode(QLineEdit::Password);
    178 
    179   _outHost_2_LineEdit    = new QLineEdit(settings.value("outHost2").toString());
    180   _outHost_2_LineEdit->setWhatsThis(tr("BNS can stream clock and orbit corrections to Broadcast Ephemeris in RTCM Version 3 format. Specify the host IP of an NTRIP Broadcaster to upload the stream. An empty option field means that you don't want to upload corrections."));
    181   _outPort_2_LineEdit    = new QLineEdit(settings.value("outPort2").toString());
    182   _outPort_2_LineEdit->setWhatsThis(tr("Specify the IP port of an NTRIP Broadcaster to upload the stream. Default is port 80."));
    183   _outPort_2_LineEdit->setMaximumWidth(9*ww);
    184   _password_2_LineEdit   = new QLineEdit(settings.value("password2").toString());
    185   _password_2_LineEdit->setWhatsThis(tr("Specify the stream upload password protecting the mounpoint on an NTRIP Broadcaster."));
    186   _password_2_LineEdit->setMaximumWidth(9*ww);
    187   _password_2_LineEdit->setEchoMode(QLineEdit::Password);
    188 
    189175  _mountpoint_1_LineEdit = new QLineEdit(settings.value("mountpoint_1").toString());
    190   _mountpoint_1_LineEdit->setWhatsThis(tr("Specify the mounpoint for stream upload to an NTRIP Broadcaster."));
    191   _mountpoint_1_LineEdit->setMaximumWidth(12*ww);
    192   _mountpoint_2_LineEdit = new QLineEdit(settings.value("mountpoint_2").toString());
    193   _mountpoint_2_LineEdit->setWhatsThis(tr("Specify the mounpoint for stream upload to an NTRIP Broadcaster."));
    194   _mountpoint_2_LineEdit->setMaximumWidth(12*ww);
    195176  _refSys_1_ComboBox = new QComboBox;
    196   _refSys_1_ComboBox->setMaximumWidth(12*ww);
    197177  _refSys_1_ComboBox->setEditable(false);
    198178  _refSys_1_ComboBox->addItems(QString("IGS05,ETRF2000").split(","));
     
    201181    _refSys_1_ComboBox->setCurrentIndex(ii);
    202182  }
    203   _refSys_1_ComboBox->setWhatsThis(tr("Select the target reference system for outgoing clock and orbit corrections."));
     183  _outFile_1_LineEdit    = new QLineEdit(settings.value("outFile_1").toString());
     184
     185  // Ephemeris Corrections II Options
     186  // --------------------------------
     187  _outHost_2_LineEdit    = new QLineEdit(settings.value("outHost2").toString());
     188  _outPort_2_LineEdit    = new QLineEdit(settings.value("outPort2").toString());
     189  _password_2_LineEdit   = new QLineEdit(settings.value("password2").toString());
     190  _password_2_LineEdit->setEchoMode(QLineEdit::Password);
     191  _mountpoint_2_LineEdit = new QLineEdit(settings.value("mountpoint_2").toString());
    204192  _refSys_2_ComboBox = new QComboBox;
    205   _refSys_2_ComboBox->setMaximumWidth(12*ww);
    206193  _refSys_2_ComboBox->setEditable(false);
    207194  _refSys_2_ComboBox->addItems(QString("IGS05,ETRF2000").split(","));
     
    210197    _refSys_2_ComboBox->setCurrentIndex(ii);
    211198  }
    212   _refSys_2_ComboBox->setWhatsThis(tr("Select the target reference system for outgoing clock and orbit corrections."));
    213   _outFile_1_LineEdit    = new QLineEdit(settings.value("outFile_1").toString());
    214   _outFile_1_LineEdit->setWhatsThis(tr("Specify the full path to a file where outgoing clock and orbit corrections to Broadcast Ephemeris are saved. Beware that the size of this file can rapidly increase. Default is an empty option field meaning that outgoing corrections are not saved."));
    215199  _outFile_2_LineEdit    = new QLineEdit(settings.value("outFile_2").toString());
    216   _outFile_2_LineEdit->setWhatsThis(tr("Specify the full path to a file where outgoing clock and orbit corrections to Broadcast Ephemeris are saved. Beware that the size of this file can rapidly increase. Default is an empty option field meaning that outgoing corrections are not saved."));
    217 
     200
     201  // RINEX Clocks Options
     202  // --------------------
    218203  _rnxPathLineEdit = new QLineEdit(settings.value("rnxPath").toString());
    219   _rnxPathLineEdit->setWhatsThis(tr("Specify the path for saving the generated clock corrections as Clock RINEX files. If the specified directory does not exist, BNS will not create Clock RINEX files."));
    220204  _rnxIntrComboBox = new QComboBox;
    221   _rnxIntrComboBox->setMaximumWidth(9*ww);
    222205  _rnxIntrComboBox->setEditable(false);
    223206  _rnxIntrComboBox->addItems(QString("1 min,2 min,5 min,10 min,15 min,30 min,1 hour,1 day").split(","));
     
    226209    _rnxIntrComboBox->setCurrentIndex(ii);
    227210  }
    228   _rnxIntrComboBox->setWhatsThis(tr("Select the length of the Clock RINEX file."));
    229211  _rnxSamplSpinBox = new QSpinBox;
    230212  _rnxSamplSpinBox->setMinimum(0);
     
    234216  _rnxSamplSpinBox->setValue(settings.value("rnxSampl").toInt());
    235217  _rnxSamplSpinBox->setSuffix(" sec");
    236   _rnxSamplSpinBox->setWhatsThis(tr("Select the Clock RINEX file sampling interval in seconds. A value of zero '0' tells BNS to store all available samples into Clock RINEX files."));
    237 
     218
     219  // SP3 Orbits Options
     220  // ------------------
    238221  _sp3PathLineEdit = new QLineEdit(settings.value("sp3Path").toString());
    239   _sp3PathLineEdit->setWhatsThis(tr("Specify the path for saving the generated orbit corrections as SP3 orbit files. If the specified directory does not exist, BNS will not create SP3 orbit files."));
    240222  _sp3IntrComboBox = new QComboBox;
    241   _sp3IntrComboBox->setMaximumWidth(9*ww);
    242223  _sp3IntrComboBox->setEditable(false);
    243224  _sp3IntrComboBox->addItems(QString("1 min,2 min,5 min,10 min,15 min,30 min,1 hour,1 day").split(","));
     
    246227    _sp3IntrComboBox->setCurrentIndex(ii);
    247228  }
    248   _sp3IntrComboBox->setWhatsThis(tr("Select the length of the SP3 orbit file."));
    249229  _sp3SamplSpinBox = new QSpinBox;
    250230  _sp3SamplSpinBox->setMinimum(0);
     
    254234  _sp3SamplSpinBox->setValue(settings.value("sp3Sampl").toInt());
    255235  _sp3SamplSpinBox->setSuffix(" sec");
     236
     237  // Whats This
     238  // ----------
     239  _proxyHostLineEdit->setWhatsThis(tr("<p>If you are running BNS within a protected Local Area Network (LAN), you might need to use a proxy server to access the Internet. Enter your proxy server IP and port number in case one is operated in front of BNS. If you do not know the IP and port of your proxy server, check the proxy server settings in your Internet browser or ask your network administrator.</p><p>Note that IP streaming is sometimes not allowed in a LAN. In this case you need to ask your network administrator for an appropriate modification of the local security policy or for the installation of a TCP relay to the NTRIP broadcasters. If these are not possible, you might need to run BNS outside your LAN on a network that has unobstructed connection to the Internet.</p>"));
     240  _proxyPortLineEdit->setWhatsThis(tr("<p>Enter your proxy server port number in case one is operated in front of BNS.</p>"));
     241  _logFileLineEdit->setWhatsThis(tr("<p>Records of BNS activities are shown in the Log section on the bottom of this window. They can be saved into a file when a valid path is specified in the 'Logfile (full path)' field.</p>"));
     242  _fileAppendCheckBox->setWhatsThis(tr("<p>When BNS is started, new files are created by default and any existing files with the same name will be overwritten. However, users might want to append already existing files following a restart of BNS, a system crash or when BNS crashed. Tick 'Append files' to continue with existing files and keep what has been recorded so far.</p>"));
     243  _inpEchoLineEdit->setWhatsThis(tr("Specify the full path to a file where incoming clocks and orbits are saved. Beware that the size of this file can rapidly increase. Default is an empty option field meaning that incoming clocks and orbits are not saved."));
     244  _ephHostLineEdit->setWhatsThis(tr("BNS reads Broadcast Ephemeris in RINEX Version 3 Navigation file format from an IP address. Specify the host IP e.g. of a BNC installation providing this information."));
     245  _ephPortLineEdit->setWhatsThis(tr("BNS reads Broadcast Ephemeris in RINEX Version 3 Navigation file format from an IP address. Specify the IP port e.g. of a BNC installation providing this information."));
     246  _ephEchoLineEdit->setWhatsThis(tr("Specify the full path to a file where incoming Broadcast Ephemeris are saved. Beware that the size of this file can rapidly increase. Default is an empty option field meaning that incoming Broadcast Ephemeris are not saved."));
     247  _clkPortLineEdit->setWhatsThis(tr("BNS reads Clocks & Orbits referring to the IGS system (X,Y,Z, ECEF) in SP3 format from an IP port. Specify a local IP port e.g. for an RTNet installation to provide this information."));
     248  _outHost_1_LineEdit->setWhatsThis(tr("BNS can stream clock and orbit corrections to Broadcast Ephemeris in RTCM Version 3 format. Specify the host IP of an NTRIP Broadcaster to upload the stream. An empty option field means that you don't want to upload corrections."));
     249  _outPort_1_LineEdit->setWhatsThis(tr("Specify the IP port of an NTRIP Broadcaster to upload the stream. Default is port 80."));
     250  _password_1_LineEdit->setWhatsThis(tr("Specify the stream upload password protecting the mounpoint on an NTRIP Broadcaster."));
     251  _mountpoint_1_LineEdit->setWhatsThis(tr("Specify the mounpoint for stream upload to an NTRIP Broadcaster."));
     252  _refSys_1_ComboBox->setWhatsThis(tr("Select the target reference system for outgoing clock and orbit corrections."));
     253  _outHost_2_LineEdit->setWhatsThis(tr("BNS can stream clock and orbit corrections to Broadcast Ephemeris in RTCM Version 3 format. Specify the host IP of an NTRIP Broadcaster to upload the stream. An empty option field means that you don't want to upload corrections."));
     254  _outPort_2_LineEdit->setWhatsThis(tr("Specify the IP port of an NTRIP Broadcaster to upload the stream. Default is port 80."));
     255  _password_2_LineEdit->setWhatsThis(tr("Specify the stream upload password protecting the mounpoint on an NTRIP Broadcaster."));
     256  _mountpoint_2_LineEdit->setWhatsThis(tr("Specify the mounpoint for stream upload to an NTRIP Broadcaster."));
     257  _refSys_2_ComboBox->setWhatsThis(tr("Select the target reference system for outgoing clock and orbit corrections."));
     258  _outFile_1_LineEdit->setWhatsThis(tr("Specify the full path to a file where outgoing clock and orbit corrections to Broadcast Ephemeris are saved. Beware that the size of this file can rapidly increase. Default is an empty option field meaning that outgoing corrections are not saved."));
     259  _outFile_2_LineEdit->setWhatsThis(tr("Specify the full path to a file where outgoing clock and orbit corrections to Broadcast Ephemeris are saved. Beware that the size of this file can rapidly increase. Default is an empty option field meaning that outgoing corrections are not saved."));
     260  _rnxPathLineEdit->setWhatsThis(tr("Specify the path for saving the generated clock corrections as Clock RINEX files. If the specified directory does not exist, BNS will not create Clock RINEX files."));
     261  _rnxIntrComboBox->setWhatsThis(tr("Select the length of the Clock RINEX file."));
     262  _rnxSamplSpinBox->setWhatsThis(tr("Select the Clock RINEX file sampling interval in seconds. A value of zero '0' tells BNS to store all available samples into Clock RINEX files."));
     263  _sp3PathLineEdit->setWhatsThis(tr("Specify the path for saving the generated orbit corrections as SP3 orbit files. If the specified directory does not exist, BNS will not create SP3 orbit files."));
     264  _sp3IntrComboBox->setWhatsThis(tr("Select the length of the SP3 orbit file."));
    256265  _sp3SamplSpinBox->setWhatsThis(tr("Select the SP3 orbit file sampling interval in seconds. A value of zero '0' tells BNS to store all available samples into SP3 orbit files."));
     266  _autoStartCheckBox->setWhatsThis(tr("<p>Tick 'Auto start' for auto-start of BNS at startup time in window mode with preassigned processing options.</p>"));
     267
    257268
    258269  // TabWidget
    259270  // ---------
    260   QTabWidget* tabs = new QTabWidget();
     271  tabs = new QTabWidget();
    261272
    262273  // Proxy Tab
     
    267278
    268279  QGridLayout* layout_prx = new QGridLayout;
     280
    269281  layout_prx->setColumnMinimumWidth(0,9*ww);
    270 
    271   layout_prx->addWidget(new QLabel("Host"),       0, 0, Qt::AlignLeft);
    272   layout_prx->addWidget(_proxyHostLineEdit,       0, 1);
    273   layout_prx->addWidget(new QLabel("Port"),       1, 0, Qt::AlignLeft);
     282  _proxyPortLineEdit->setMaximumWidth(9*ww);
     283
     284  layout_prx->addWidget(new QLabel("Host"),       0, 0);
     285  layout_prx->addWidget(_proxyHostLineEdit,       0, 1, 1, 10);
     286  layout_prx->addWidget(new QLabel("Port"),       1, 0);
    274287  layout_prx->addWidget(_proxyPortLineEdit,       1, 1);
    275   layout_prx->addWidget(new QLabel("Settings for the proxy in protected networks, leave boxes blank if none."),2, 0, 1, 2, Qt::AlignLeft);
     288  layout_prx->addWidget(new QLabel("Settings for the proxy in protected networks, leave boxes blank if none."),2, 0, 1, 50, Qt::AlignLeft);
    276289  layout_prx->addWidget(new QLabel("    "),       3, 0);
    277290
    278291  tab_prx->setLayout(layout_prx);
     292
     293  connect(_proxyHostLineEdit, SIGNAL(textChanged(const QString &)),
     294          this, SLOT(bnsText(const QString &)));
     295  if (_proxyHostLineEdit->text().isEmpty()) {
     296    _proxyPortLineEdit->setStyleSheet("background-color: lightGray");
     297    _proxyPortLineEdit->setEnabled(false);
     298  }
    279299
    280300  // General Tab
     
    284304
    285305  QGridLayout* layout_gen = new QGridLayout;
     306
    286307  layout_gen->setColumnMinimumWidth(0,9*ww);
    287 
    288   layout_gen->addWidget(new QLabel("Logfile (full path)"), 0, 0);
    289   layout_gen->addWidget(_logFileLineEdit,                  0, 1);
    290   layout_gen->addWidget(new QLabel("Append files"),        1, 0);
    291   layout_gen->addWidget(_fileAppendCheckBox,               1, 1);
    292   layout_gen->addWidget(new QLabel("General settings for logfile and file handling."), 2, 0, 1, 2, Qt::AlignLeft);
    293   layout_gen->addWidget(new QLabel("    "),                3, 0);
     308  _logFileLineEdit->setMaximumWidth(40*ww);
     309
     310  layout_gen->addWidget(new QLabel("Logfile (full path)  "), 0, 0);
     311  layout_gen->addWidget(_logFileLineEdit,                    0, 1);
     312  layout_gen->addWidget(new QLabel("Append files"),          1, 0);
     313  layout_gen->addWidget(_fileAppendCheckBox,                 1, 1);
     314  layout_gen->addWidget(new QLabel("Auto start"),            2, 0);
     315  layout_gen->addWidget(_autoStartCheckBox,                  2, 1);
     316  layout_gen->addWidget(new QLabel("General settings for logfile and file handling."), 3, 0, 1, 50, Qt::AlignLeft);
    294317
    295318  tab_gen->setLayout(layout_gen);
    296319
    297   // Ephemeris Tab
    298   // -------------
     320  // RINEX Ephemeris Tab
     321  // -------------------
    299322  QWidget* tab_eph = new QWidget();
    300323  tabs->addTab(tab_eph, "RINEX Ephemeris");
    301324
    302325  QGridLayout* layout_eph = new QGridLayout;
     326
    303327  layout_eph->setColumnMinimumWidth(0, 9*ww);
     328  _ephPortLineEdit->setMaximumWidth(9*ww);
    304329
    305330  layout_eph->addWidget(new QLabel("Host"),                   0, 0);
    306   layout_eph->addWidget(_ephHostLineEdit,                     0, 1);
     331  layout_eph->addWidget(_ephHostLineEdit,                     0, 1, 1, 10);
    307332  layout_eph->addWidget(new QLabel("Port"),                   1, 0);
    308333  layout_eph->addWidget(_ephPortLineEdit,                     1, 1);
    309334  layout_eph->addWidget(new QLabel("Save (full path)"),       2, 0);
    310   layout_eph->addWidget(_ephEchoLineEdit,                     2, 1);
    311   layout_eph->addWidget(new QLabel("Read broadcast ephemeris in RINEX Version 3 Navigation format."), 3, 0, 1, 2, Qt::AlignLeft);
    312 //layout_eph->addWidget(new QLabel(""),                       4, 0);
     335  layout_eph->addWidget(_ephEchoLineEdit,                     2, 1, 1, 26);
     336  layout_eph->addWidget(new QLabel("Read broadcast ephemeris in RINEX Version 3 Navigation format."), 3, 0, 1, 50, Qt::AlignLeft);
    313337
    314338  tab_eph->setLayout(layout_eph);
    315339
    316   // Clock & Orbit Tab
    317   // -----------------
     340  // Clocks & Orbits Tab
     341  // -------------------
    318342  QWidget* tab_co = new QWidget();
    319343  tabs->addTab(tab_co,"Clocks && Orbits");
    320344
    321 
    322345  QGridLayout* layout_co = new QGridLayout;
     346
    323347  layout_co->setColumnMinimumWidth(0, 9*ww);
     348  _clkPortLineEdit->setMaximumWidth(9*ww);
    324349
    325350  layout_co->addWidget(new QLabel("Listening port"),                  0, 0);
    326351  layout_co->addWidget(_clkPortLineEdit,                              0, 1);
    327   layout_co->addWidget(new QLabel("Save (full path)"),                1, 0);
     352  layout_co->addWidget(new QLabel("Save (full path)  "),              1, 0);
    328353  layout_co->addWidget(_inpEchoLineEdit,                              1, 1);
    329   layout_co->addWidget(new QLabel("Read clocks and orbits in SP3 format."),     2, 0, 1, 2, Qt::AlignLeft);
     354  layout_co->addWidget(new QLabel("Read clocks and orbits in SP3 format."),     2, 0, 1, 50, Qt::AlignLeft);
    330355  layout_co->addWidget(new QLabel(""),                                3, 0);
    331356
    332357  tab_co->setLayout(layout_co);
    333358
    334   // Caster Tab I
    335   // ------------
     359  // Ephemeris Corrections I Tab
     360  // ---------------------------
    336361  QWidget* tab_cas1 = new QWidget();
    337362  tabs->addTab(tab_cas1, "Ephemeris Corrections I");
    338363
    339364  QGridLayout* layout_cas1 = new QGridLayout;
     365
    340366  layout_cas1->setColumnMinimumWidth(0, 9*ww);
    341   layout_cas1->addWidget(new QLabel("Host"),             0, 0);
    342   layout_cas1->addWidget(_outHost_1_LineEdit,            0, 1, 1, 3);
    343   layout_cas1->addWidget(new QLabel("Port"),             0, 4, Qt::AlignRight);
    344   layout_cas1->addWidget(_outPort_1_LineEdit,            0, 5);
    345   layout_cas1->addWidget(new QLabel("Mountpoint"),       1, 0);
    346   layout_cas1->addWidget(_mountpoint_1_LineEdit,         1, 1);
    347   layout_cas1->addWidget(new QLabel("Password"),         1, 2, Qt::AlignRight);
    348   layout_cas1->addWidget(_password_1_LineEdit,           1, 3);
    349   layout_cas1->addWidget(new QLabel(" "),                1, 4);
    350   layout_cas1->addWidget(new QLabel(" "),                1, 5);
    351   layout_cas1->addWidget(new QLabel("System"),           2, 0);
    352   layout_cas1->addWidget(_refSys_1_ComboBox,             2, 1);
    353   layout_cas1->addWidget(new QLabel("Save (full path)"), 2, 2, Qt::AlignRight);
    354   layout_cas1->addWidget(_outFile_1_LineEdit,            2, 3, 1, 10);
    355   layout_cas1->addWidget(new QLabel("Produce broadcast ephemeris corrections, upload to caster, reference system, local storage."), 3, 0, 1, 10);
     367  _outPort_1_LineEdit->setMaximumWidth(9*ww);
     368  _password_1_LineEdit->setMaximumWidth(9*ww);
     369  _mountpoint_1_LineEdit->setMaximumWidth(12*ww);
     370  _refSys_1_ComboBox->setMaximumWidth(12*ww);
     371
     372  layout_cas1->addWidget(new QLabel("Host"),               0, 0);
     373  layout_cas1->addWidget(_outHost_1_LineEdit,              0, 1, 1, 3);
     374  layout_cas1->addWidget(new QLabel("  Port"),             0, 4, Qt::AlignRight);
     375  layout_cas1->addWidget(_outPort_1_LineEdit,              0, 5);
     376  layout_cas1->addWidget(new QLabel("Mountpoint"),         1, 0);
     377  layout_cas1->addWidget(_mountpoint_1_LineEdit,           1, 1);
     378  layout_cas1->addWidget(new QLabel("Password"),           1, 2, Qt::AlignRight);
     379  layout_cas1->addWidget(_password_1_LineEdit,             1, 3);
     380  layout_cas1->addWidget(new QLabel(" "),                  1, 4);
     381  layout_cas1->addWidget(new QLabel(" "),                  1, 5);
     382  layout_cas1->addWidget(new QLabel("System"),             2, 0);
     383  layout_cas1->addWidget(_refSys_1_ComboBox,               2, 1);
     384  layout_cas1->addWidget(new QLabel("  Save (full path)"), 2, 2, Qt::AlignRight);
     385  layout_cas1->addWidget(_outFile_1_LineEdit,              2, 3, 1, 30);
     386  layout_cas1->addWidget(new QLabel("Produce broadcast ephemeris corrections, upload to caster, reference system, local storage."), 3, 0, 1, 50);
    356387
    357388  tab_cas1->setLayout(layout_cas1);
    358389
    359   // Caster Tab II
    360   // -------------
     390  connect(_outHost_1_LineEdit, SIGNAL(textChanged(const QString &)),
     391          this, SLOT(bnsText(const QString &)));
     392  if (_outHost_1_LineEdit->text().isEmpty()) {
     393    _outPort_1_LineEdit->setStyleSheet("background-color: lightGray");
     394    _mountpoint_1_LineEdit->setStyleSheet("background-color: lightGray");
     395    _password_1_LineEdit->setStyleSheet("background-color: lightGray");
     396    _outFile_1_LineEdit->setStyleSheet("background-color: lightGray");
     397    _refSys_1_ComboBox->setStyleSheet("background-color: lightGray");
     398    _outPort_1_LineEdit->setEnabled(false);
     399    _mountpoint_1_LineEdit->setEnabled(false);
     400    _password_1_LineEdit->setEnabled(false);
     401    _outFile_1_LineEdit->setEnabled(false);
     402    _refSys_1_ComboBox->setEnabled(false);
     403  }
     404
     405  // Ephemeris Corrections II Tab
     406  // ----------------------------
    361407  QWidget* tab_cas2 = new QWidget();
    362408  tabs->addTab(tab_cas2, "Ephemeris Corrections II");
    363409
    364410  QGridLayout* layout_cas2 = new QGridLayout;
     411
    365412  layout_cas2->setColumnMinimumWidth(0, 9*ww);
    366   layout_cas2->addWidget(new QLabel("Host"),             0, 0);
    367   layout_cas2->addWidget(_outHost_2_LineEdit,            0, 1, 1, 3);
    368   layout_cas2->addWidget(new QLabel("Port"),             0, 4, Qt::AlignRight);
    369   layout_cas2->addWidget(_outPort_2_LineEdit,            0, 5);
    370   layout_cas2->addWidget(new QLabel("Mountpoint"),       1, 0);
    371   layout_cas2->addWidget(_mountpoint_2_LineEdit,         1, 1);
    372   layout_cas2->addWidget(new QLabel("Password"),         1, 2, Qt::AlignRight);
    373   layout_cas2->addWidget(_password_2_LineEdit,           1, 3);
    374   layout_cas2->addWidget(new QLabel(" "),                1, 4);
    375   layout_cas2->addWidget(new QLabel(" "),                1, 5);
    376   layout_cas2->addWidget(new QLabel("System"),           2, 0);
    377   layout_cas2->addWidget(_refSys_2_ComboBox,             2, 1);
    378   layout_cas2->addWidget(new QLabel("Save (full path)"), 2, 2, Qt::AlignRight);
    379   layout_cas2->addWidget(_outFile_2_LineEdit,            2, 3, 1, 10);
    380   layout_cas2->addWidget(new QLabel("Produce broadcast ephemeris corrections, upload to caster, reference system, local storage."), 3, 0, 1, 10);
     413  _outPort_2_LineEdit->setMaximumWidth(9*ww);
     414  _password_2_LineEdit->setMaximumWidth(9*ww);
     415  _mountpoint_2_LineEdit->setMaximumWidth(12*ww);
     416  _refSys_2_ComboBox->setMaximumWidth(12*ww);
     417
     418  layout_cas2->addWidget(new QLabel("Host"),               0, 0);
     419  layout_cas2->addWidget(_outHost_2_LineEdit,              0, 1, 1, 3);
     420  layout_cas2->addWidget(new QLabel("  Port"),             0, 4, Qt::AlignRight);
     421  layout_cas2->addWidget(_outPort_2_LineEdit,              0, 5);
     422  layout_cas2->addWidget(new QLabel("Mountpoint"),         1, 0);
     423  layout_cas2->addWidget(_mountpoint_2_LineEdit,           1, 1);
     424  layout_cas2->addWidget(new QLabel("Password"),           1, 2, Qt::AlignRight);
     425  layout_cas2->addWidget(_password_2_LineEdit,             1, 3);
     426  layout_cas2->addWidget(new QLabel(" "),                  1, 4);
     427  layout_cas2->addWidget(new QLabel(" "),                  1, 5);
     428  layout_cas2->addWidget(new QLabel("System"),             2, 0);
     429  layout_cas2->addWidget(_refSys_2_ComboBox,               2, 1);
     430  layout_cas2->addWidget(new QLabel("  Save (full path)"), 2, 2, Qt::AlignRight);
     431  layout_cas2->addWidget(_outFile_2_LineEdit,              2, 3, 1, 30);
     432  layout_cas2->addWidget(new QLabel("Produce broadcast ephemeris corrections, upload to caster, reference system, local storage."), 3, 0, 1, 50);
    381433
    382434  tab_cas2->setLayout(layout_cas2);
    383435
    384   // RINEX Tab
    385   // ---------
     436  connect(_outHost_2_LineEdit, SIGNAL(textChanged(const QString &)),
     437          this, SLOT(bnsText(const QString &)));
     438  if (_outHost_2_LineEdit->text().isEmpty()) {
     439    _outPort_2_LineEdit->setStyleSheet("background-color: lightGray");
     440    _mountpoint_2_LineEdit->setStyleSheet("background-color: lightGray");
     441    _password_2_LineEdit->setStyleSheet("background-color: lightGray");
     442    _outFile_2_LineEdit->setStyleSheet("background-color: lightGray");
     443    _refSys_2_ComboBox->setStyleSheet("background-color: lightGray");
     444    _outPort_2_LineEdit->setEnabled(false);
     445    _mountpoint_2_LineEdit->setEnabled(false);
     446    _password_2_LineEdit->setEnabled(false);
     447    _outFile_2_LineEdit->setEnabled(false);
     448    _refSys_2_ComboBox->setEnabled(false);
     449  }
     450
     451  // RINEX Clocks Tab
     452  // ----------------
    386453  QWidget* tab_rin = new QWidget();
    387454  tabs->addTab(tab_rin, "RINEX Clocks ");
    388455
    389456  QGridLayout* layout_rin = new QGridLayout;
     457
    390458  layout_rin->setColumnMinimumWidth(0, 9*ww);
     459  _rnxIntrComboBox->setMaximumWidth(9*ww);
    391460
    392461  layout_rin->addWidget(new QLabel("Directory"),                    0, 0);
    393   layout_rin->addWidget(_rnxPathLineEdit,                           0, 1);
     462  layout_rin->addWidget(_rnxPathLineEdit,                           0, 1, 1, 27);
    394463  layout_rin->addWidget(new QLabel("Interval"),                     1, 0);
    395464  layout_rin->addWidget(_rnxIntrComboBox,                           1, 1);
    396465  layout_rin->addWidget(new QLabel("Sampling"),                     2, 0);
    397466  layout_rin->addWidget(_rnxSamplSpinBox,                           2, 1);
    398   layout_rin->addWidget(new QLabel("Save clock corrections in Clock RINEX file format."),  3, 0, 1, 2, Qt::AlignLeft);
     467  layout_rin->addWidget(new QLabel("Save clock corrections in Clock RINEX file format."),  3, 0, 1, 50, Qt::AlignLeft);
     468  layout_rin->addWidget(new QLabel("    "),                         3, 0);
    399469
    400470  tab_rin->setLayout(layout_rin);
    401471
    402   // SP3 Tab
    403   // -------
     472  connect(_rnxPathLineEdit, SIGNAL(textChanged(const QString &)),
     473          this, SLOT(bnsText(const QString &)));
     474  if (_rnxPathLineEdit->text().isEmpty()) {
     475    _rnxIntrComboBox->setStyleSheet("background-color: lightGray");
     476    _rnxSamplSpinBox->setStyleSheet("background-color: lightGray");
     477    _rnxIntrComboBox->setEnabled(false);
     478    _rnxSamplSpinBox->setEnabled(false);
     479  }
     480
     481  // SP3 Orbits Tab
     482  // --------------
    404483  QWidget* tab_sp3 = new QWidget();
    405484  tabs->addTab(tab_sp3, "SP3 Orbits");
    406485
    407486  QGridLayout* layout_sp3 = new QGridLayout;
     487
    408488  layout_sp3->setColumnMinimumWidth(0, 9*ww);
     489  _sp3IntrComboBox->setMaximumWidth(9*ww);
    409490
    410491  layout_sp3->addWidget(new QLabel("Directory"),                 0, 0);
    411   layout_sp3->addWidget(_sp3PathLineEdit,                        0, 1);
     492  layout_sp3->addWidget(_sp3PathLineEdit,                        0, 1, 1, 27);
    412493  layout_sp3->addWidget(new QLabel("Interval"),                  1, 0);
    413494  layout_sp3->addWidget(_sp3IntrComboBox,                        1, 1);
    414495  layout_sp3->addWidget(new QLabel("Sampling"),                  2, 0);
    415496  layout_sp3->addWidget(_sp3SamplSpinBox,                        2, 1);
    416   layout_sp3->addWidget(new QLabel("Save orbit corrections in SP3 file format."), 3, 0, 1, 2, Qt::AlignLeft);
     497  layout_sp3->addWidget(new QLabel("Save orbit corrections in SP3 file format."), 3, 0, 1, 50, Qt::AlignLeft);
     498  layout_sp3->addWidget(new QLabel("    "),                      3, 0);
    417499
    418500  tab_sp3->setLayout(layout_sp3);
     501
     502  connect(_sp3PathLineEdit, SIGNAL(textChanged(const QString &)),
     503          this, SLOT(bnsText(const QString &)));
     504  if (_sp3PathLineEdit->text().isEmpty()) {
     505    _sp3IntrComboBox->setStyleSheet("background-color: lightGray");
     506    _sp3SamplSpinBox->setStyleSheet("background-color: lightGray");
     507    _sp3IntrComboBox->setEnabled(false);
     508    _sp3SamplSpinBox->setEnabled(false);
     509  }
     510
     511  tabs->setCurrentIndex(settings.value("startTab").toInt());
    419512
    420513  // Log
     
    426519  // Status
    427520  // ------
    428 //_status = new QWidget();
    429521  _status = new QGroupBox(tr("Status"));
    430522  QGridLayout* layout_status = new QGridLayout;
     
    466558
    467559  _canvas->setLayout(mainLayout);
     560
     561  // Auto start
     562  // ----------
     563  if ( Qt::CheckState(settings.value("autoStart").toInt()) == Qt::Checked) {
     564    slotStart();
     565  }
     566
    468567}
    469568
     
    498597}
    499598
    500 //Flowchart
     599// Flowchart
    501600////////////////////////////////////////////////////////////////////////////
    502601void bnsWindow::slotFlowchart() {
     
    518617  QFont newFont = QFontDialog::getFont(&ok, this->font(), this);
    519618  if (ok) {
    520     QSettings settings;
     619    bnsSettings settings;
    521620    settings.setValue("font", newFont.toString());
    522621    QApplication::setFont(newFont);
     
    563662////////////////////////////////////////////////////////////////////////////
    564663void bnsWindow::slotSaveOptions() {
    565   QSettings settings;
     664  bnsSettings settings;
    566665  settings.setValue("proxyHost",   _proxyHostLineEdit->text());
    567666  settings.setValue("proxyPort",   _proxyPortLineEdit->text());
    568667  settings.setValue("logFile",     _logFileLineEdit->text());
    569668  settings.setValue("fileAppend",  _fileAppendCheckBox->checkState());
     669  settings.setValue("autoStart",   _autoStartCheckBox->checkState());
    570670  settings.setValue("refSys_1",    _refSys_1_ComboBox->currentText());
    571671  settings.setValue("refSys_2",    _refSys_2_ComboBox->currentText());
     
    591691  settings.setValue("sp3Intr",     _sp3IntrComboBox->currentText());
    592692  settings.setValue("sp3Sampl",    _sp3SamplSpinBox->value());
     693  settings.setValue("startTab",    tabs->currentIndex());
    593694}
    594695
     
    688789  }
    689790}
     791
     792//  Bns Text
     793////////////////////////////////////////////////////////////////////////////
     794void bnsWindow::bnsText(const QString &text){
     795
     796  bool isEmpty = text.isEmpty();
     797
     798  QPalette palette;
     799  QColor lightGray(230, 230, 230);
     800  QColor white(255, 255, 255);
     801
     802  // Enable/disable Proxy Options
     803  // -----
     804  if (tabs->currentIndex() == 0) {
     805    if (!isEmpty) {
     806      _proxyPortLineEdit->setStyleSheet("background-color: white");
     807      _proxyPortLineEdit->setEnabled(true);
     808    } else {
     809      _proxyPortLineEdit->setStyleSheet("background-color: lightGray");
     810      _proxyPortLineEdit->setEnabled(false);
     811    }
     812  }
     813
     814  // Enable/disable  Ephemeris Corrections I Options
     815  // -----------------------------------------------
     816  if (tabs->currentIndex() == 4) {
     817    if (!isEmpty) {
     818      _outPort_1_LineEdit->setStyleSheet("background-color: white");
     819      _mountpoint_1_LineEdit->setStyleSheet("background-color: white");
     820      _password_1_LineEdit->setStyleSheet("background-color: white");
     821      _outFile_1_LineEdit->setStyleSheet("background-color: white");
     822      _refSys_1_ComboBox->setStyleSheet("background-color: white");
     823      _outPort_1_LineEdit->setEnabled(true);
     824      _mountpoint_1_LineEdit->setEnabled(true);
     825      _password_1_LineEdit->setEnabled(true);
     826      _outFile_1_LineEdit->setEnabled(true);
     827      _refSys_1_ComboBox->setEnabled(true);
     828    } else {
     829      _outPort_1_LineEdit->setStyleSheet("background-color: lightGray");
     830      _mountpoint_1_LineEdit->setStyleSheet("background-color: lightGray");
     831      _password_1_LineEdit->setStyleSheet("background-color: lightGray");
     832      _outFile_1_LineEdit->setStyleSheet("background-color: lightGray");
     833      _refSys_1_ComboBox->setStyleSheet("background-color: lightGray");
     834      _outPort_1_LineEdit->setEnabled(false);
     835      _mountpoint_1_LineEdit->setEnabled(false);
     836      _password_1_LineEdit->setEnabled(false);
     837      _outFile_1_LineEdit->setEnabled(false);
     838      _refSys_1_ComboBox->setEnabled(false);
     839    }
     840  }
     841
     842  // Enable/disable Ephemeris Corrections II Options
     843  // -----------------------------------------------
     844  if (tabs->currentIndex() == 5) {
     845    if (!isEmpty) {
     846      _outPort_2_LineEdit->setStyleSheet("background-color: white");
     847      _mountpoint_2_LineEdit->setStyleSheet("background-color: white");
     848      _password_2_LineEdit->setStyleSheet("background-color: white");
     849      _outFile_2_LineEdit->setStyleSheet("background-color: white");
     850      _refSys_2_ComboBox->setStyleSheet("background-color: white");
     851      _outPort_2_LineEdit->setEnabled(true);
     852      _mountpoint_2_LineEdit->setEnabled(true);
     853      _password_2_LineEdit->setEnabled(true);
     854      _outFile_2_LineEdit->setEnabled(true);
     855      _refSys_2_ComboBox->setEnabled(true);
     856    } else {
     857      _outPort_2_LineEdit->setStyleSheet("background-color: lightGray");
     858      _mountpoint_2_LineEdit->setStyleSheet("background-color: lightGray");
     859      _password_2_LineEdit->setStyleSheet("background-color: lightGray");
     860      _outFile_2_LineEdit->setStyleSheet("background-color: lightGray");
     861      _refSys_2_ComboBox->setStyleSheet("background-color: lightGray");
     862      _outPort_2_LineEdit->setEnabled(false);
     863      _mountpoint_2_LineEdit->setEnabled(false);
     864      _password_2_LineEdit->setEnabled(false);
     865      _outFile_2_LineEdit->setEnabled(false);
     866      _refSys_2_ComboBox->setEnabled(false);
     867    }
     868  }
     869
     870  // Enable/disable RINEX Clocks Options
     871  // -----------------------------------
     872  if (tabs->currentIndex() == 6) {
     873    if (!isEmpty) {
     874      _rnxIntrComboBox->setStyleSheet("background-color: white");
     875      _rnxSamplSpinBox->setStyleSheet("background-color: white");
     876      _rnxIntrComboBox->setEnabled(true);
     877      _rnxSamplSpinBox->setEnabled(true);
     878    } else {
     879      _rnxIntrComboBox->setStyleSheet("background-color: lightGray");
     880      _rnxSamplSpinBox->setStyleSheet("background-color: lightGray");
     881      _rnxIntrComboBox->setEnabled(false);
     882      _rnxSamplSpinBox->setEnabled(false);
     883    }
     884  }
     885
     886  // Enable/disable SP3 Orbits Options
     887  // ---------------------------------
     888  if (tabs->currentIndex() == 7) {
     889    if (!isEmpty) {
     890      _sp3IntrComboBox->setStyleSheet("background-color: white");
     891      _sp3SamplSpinBox->setStyleSheet("background-color: white");
     892      _sp3IntrComboBox->setEnabled(true);
     893      _sp3SamplSpinBox->setEnabled(true);
     894    } else {
     895      _sp3IntrComboBox->setStyleSheet("background-color: lightGray");
     896      _sp3SamplSpinBox->setStyleSheet("background-color: lightGray");
     897      _sp3IntrComboBox->setEnabled(false);
     898      _sp3SamplSpinBox->setEnabled(false);
     899    }
     900  }
     901
     902}
  • trunk/BNS/bnswindow.h

    r1258 r1668  
    3232  void slotMessage(const QByteArray msg);
    3333  void slotError(const QByteArray msg);
     34  void bnsText(const QString &text);
    3435
    3536 private slots:
     
    9899  QSpinBox*  _sp3SamplSpinBox;
    99100  QCheckBox* _fileAppendCheckBox;
     101  QCheckBox* _autoStartCheckBox;
    100102
    101103  QTextEdit*  _log;
    102104
     105  QTabWidget* tabs;
    103106//QWidget*    _status;
    104107  QGroupBox*  _status;
Note: See TracChangeset for help on using the changeset viewer.