📄 settings.cpp
字号:
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 + -