mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 09:18:54 -05:00
Use tabs rather than a table, for satellite device set settings to workaround #840.
This commit is contained in:
parent
268318e02c
commit
fd5a6b61e8
@ -44,7 +44,7 @@ Pressing this button displays the SDRangel Control dialog.
|
||||
|
||||
This dialog determines the actions the Satellite Tracker will take when AOS or LOS occurs for a satellite. First, select a satellite from the dropdown box. Information about the satellite's transmit and receive modes should appear in the field at the bottom of the dialog, if available in the SatNogs database.
|
||||
|
||||
To perform an action on an SDRangel device set on AOS or LOS, press the + button. This will add a row in the table, allowing you to select:
|
||||
To perform an action on an SDRangel device set on AOS or LOS, press the "Add device set" button. This will add a new, allowing you to select:
|
||||
|
||||
* The device set that will be controlled. This will list all currently open device sets. You can also type the name of a new device set.
|
||||
* The preset to load on AOS. This allows preset device settings (E.g. centre frequency) and demodulators to be opened when the satellite becomes visible.
|
||||
@ -56,7 +56,7 @@ To perform an action on an SDRangel device set on AOS or LOS, press the + button
|
||||
* A command or script to execute on AOS.
|
||||
* A command or script to execute on LOS.
|
||||
|
||||
Multiple rows can be added, to allow independent control of multiple device sets. To remove a row, select the row by clicking the row number, then press the - button.
|
||||
Multiple tabs can be added, to allow independent control of multiple device sets. To remove a tab, click the cross next to the device set name in the tab list.
|
||||
|
||||
<h3>6: Show Satellite Selection dialog</h3>
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <QDebug>
|
||||
#include <QHBoxLayout>
|
||||
#include <QFormLayout>
|
||||
#include <QSizePolicy>
|
||||
|
||||
#include "satellitedevicesettingsgui.h"
|
||||
@ -28,20 +28,25 @@
|
||||
#include "plugin/pluginapi.h"
|
||||
|
||||
SatelliteDeviceSettingsGUI::SatelliteDeviceSettingsGUI(SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings,
|
||||
QTableWidget *table)
|
||||
QTabWidget *tab, QWidget *parent) :
|
||||
QWidget(parent),
|
||||
m_tab(tab)
|
||||
{
|
||||
m_devSettings = devSettings;
|
||||
|
||||
QFormLayout *formLayout = new QFormLayout();
|
||||
|
||||
// Device set
|
||||
m_deviceSetWidget = new QComboBox();
|
||||
m_deviceSetWidget->setEditable(true);
|
||||
m_deviceSetWidget->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_DEVICESET)->toolTip());
|
||||
m_deviceSetItem = new QWidget();
|
||||
layout(m_deviceSetItem, m_deviceSetWidget);
|
||||
m_deviceSetWidget->setToolTip("Device set to control");
|
||||
formLayout->addRow("Device set", m_deviceSetWidget);
|
||||
addDeviceSets();
|
||||
int devSetIdx = m_deviceSetWidget->findText(devSettings->m_deviceSet);
|
||||
if (devSetIdx != -1)
|
||||
{
|
||||
m_deviceSetWidget->setCurrentIndex(devSetIdx);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_deviceSetWidget->addItem(devSettings->m_deviceSet);
|
||||
@ -52,9 +57,8 @@ SatelliteDeviceSettingsGUI::SatelliteDeviceSettingsGUI(SatelliteTrackerSettings:
|
||||
m_presetWidget = new QComboBox();
|
||||
m_presetWidget->setEditable(false);
|
||||
m_presetWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
m_presetWidget->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_PRESET)->toolTip());
|
||||
m_presetItem = new QWidget();
|
||||
layout(m_presetItem, m_presetWidget);
|
||||
m_presetWidget->setToolTip("Preset to load on AOS");
|
||||
formLayout->addRow("Preset", m_presetWidget);
|
||||
addPresets(devSettings->m_deviceSet);
|
||||
|
||||
const MainSettings& mainSettings = MainCore::instance()->getSettings();
|
||||
@ -82,11 +86,10 @@ SatelliteDeviceSettingsGUI::SatelliteDeviceSettingsGUI(SatelliteTrackerSettings:
|
||||
}
|
||||
|
||||
// Doppler
|
||||
m_dopplerWidget = new QComboBox();
|
||||
m_dopplerWidget = new QListView();
|
||||
m_dopplerWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
m_dopplerWidget->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_DOPPLER)->toolTip());
|
||||
m_dopplerItem = new QWidget();
|
||||
layout(m_dopplerItem, m_dopplerWidget);
|
||||
m_dopplerWidget->setToolTip("Channels that will have Doppler correction applied");
|
||||
formLayout->addRow("Doppler correction", m_dopplerWidget);
|
||||
m_dopplerWidget->setModel(&m_dopplerModel);
|
||||
addChannels();
|
||||
|
||||
@ -96,66 +99,48 @@ SatelliteDeviceSettingsGUI::SatelliteDeviceSettingsGUI(SatelliteTrackerSettings:
|
||||
// Start on AOS
|
||||
m_startOnAOSWidget = new QCheckBox();
|
||||
m_startOnAOSWidget->setChecked(devSettings->m_startOnAOS);
|
||||
m_startOnAOSWidget->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_START)->toolTip());
|
||||
m_startOnAOSItem = new QWidget();
|
||||
layout(m_startOnAOSItem, m_startOnAOSWidget);
|
||||
m_startOnAOSWidget->setToolTip("Start acquisition on AOS");
|
||||
formLayout->addRow("Start acquisition on AOS", m_startOnAOSWidget);
|
||||
|
||||
// Stop on AOS
|
||||
m_stopOnLOSWidget = new QCheckBox();
|
||||
m_stopOnLOSWidget->setChecked(devSettings->m_stopOnLOS);
|
||||
m_stopOnLOSWidget->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_STOP)->toolTip());
|
||||
m_stopOnLOSItem = new QWidget();
|
||||
layout(m_stopOnLOSItem, m_stopOnLOSWidget);
|
||||
m_stopOnLOSWidget->setToolTip("Stop acquisition on LOS");
|
||||
formLayout->addRow("Stop acquisition on LOS", m_stopOnLOSWidget);
|
||||
|
||||
// Start file sink
|
||||
m_startStopFileSinkWidget = new QCheckBox();
|
||||
m_startStopFileSinkWidget->setChecked(devSettings->m_startStopFileSink);
|
||||
m_startStopFileSinkWidget->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_START_FILE_SINK)->toolTip());
|
||||
m_startStopFileSinkItem = new QWidget();
|
||||
layout(m_startStopFileSinkItem, m_startStopFileSinkWidget);
|
||||
m_startStopFileSinkWidget->setToolTip("Start file sinks recording on AOS and stop recording on LOS");
|
||||
formLayout->addRow("Start/stop file sinks on AOS/LOS", m_startStopFileSinkWidget);
|
||||
|
||||
// Frequency override
|
||||
m_frequencyItem = new QTableWidgetItem();
|
||||
m_frequencyItem->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_FREQUENCY)->toolTip());
|
||||
if (devSettings->m_frequency != 0)
|
||||
m_frequencyItem->setData(Qt::DisplayRole, QString("%1").arg(devSettings->m_frequency/1000000.0, 0, 'f', 3, QLatin1Char(' ')));
|
||||
m_frequencyWidget = new QLineEdit();
|
||||
m_frequencyWidget->setToolTip("Override the center frequency in the preset with a value specified here in MHz.\nThis allows a single preset to be shared between different satellites that differ only in frequency.");
|
||||
// FIXME: Set mask for numeric or blank
|
||||
if (devSettings->m_frequency != 0) {
|
||||
m_frequencyWidget->setText(QString("%1").arg(devSettings->m_frequency/1000000.0, 0, 'f', 3, QLatin1Char(' ')));
|
||||
}
|
||||
formLayout->addRow("Override preset frequency (MHz)", m_frequencyWidget);
|
||||
|
||||
// AOS command
|
||||
m_aosCommandItem = new QTableWidgetItem();
|
||||
m_aosCommandItem->setText(devSettings->m_aosCommand);
|
||||
m_aosCommandItem->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_AOS_COMMAND)->toolTip());
|
||||
m_aosCommandWidget = new QLineEdit();
|
||||
m_aosCommandWidget->setText(devSettings->m_aosCommand);
|
||||
m_aosCommandWidget->setToolTip("Command to execute on AOS");
|
||||
formLayout->addRow("AOS command", m_aosCommandWidget);
|
||||
|
||||
// LOS command
|
||||
m_losCommandItem = new QTableWidgetItem();
|
||||
m_losCommandItem->setText(devSettings->m_losCommand);
|
||||
m_losCommandItem->setToolTip(table->horizontalHeaderItem(SAT_DEVICE_COL_LOS_COMMAND)->toolTip());
|
||||
m_losCommandWidget = new QLineEdit();
|
||||
m_losCommandWidget->setText(devSettings->m_losCommand);
|
||||
m_losCommandWidget->setToolTip("Command to execute on LOS");
|
||||
formLayout->addRow("LOS command", m_losCommandWidget);
|
||||
|
||||
int row = table->rowCount();
|
||||
table->setRowCount(row + 1);
|
||||
table->setCellWidget(row, SAT_DEVICE_COL_DEVICESET, m_deviceSetItem);
|
||||
table->setCellWidget(row, SAT_DEVICE_COL_PRESET, m_presetItem);
|
||||
table->setCellWidget(row, SAT_DEVICE_COL_DOPPLER, m_dopplerItem);
|
||||
table->setCellWidget(row, SAT_DEVICE_COL_START, m_startOnAOSItem);
|
||||
table->setCellWidget(row, SAT_DEVICE_COL_STOP, m_stopOnLOSItem);
|
||||
table->setCellWidget(row, SAT_DEVICE_COL_START_FILE_SINK, m_startStopFileSinkItem);
|
||||
table->setItem(row, SAT_DEVICE_COL_FREQUENCY, m_frequencyItem);
|
||||
table->setItem(row, SAT_DEVICE_COL_AOS_COMMAND, m_aosCommandItem);
|
||||
table->setItem(row, SAT_DEVICE_COL_LOS_COMMAND, m_losCommandItem);
|
||||
table->resizeColumnsToContents();
|
||||
setLayout(formLayout);
|
||||
|
||||
connect(m_deviceSetWidget, SIGNAL(currentTextChanged(const QString &)), this, SLOT(on_m_deviceSetWidget_currentTextChanged(const QString &)));
|
||||
connect(m_presetWidget, SIGNAL(currentIndexChanged(int)), this, SLOT(on_m_presetWidget_currentIndexChanged(int)));
|
||||
}
|
||||
|
||||
void SatelliteDeviceSettingsGUI::layout(QWidget *parent, QWidget *child)
|
||||
{
|
||||
QHBoxLayout* pLayout = new QHBoxLayout(parent);
|
||||
pLayout->addWidget(child);
|
||||
pLayout->setAlignment(Qt::AlignCenter);
|
||||
pLayout->setContentsMargins(0, 0, 0, 0);
|
||||
parent->setLayout(pLayout);
|
||||
}
|
||||
|
||||
// Add available devicesets to the combobox
|
||||
void SatelliteDeviceSettingsGUI::addDeviceSets()
|
||||
{
|
||||
@ -210,8 +195,9 @@ const Preset* SatelliteDeviceSettingsGUI::getSelectedPreset()
|
||||
|| ((preset->isSinkPreset() && (m_currentPresets == "T")))
|
||||
|| ((preset->isMIMOPreset() && (m_currentPresets == "M"))))
|
||||
{
|
||||
if (listIdx == presetIdx)
|
||||
if (listIdx == presetIdx) {
|
||||
return preset;
|
||||
}
|
||||
presetIdx++;
|
||||
}
|
||||
}
|
||||
@ -247,8 +233,12 @@ void SatelliteDeviceSettingsGUI::on_m_deviceSetWidget_currentTextChanged(const Q
|
||||
{
|
||||
if (!text.isEmpty())
|
||||
{
|
||||
if (text[0] != m_currentPresets)
|
||||
if (text[0] != m_currentPresets) {
|
||||
addPresets(text[0]);
|
||||
}
|
||||
// Set name of tab to match
|
||||
int currentTabIndex = m_tab->currentIndex();
|
||||
m_tab->setTabText(currentTabIndex, text);
|
||||
}
|
||||
}
|
||||
|
||||
@ -279,13 +269,14 @@ void SatelliteDeviceSettingsGUI::accept()
|
||||
m_devSettings->m_doppler.clear();
|
||||
for (int i = 0; i < m_dopplerItems.size(); i++)
|
||||
{
|
||||
if (m_dopplerItems[i]->checkState() == Qt::Checked)
|
||||
if (m_dopplerItems[i]->checkState() == Qt::Checked) {
|
||||
m_devSettings->m_doppler.append(i);
|
||||
}
|
||||
}
|
||||
m_devSettings->m_startOnAOS = m_startOnAOSWidget->isChecked();
|
||||
m_devSettings->m_stopOnLOS = m_stopOnLOSWidget->isChecked();
|
||||
m_devSettings->m_startStopFileSink = m_startStopFileSinkWidget->isChecked();
|
||||
m_devSettings->m_frequency = (quint64)(m_frequencyItem->data(Qt::DisplayRole).toDouble() * 1000000.0);
|
||||
m_devSettings->m_aosCommand = m_aosCommandItem->text();
|
||||
m_devSettings->m_losCommand = m_losCommandItem->text();
|
||||
m_devSettings->m_frequency = (quint64)(m_frequencyWidget->text().toDouble() * 1000000.0);
|
||||
m_devSettings->m_aosCommand = m_aosCommandWidget->text();
|
||||
m_devSettings->m_losCommand = m_losCommandWidget->text();
|
||||
}
|
||||
|
@ -19,7 +19,10 @@
|
||||
#define INCLUDE_FEATURE_SATELLITEDEVICESETTINGSGUI_H
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QListView>
|
||||
#include <QLineEdit>
|
||||
#include <QCheckBox>
|
||||
#include <QTabWidget>
|
||||
#include <QTableWidget>
|
||||
#include <QTableWidgetItem>
|
||||
#include <QStandardItemModel>
|
||||
@ -30,19 +33,18 @@
|
||||
|
||||
class SatelliteRadioControlDialog;
|
||||
|
||||
class SatelliteDeviceSettingsGUI : public QObject
|
||||
class SatelliteDeviceSettingsGUI : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
SatelliteDeviceSettingsGUI(SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings,
|
||||
QTableWidget *table);
|
||||
explicit SatelliteDeviceSettingsGUI(SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings,
|
||||
QTabWidget *tab, QWidget *parent = nullptr);
|
||||
void accept();
|
||||
|
||||
protected:
|
||||
|
||||
void layout(QWidget *parent, QWidget *child);
|
||||
void addDeviceSets();
|
||||
void addPresets(const QString& deviceSet);
|
||||
void addChannels();
|
||||
@ -56,21 +58,16 @@ private slots:
|
||||
protected:
|
||||
|
||||
friend SatelliteRadioControlDialog;
|
||||
QWidget *m_deviceSetItem;
|
||||
QTabWidget *m_tab;
|
||||
QComboBox *m_deviceSetWidget;
|
||||
QWidget *m_presetItem;
|
||||
QComboBox *m_presetWidget;
|
||||
QWidget *m_dopplerItem;
|
||||
QComboBox *m_dopplerWidget;
|
||||
QWidget *m_startOnAOSItem;
|
||||
QListView *m_dopplerWidget;
|
||||
QCheckBox *m_startOnAOSWidget;
|
||||
QWidget *m_stopOnLOSItem;
|
||||
QCheckBox *m_stopOnLOSWidget;
|
||||
QWidget *m_startStopFileSinkItem;
|
||||
QCheckBox *m_startStopFileSinkWidget;
|
||||
QTableWidgetItem *m_frequencyItem;
|
||||
QTableWidgetItem *m_aosCommandItem;
|
||||
QTableWidgetItem *m_losCommandItem;
|
||||
QLineEdit *m_frequencyWidget;
|
||||
QLineEdit *m_aosCommandWidget;
|
||||
QLineEdit *m_losCommandWidget;
|
||||
QChar m_currentPresets;
|
||||
|
||||
QStandardItemModel m_dopplerModel;
|
||||
@ -78,17 +75,6 @@ protected:
|
||||
|
||||
SatelliteTrackerSettings::SatelliteDeviceSettings *m_devSettings;
|
||||
|
||||
enum SatDeviceCol {
|
||||
SAT_DEVICE_COL_DEVICESET,
|
||||
SAT_DEVICE_COL_PRESET,
|
||||
SAT_DEVICE_COL_DOPPLER,
|
||||
SAT_DEVICE_COL_START,
|
||||
SAT_DEVICE_COL_STOP,
|
||||
SAT_DEVICE_COL_START_FILE_SINK,
|
||||
SAT_DEVICE_COL_FREQUENCY,
|
||||
SAT_DEVICE_COL_AOS_COMMAND,
|
||||
SAT_DEVICE_COL_LOS_COMMAND
|
||||
};
|
||||
};
|
||||
|
||||
#endif // INCLUDE_FEATURE_SATELLITEDEVICESETTINGSGUI_H
|
||||
|
@ -37,13 +37,13 @@ SatelliteRadioControlDialog::SatelliteRadioControlDialog(SatelliteTrackerSetting
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
// Must resize before setting m_deviceSettings
|
||||
resizeTable();
|
||||
|
||||
m_deviceSettings = m_settings->m_deviceSettings;
|
||||
|
||||
for (int i = 0; i < settings->m_satellites.size(); i++)
|
||||
for (int i = 0; i < settings->m_satellites.size(); i++) {
|
||||
ui->satelliteSelect->addItem(settings->m_satellites[i]);
|
||||
}
|
||||
|
||||
connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(on_tabCloseRequested(int)));
|
||||
}
|
||||
|
||||
SatelliteRadioControlDialog::~SatelliteRadioControlDialog()
|
||||
@ -53,28 +53,22 @@ SatelliteRadioControlDialog::~SatelliteRadioControlDialog()
|
||||
|
||||
void SatelliteRadioControlDialog::accept()
|
||||
{
|
||||
for (int i = 0; i < m_devSettingsGUIs.size(); i++)
|
||||
for (int i = 0; i < m_devSettingsGUIs.size(); i++) {
|
||||
m_devSettingsGUIs[i]->accept();
|
||||
}
|
||||
QDialog::accept();
|
||||
m_settings->m_deviceSettings = m_deviceSettings;
|
||||
}
|
||||
|
||||
void SatelliteRadioControlDialog::resizeTable()
|
||||
{
|
||||
on_add_clicked();
|
||||
ui->table->resizeColumnsToContents();
|
||||
ui->table->selectRow(0);
|
||||
on_remove_clicked();
|
||||
ui->table->selectRow(-1);
|
||||
}
|
||||
|
||||
void SatelliteRadioControlDialog::on_add_clicked()
|
||||
{
|
||||
QString name = ui->satelliteSelect->currentText();
|
||||
if (!name.isEmpty())
|
||||
{
|
||||
SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings = new SatelliteTrackerSettings::SatelliteDeviceSettings();
|
||||
SatelliteDeviceSettingsGUI *devSettingsGUI = new SatelliteDeviceSettingsGUI(devSettings, ui->table);
|
||||
SatelliteDeviceSettingsGUI *devSettingsGUI = new SatelliteDeviceSettingsGUI(devSettings, ui->tabWidget, ui->tabWidget);
|
||||
int index = ui->tabWidget->addTab(devSettingsGUI, "R0");
|
||||
ui->tabWidget->setCurrentIndex(index);
|
||||
|
||||
m_devSettingsGUIs.append(devSettingsGUI);
|
||||
QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *devSettingsList = m_deviceSettings.value(name);
|
||||
@ -82,21 +76,15 @@ void SatelliteRadioControlDialog::on_add_clicked()
|
||||
}
|
||||
}
|
||||
|
||||
// Remove selected row
|
||||
void SatelliteRadioControlDialog::on_remove_clicked()
|
||||
// Remove tab
|
||||
void SatelliteRadioControlDialog::on_tabCloseRequested(int index)
|
||||
{
|
||||
// Selection mode is single, so only a single row should be returned
|
||||
QModelIndexList indexList = ui->table->selectionModel()->selectedRows();
|
||||
if (!indexList.isEmpty())
|
||||
{
|
||||
int row = indexList.at(0).row();
|
||||
ui->table->removeRow(row);
|
||||
delete m_devSettingsGUIs.takeAt(row);
|
||||
ui->tabWidget->removeTab(index);
|
||||
delete m_devSettingsGUIs.takeAt(index);
|
||||
|
||||
QString name = ui->satelliteSelect->currentText();
|
||||
QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *devSettingsList = m_deviceSettings.value(name);
|
||||
delete devSettingsList->takeAt(row);
|
||||
}
|
||||
QString name = ui->satelliteSelect->currentText();
|
||||
QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *devSettingsList = m_deviceSettings.value(name);
|
||||
delete devSettingsList->takeAt(index);
|
||||
}
|
||||
|
||||
void SatelliteRadioControlDialog::on_satelliteSelect_currentIndexChanged(int index)
|
||||
@ -104,23 +92,26 @@ void SatelliteRadioControlDialog::on_satelliteSelect_currentIndexChanged(int ind
|
||||
(void) index;
|
||||
|
||||
// Save details from current GUI elements
|
||||
for (int i = 0; i < m_devSettingsGUIs.size(); i++)
|
||||
for (int i = 0; i < m_devSettingsGUIs.size(); i++) {
|
||||
m_devSettingsGUIs[i]->accept();
|
||||
}
|
||||
// Clear GUI
|
||||
ui->table->setRowCount(0);
|
||||
ui->tabWidget->clear();
|
||||
qDeleteAll(m_devSettingsGUIs);
|
||||
m_devSettingsGUIs.clear();
|
||||
|
||||
// Create settings list for newly selected satellite, if one doesn't already exist
|
||||
QString name = ui->satelliteSelect->currentText();
|
||||
if (!m_deviceSettings.contains(name))
|
||||
if (!m_deviceSettings.contains(name)) {
|
||||
m_deviceSettings.insert(name, new QList<SatelliteTrackerSettings::SatelliteDeviceSettings *>());
|
||||
}
|
||||
|
||||
// Add existing settings to GUI
|
||||
QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *devSettingsList = m_deviceSettings.value(name);
|
||||
for (int i = 0; i < devSettingsList->size(); i++)
|
||||
{
|
||||
SatelliteDeviceSettingsGUI *devSettingsGUI = new SatelliteDeviceSettingsGUI(devSettingsList->at(i), ui->table);
|
||||
SatelliteDeviceSettingsGUI *devSettingsGUI = new SatelliteDeviceSettingsGUI(devSettingsList->at(i), ui->tabWidget, ui->tabWidget);
|
||||
ui->tabWidget->addTab(devSettingsGUI, devSettingsList->at(i)->m_deviceSet);
|
||||
m_devSettingsGUIs.append(devSettingsGUI);
|
||||
}
|
||||
|
||||
|
@ -35,12 +35,11 @@ public:
|
||||
SatelliteTrackerSettings *m_settings;
|
||||
|
||||
private:
|
||||
void resizeTable();
|
||||
|
||||
private slots:
|
||||
void accept();
|
||||
void on_add_clicked();
|
||||
void on_remove_clicked();
|
||||
void on_tabCloseRequested(int index);
|
||||
void on_satelliteSelect_currentIndexChanged(int index);
|
||||
|
||||
private:
|
||||
|
@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>955</width>
|
||||
<height>400</height>
|
||||
<height>771</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
@ -26,98 +26,15 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="5" column="0">
|
||||
<widget class="QTableWidget" name="table">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="satelliteModesLabel">
|
||||
<property name="text">
|
||||
<string>Satellite modes</string>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Device set</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Device set to control</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Preset to load on AOS</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Preset to load to device set</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Doppler correction</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Channel numbers that will have Doppler correction applied</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Start on AOS</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Start acquisition on AOS</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Stop on LOS</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Stop acquisition on LOS</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Start/stop file sinks</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Start file sinks recording on AOS and stop recording on LOS</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Override frequency (MHz)</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Override the center frequency in the preset with a value specified here in MHz.
|
||||
This allows a single preset to be shared between different satellites that differ only in frequency.</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>AOS command</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Command to execute on AOS</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>LOS command</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Command to execute on LOS</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QTextEdit" name="satelliteModes">
|
||||
<property name="toolTip">
|
||||
<string>Satellite modes from SatNOGS</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<item row="5" column="0">
|
||||
<layout class="QHBoxLayout" name="buttonsHorizontalLayout"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QHBoxLayout" name="satHorizontalLayout">
|
||||
@ -138,6 +55,16 @@ This allows a single preset to be shared between different satellites that diffe
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="add">
|
||||
<property name="toolTip">
|
||||
<string>Add device set control settings tab</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Add device set</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="satHorizontalSpacer">
|
||||
<property name="orientation">
|
||||
@ -153,47 +80,23 @@ This allows a single preset to be shared between different satellites that diffe
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<layout class="QHBoxLayout" name="buttonsHorizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="add">
|
||||
<property name="toolTip">
|
||||
<string>Add device set control</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>+</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="remove">
|
||||
<property name="toolTip">
|
||||
<string>Remove device set control</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="buttonsHorizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
<item row="8" column="0">
|
||||
<widget class="QTextEdit" name="satelliteModes">
|
||||
<property name="toolTip">
|
||||
<string>Satellite modes from SatNOGS</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="satelliteModesLabel">
|
||||
<property name="text">
|
||||
<string>Satellite modes</string>
|
||||
<item row="2" column="0">
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="tabsClosable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -214,9 +117,6 @@ This allows a single preset to be shared between different satellites that diffe
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>satelliteSelect</tabstop>
|
||||
<tabstop>table</tabstop>
|
||||
<tabstop>add</tabstop>
|
||||
<tabstop>remove</tabstop>
|
||||
<tabstop>satelliteModes</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
|
Loading…
Reference in New Issue
Block a user