⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settings.cpp

📁 给予QT的qps开源最新源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
   timeTB->setChecked(mapDispOptions->showTime);
   mapPath->setText(mapOptions->mapPathStr);
   subdirTB->setChecked(mapOptions->searchMapsInSubdirs);
   textSizeSB->setValue(mapDispOptions->textSize);
#if 0 // PROXY
   proxyUrlLE->setText(gpsData->proxyUrl);
#endif
   geoDatGpsCB->setCurrentItem(geodatumOptions->gpsDatumIdx - 1);
   geoDatMapCB->setCurrentItem(geodatumOptions->mapDatumIdx - 1);
   rotateCB->setCurrentItem(mapDispOptions->rotateMap ? 1 : 0);
}

void Settings::setAlt(int id)
{
   Altitude::unit = (Altitude::Unit)id;
   // gpsData->altitude.altUnit = (Altitude::Alt)id;
   app->writeConfig();
}

void Settings::setSpeed(int id)
{
   Speed::unit = (Speed::Unit)id;
   // gpsData->speed.speedUnit = (Speed::Sp)id;
   app->writeConfig();
}

void Settings::setDist(int id)
{
   Distance::unit = (Distance::Unit)id;
   // gpsData->wpDistance.distUnit = (Distance::Dist)id;
   app->writeConfig();
}

void Settings::setPos(int id)
{
   Position::unit = (Position::Unit)id;
   // gpsData->currPos.unit = (Position::Unit)id;
   app->writeConfig();
}

void Settings::setBear(bool state)
{
   mapDispOptions->showBearing = state;
   app->writeConfig();
}

void Settings::setHead(bool state)
{
   mapDispOptions->showHeading = state;
   app->writeConfig();
}

void Settings::setTime(bool state)
{
   mapDispOptions->showTime = state;
   app->writeConfig();
}

void Settings::setDialog()
{
   selectConfigW(false);
}

#if 0 // PROXY
void Settings::proxyUrlLEChanged()
{
   gpsData->proxyUrl = proxyUrlLE->text();
   app->writeConfig();
}
#endif

void Settings::mapPathLEChanged()
{
   // remove '/' at the end
   QString newPath = mapPath->text();
   while (newPath[newPath.length()-1] == '/')
      newPath.truncate(newPath.length()-1);

   if (mapOptions->mapPathStr == newPath)
      return;

   mapOptions->mapPathStr = newPath;
//   QDir md(mapOptions->mapPathStr);


   mapPath->setText(mapOptions->mapPathStr);
  //mapOptions->mapPathStr = md.canonicalPath();
   app->writeConfig();
   emit mapPathChanged();
}

void Settings::setMapPath()
{
   DirDialog getDirDialog(this, 0, true, 0);
   getDirDialog.setCaption(tr("select map directory"));
   getDirDialog.exec();
   if ( getDirDialog.result() == QDialog::Accepted ) {
      // remove '/' at the end
      QString newPath = getDirDialog.selectedPath;
      while (newPath[newPath.length()-1] == '/')
         newPath.truncate(newPath.length()-1);
      
      if (mapOptions->mapPathStr ==newPath)
         return;
      
      mapOptions->mapPathStr = newPath;
      
      mapPath->setText(mapOptions->mapPathStr);
 
      app->writeConfig();
      emit mapPathChanged();
   }

}

void Settings::setColors()
{
   QValueList <QColor>colors;
   colors.append(mapDispOptions->statusOkColor);
   colors.append(mapDispOptions->statusNoFixColor);
   colors.append(mapDispOptions->headColor);
   colors.append(mapDispOptions->bearColor);
   colors.append(trackOptions->trackColor);
   colors.append(mapDispOptions->scaleColor);
   colors.append(placesOptions->placesColor);

   QStringList items;
   items.append(tr("for status \"GPS OK\""));
   items.append(tr("for status \"no position fix\""));
   items.append(tr("heading"));
   items.append(tr("bearing"));
   items.append(tr("track"));
   items.append(tr("scale"));
   items.append(tr("Places"));

   ColorDlg setColorDialog(&colors, &items, this, 0, true, 0);
   setColorDialog.setCaption(tr("assign colors"));
   setColorDialog.exec();
   if ( setColorDialog.result() == QDialog::Accepted ) {
      mapDispOptions->statusOkColor = colors[0];
      mapDispOptions->statusNoFixColor = colors[1];
      mapDispOptions->headColor = colors[2];
      mapDispOptions->bearColor = colors[3];
      trackOptions->trackColor = colors[4];
      mapDispOptions->scaleColor = colors[5];
      placesOptions->placesColor = colors[6];
      app->writeConfig();
   }
}

void Settings::textSizeChanged(int idx)
{
   mapDispOptions->textSize = idx;
   app->writeConfig();
}

void Settings::geoDatGpsChanged(int idx)
{
   geodatumOptions->gpsDatumIdx = idx + 1;
   app->writeConfig();
}

void Settings::geoDatMapChanged(int idx)
{
   geodatumOptions->mapDatumIdx = idx + 1;
   app->writeConfig();
}

void Settings::addConfig()
{
   int i = 1;
   configIdx = configFileList.count();
   while ( configFileList.contains(tr("newProfile%1").arg(i)) ) {
      ++i;
   }
   configFileList.append(tr("newProfile%1").arg(i));
   configName->clear();
   configName->insertStringList(configFileList);
   configName->setCurrentItem(configIdx);
   selectConfigW(true);
}

void Settings::delConfig()
{
   if ( configFileList.count() > 1 ) {
      QString delFile =
         "rm ~/Settings/qpegps_" + configFileList[configIdx] + ".conf";
      configFileList.remove(configFileList[configIdx]);
      configName->clear();
      configName->insertStringList(configFileList);
      configIdx = 0;
      configName->setCurrentItem(configIdx);
      selectConfigW(false);
      system(delFile.latin1());
   }
}

void Settings::selectConfigRename(const QString & string)
{
   // rename
   QString delFile =
      "rm ~/Settings/qpegps_" + configFileList[configIdx] + ".conf";
   if ( QString::compare(
         configFileList[configIdx], string) ) {
      configFileList[configIdx] = string;
      selectConfigW(true);
      system(delFile.latin1());
   }
}

void Settings::selectConfig(int idx)
{
   if ( idx != (int)configIdx ) {
      //select
      configIdx = idx;
      selectConfigW(false);
   } /*else {
      // rename
      QString delFile =
         "rm ~/Settings/qpegps_" + configFileList[configIdx] + ".conf";
      if ( QString::compare(
               configFileList[configIdx], configName->currentText()) ) {
         configFileList[configIdx] = configName->currentText();
         selectConfigW(true);
         system(delFile.latin1());
      }
   }*/
}

void Settings::setRotate(int id)
{
   if (id == 0)
      mapDispOptions->rotateMap = false;
   else
      mapDispOptions->rotateMap = true;

   // gpsData->altitude.altUnit = (Altitude::Alt)id;
   app->writeConfig();
}

void Settings::setSubdir(bool state)
{
   if (mapOptions->searchMapsInSubdirs == state)
      return;

   mapOptions->searchMapsInSubdirs = state;
   app->writeConfig();
   // reload maps
   emit mapPathChanged();
}

// end of file

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -