/[svn]/qsampler/trunk/src/qsamplerOptions.cpp
ViewVC logotype

Diff of /qsampler/trunk/src/qsamplerOptions.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2028 by capela, Wed Nov 4 18:59:57 2009 UTC revision 2718 by capela, Thu Jan 22 19:01:32 2015 UTC
# Line 1  Line 1 
1  // qsamplerOptions.cpp  // qsamplerOptions.cpp
2  //  //
3  /****************************************************************************  /****************************************************************************
4     Copyright (C) 2004-2009, rncbc aka Rui Nuno Capela. All rights reserved.     Copyright (C) 2004-2015, rncbc aka Rui Nuno Capela. All rights reserved.
5     Copyright (C) 2007, Christian Schoenebeck     Copyright (C) 2007,2015 Christian Schoenebeck
6    
7     This program is free software; you can redistribute it and/or     This program is free software; you can redistribute it and/or
8     modify it under the terms of the GNU General Public License     modify it under the terms of the GNU General Public License
# Line 65  void Options::loadOptions (void) Line 65  void Options::loadOptions (void)
65          m_settings.beginGroup("/Server");          m_settings.beginGroup("/Server");
66          sServerHost    = m_settings.value("/ServerHost", "localhost").toString();          sServerHost    = m_settings.value("/ServerHost", "localhost").toString();
67          iServerPort    = m_settings.value("/ServerPort", 8888).toInt();          iServerPort    = m_settings.value("/ServerPort", 8888).toInt();
68          #if defined(__APPLE__)  //  Toshi Nagata 20080105  #if defined(__APPLE__)  //  Toshi Nagata 20080105
69          //  TODO: Should this be a configure option?          //  TODO: Should this be a configure option?
70          iServerTimeout = m_settings.value("/ServerTimeout", 10000).toInt();          iServerTimeout = m_settings.value("/ServerTimeout", 10000).toInt();
71          #else  #else
72          iServerTimeout = m_settings.value("/ServerTimeout", 1000).toInt();          iServerTimeout = m_settings.value("/ServerTimeout", 1000).toInt();
73          #endif  #endif
74          bServerStart   = m_settings.value("/ServerStart", true).toBool();          bServerStart   = m_settings.value("/ServerStart", true).toBool();
75          #if defined(__APPLE__)  //  Toshi Nagata 20080113  #if defined(__APPLE__)
76          sServerCmdLine = m_settings.value("/ServerCmdLine", "linuxsampler.starter").toString();          sServerCmdLine = m_settings.value("/ServerCmdLine", "/usr/local/bin/linuxsampler").toString();
77          #else  #else
78          sServerCmdLine = m_settings.value("/ServerCmdLine", "linuxsampler").toString();          sServerCmdLine = m_settings.value("/ServerCmdLine", "linuxsampler").toString();
79          #endif  #endif
80          iStartDelay    = m_settings.value("/StartDelay", 3).toInt();          iStartDelay    = m_settings.value("/StartDelay", 3).toInt();
81          m_settings.endGroup();          m_settings.endGroup();
82    
# Line 104  void Options::loadOptions (void) Line 104  void Options::loadOptions (void)
104          iBaseFontSize    = m_settings.value("/BaseFontSize", 0).toInt();          iBaseFontSize    = m_settings.value("/BaseFontSize", 0).toInt();
105  // if libgig provides a fast way to retrieve instrument names even for large  // if libgig provides a fast way to retrieve instrument names even for large
106  // .gig files, then we enable this feature by default  // .gig files, then we enable this feature by default
107  #if HAVE_LIBGIG_SETAUTOLOAD  #ifdef CONFIG_LIBGIG_SETAUTOLOAD
108          bInstrumentNames = m_settings.value("/InstrumentNames", true).toBool();          bInstrumentNames = m_settings.value("/InstrumentNames", true).toBool();
109  #else  #else
110          bInstrumentNames = m_settings.value("/InstrumentNames", false).toBool();          bInstrumentNames = m_settings.value("/InstrumentNames", false).toBool();
# Line 267  void Options::print_usage ( const QStrin Line 267  void Options::print_usage ( const QStrin
267                  QSAMPLER_TITLE " - " QSAMPLER_SUBTITLE "\n\n"                  QSAMPLER_TITLE " - " QSAMPLER_SUBTITLE "\n\n"
268                  "Options:\n\n"                  "Options:\n\n"
269                  "  -s, --start\n\tStart linuxsampler server locally\n\n"                  "  -s, --start\n\tStart linuxsampler server locally\n\n"
270                  "  -h, --hostname\n\tSpecify linuxsampler server hostname\n\n"                  "  -h, --hostname\n\tSpecify linuxsampler server hostname (default = localhost)\n\n"
271                  "  -p, --port\n\tSpecify linuxsampler server port number\n\n"                  "  -p, --port\n\tSpecify linuxsampler server port number (default = 8888)\n\n"
272                  "  -?, --help\n\tShow help about command line options\n\n"                  "  -?, --help\n\tShow help about command line options\n\n"
273                  "  -v, --version\n\tShow version information\n\n")                  "  -v, --version\n\tShow version information\n\n")
274                  .arg(arg0);                  .arg(arg0);
# Line 281  bool Options::parse_args ( const QString Line 281  bool Options::parse_args ( const QString
281          QTextStream out(stderr);          QTextStream out(stderr);
282          const QString sEol = "\n\n";          const QString sEol = "\n\n";
283          int iCmdArgs = 0;          int iCmdArgs = 0;
284          int argc = args.count();          const int argc = args.count();
285    
286          for (int i = 1; i < argc; i++) {          for (int i = 1; i < argc; i++) {
287    
# Line 294  bool Options::parse_args ( const QString Line 294  bool Options::parse_args ( const QString
294    
295                  QString sArg = args.at(i);                  QString sArg = args.at(i);
296                  QString sVal = QString::null;                  QString sVal = QString::null;
297                  int iEqual = sArg.indexOf("=");                  const int iEqual = sArg.indexOf("=");
298                  if (iEqual >= 0) {                  if (iEqual >= 0) {
299                          sVal = sArg.right(sArg.length() - iEqual - 1);                          sVal = sArg.right(sArg.length() - iEqual - 1);
300                          sArg = sArg.left(iEqual);                          sArg = sArg.left(iEqual);
301                  }                  }
302                  else if (i < argc - 1)                  else if (i < argc - 1) {
303                          sVal = args.at(i + 1);                          sVal = args.at(i + 1);
304                            if (sVal[0] == '-')
305                                    sVal.clear();
306                    }
307    
308                  if (sArg == "-s" || sArg == "--start") {                  if (sArg == "-s" || sArg == "--start") {
309                          bServerStart = true;                          bServerStart = true;
310                  }                  }
311                  else if (sArg == "-h" || sArg == "--hostname") {                  else if (sArg == "-h" || sArg == "--hostname") {
312                          if (sVal.isNull()) {                          if (sVal.isNull()) {
313                                  out << QObject::tr("Option -h requires an argument (hostname).") + sEol;                                  out << QObject::tr("Option -h requires an argument (host).") + sEol;
314                                  return false;                                  return false;
315                          }                          }
316                          sServerHost = sVal;                          sServerHost = sVal;
# Line 329  bool Options::parse_args ( const QString Line 332  bool Options::parse_args ( const QString
332                  }                  }
333                  else if (sArg == "-v" || sArg == "--version") {                  else if (sArg == "-v" || sArg == "--version") {
334                          out << QObject::tr("Qt: %1\n").arg(qVersion());                          out << QObject::tr("Qt: %1\n").arg(qVersion());
335  #ifdef CONFIG_LIBGIG                  #ifdef CONFIG_LIBGIG
336                          out << QString("%1: %2\n")                          out << QString("%1: %2\n")
337                                  .arg(gig::libraryName().c_str())                                  .arg(gig::libraryName().c_str())
338                                  .arg(gig::libraryVersion().c_str());                                  .arg(gig::libraryVersion().c_str());
339  #endif                  #endif
340                          out << QString("%1: %2\n")                          out << QString("%1: %2\n")
341                                  .arg(::lscp_client_package())                                  .arg(::lscp_client_package())
342                                  .arg(::lscp_client_version());                                  .arg(::lscp_client_version());
# Line 356  bool Options::parse_args ( const QString Line 359  bool Options::parse_args ( const QString
359  //---------------------------------------------------------------------------  //---------------------------------------------------------------------------
360  // Widget geometry persistence helper methods.  // Widget geometry persistence helper methods.
361    
362  void Options::loadWidgetGeometry ( QWidget *pWidget )  void Options::loadWidgetGeometry ( QWidget *pWidget, bool bVisible )
363  {  {
364          // Try to restore old form window positioning.          // Try to restore old form window positioning.
365          if (pWidget) {          if (pWidget) {
366                  QPoint fpos;                  QPoint wpos;
367                  QSize  fsize;                  QSize  wsize;
                 bool bVisible;  
368                  m_settings.beginGroup("/Geometry/" + pWidget->objectName());                  m_settings.beginGroup("/Geometry/" + pWidget->objectName());
369                  fpos.setX(m_settings.value("/x", -1).toInt());                  wpos.setX(m_settings.value("/x", -1).toInt());
370                  fpos.setY(m_settings.value("/y", -1).toInt());                  wpos.setY(m_settings.value("/y", -1).toInt());
371                  fsize.setWidth(m_settings.value("/width", -1).toInt());                  wsize.setWidth(m_settings.value("/width", -1).toInt());
372                  fsize.setHeight(m_settings.value("/height", -1).toInt());                  wsize.setHeight(m_settings.value("/height", -1).toInt());
373                  bVisible = m_settings.value("/visible", false).toBool();                  if (!bVisible) bVisible = m_settings.value("/visible", false).toBool();
374                  m_settings.endGroup();                  m_settings.endGroup();
375                  if (fpos.x() > 0 && fpos.y() > 0)                  if (wpos.x() > 0 && wpos.y() > 0)
376                          pWidget->move(fpos);                          pWidget->move(wpos);
377                  if (fsize.width() > 0 && fsize.height() > 0)                  if (wsize.width() > 0 && wsize.height() > 0)
378                          pWidget->resize(fsize);                          pWidget->resize(wsize);
379                  else          //      else
380                          pWidget->adjustSize();          //              pWidget->adjustSize();
381                  if (bVisible)                  if (bVisible)
382                          pWidget->show();                          pWidget->show();
383                  else          //      else
384                          pWidget->hide();          //              pWidget->hide();
385          }          }
386  }  }
387    
388    
389  void Options::saveWidgetGeometry ( QWidget *pWidget )  void Options::saveWidgetGeometry ( QWidget *pWidget, bool bVisible )
390  {  {
391          // Try to save form window position...          // Try to save form window position...
392          // (due to X11 window managers ideossincrasies, we better          // (due to X11 window managers ideossincrasies, we better
393          // only save the form geometry while its up and visible)          // only save the form geometry while its up and visible)
394          if (pWidget) {          if (pWidget) {
395                  m_settings.beginGroup("/Geometry/" + pWidget->objectName());                  m_settings.beginGroup("/Geometry/" + pWidget->objectName());
396                  bool bVisible = pWidget->isVisible();                  const QPoint& wpos  = pWidget->pos();
397                  const QPoint& fpos  = pWidget->pos();                  const QSize&  wsize = pWidget->size();
398                  const QSize&  fsize = pWidget->size();                  if (!bVisible) bVisible = pWidget->isVisible();
399                  m_settings.setValue("/x", fpos.x());                  m_settings.setValue("/x", wpos.x());
400                  m_settings.setValue("/y", fpos.y());                  m_settings.setValue("/y", wpos.y());
401                  m_settings.setValue("/width", fsize.width());                  m_settings.setValue("/width", wsize.width());
402                  m_settings.setValue("/height", fsize.height());                  m_settings.setValue("/height", wsize.height());
403                  m_settings.setValue("/visible", bVisible);                  m_settings.setValue("/visible", bVisible);
404                  m_settings.endGroup();                  m_settings.endGroup();
405          }          }

Legend:
Removed from v.2028  
changed lines
  Added in v.2718

  ViewVC Help
Powered by ViewVC