kopia lustrzana https://github.com/f4exb/sdrangel
Use a QSpinBox for Filter Distance with a maximum of 10 000 kilometres
rodzic
91862a582e
commit
cc0e0c0f28
|
@ -26,6 +26,8 @@
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
|
|
||||||
|
#define MAX_FILTER_DISTANCE_KM 10000
|
||||||
|
|
||||||
class Serializable;
|
class Serializable;
|
||||||
|
|
||||||
struct MapSettings
|
struct MapSettings
|
||||||
|
|
|
@ -47,9 +47,15 @@ MapItemSettingsGUI::MapItemSettingsGUI(QTableWidget *table, int row, MapSettings
|
||||||
m_labelScale->setRange(0.01, 10.0);
|
m_labelScale->setRange(0.01, 10.0);
|
||||||
m_labelScale->setValue(settings->m_3DLabelScale);
|
m_labelScale->setValue(settings->m_3DLabelScale);
|
||||||
m_labelScale->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
|
m_labelScale->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
|
||||||
|
m_filterDistance = new QSpinBox(table);
|
||||||
|
m_filterDistance->setRange(0, MAX_FILTER_DISTANCE_KM);
|
||||||
|
m_filterDistance->setValue(settings->m_filterDistance / 1000);
|
||||||
|
m_filterDistance->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
|
||||||
|
m_filterDistance->setSpecialValueText(" ");
|
||||||
table->setCellWidget(row, MapSettingsDialog::COL_2D_MIN_ZOOM, m_minZoom);
|
table->setCellWidget(row, MapSettingsDialog::COL_2D_MIN_ZOOM, m_minZoom);
|
||||||
table->setCellWidget(row, MapSettingsDialog::COL_3D_MIN_PIXELS, m_minPixels);
|
table->setCellWidget(row, MapSettingsDialog::COL_3D_MIN_PIXELS, m_minPixels);
|
||||||
table->setCellWidget(row, MapSettingsDialog::COL_3D_LABEL_SCALE, m_labelScale);
|
table->setCellWidget(row, MapSettingsDialog::COL_3D_LABEL_SCALE, m_labelScale);
|
||||||
|
table->setCellWidget(row, MapSettingsDialog::COL_FILTER_DISTANCE, m_filterDistance);
|
||||||
}
|
}
|
||||||
|
|
||||||
MapSettingsDialog::MapSettingsDialog(MapSettings *settings, QWidget* parent) :
|
MapSettingsDialog::MapSettingsDialog(MapSettings *settings, QWidget* parent) :
|
||||||
|
@ -124,12 +130,6 @@ MapSettingsDialog::MapSettingsDialog(MapSettings *settings, QWidget* parent) :
|
||||||
|
|
||||||
item = new QTableWidgetItem(itemSettings->m_filterName);
|
item = new QTableWidgetItem(itemSettings->m_filterName);
|
||||||
ui->mapItemSettings->setItem(row, COL_FILTER_NAME, item);
|
ui->mapItemSettings->setItem(row, COL_FILTER_NAME, item);
|
||||||
item = new QTableWidgetItem();
|
|
||||||
if (itemSettings->m_filterDistance > 0) {
|
|
||||||
item->setText(QString::number(itemSettings->m_filterDistance / 1000));
|
|
||||||
}
|
|
||||||
ui->mapItemSettings->setItem(row, COL_FILTER_DISTANCE, item);
|
|
||||||
ui->mapItemSettings->item(row, COL_FILTER_DISTANCE)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
|
|
||||||
|
|
||||||
MapItemSettingsGUI *gui = new MapItemSettingsGUI(ui->mapItemSettings, row, itemSettings);
|
MapItemSettingsGUI *gui = new MapItemSettingsGUI(ui->mapItemSettings, row, itemSettings);
|
||||||
m_mapItemSettingsGUIs.append(gui);
|
m_mapItemSettingsGUIs.append(gui);
|
||||||
|
@ -266,13 +266,7 @@ void MapSettingsDialog::accept()
|
||||||
itemSettings->m_filterName = ui->mapItemSettings->item(row, COL_FILTER_NAME)->text();
|
itemSettings->m_filterName = ui->mapItemSettings->item(row, COL_FILTER_NAME)->text();
|
||||||
itemSettings->m_filterNameRE.setPattern(itemSettings->m_filterName);
|
itemSettings->m_filterNameRE.setPattern(itemSettings->m_filterName);
|
||||||
itemSettings->m_filterNameRE.optimize();
|
itemSettings->m_filterNameRE.optimize();
|
||||||
bool ok;
|
itemSettings->m_filterDistance = gui->m_filterDistance->value() * 1000;
|
||||||
int filterDistance = ui->mapItemSettings->item(row, COL_FILTER_DISTANCE)->text().toInt(&ok);
|
|
||||||
if (ok && filterDistance > 0) {
|
|
||||||
itemSettings->m_filterDistance = filterDistance * 1000;
|
|
||||||
} else {
|
|
||||||
itemSettings->m_filterDistance = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QDialog::accept();
|
QDialog::accept();
|
||||||
|
|
|
@ -47,6 +47,7 @@ public:
|
||||||
QSpinBox *m_minZoom;
|
QSpinBox *m_minZoom;
|
||||||
QSpinBox *m_minPixels;
|
QSpinBox *m_minPixels;
|
||||||
QDoubleSpinBox *m_labelScale;
|
QDoubleSpinBox *m_labelScale;
|
||||||
|
QSpinBox *m_filterDistance;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MapSettingsDialog : public QDialog {
|
class MapSettingsDialog : public QDialog {
|
||||||
|
|
Ładowanie…
Reference in New Issue