Base MIMO support on major version. Remove MIMO item from GUI based on version. Remove AMBE preferences item for Apple

This commit is contained in:
f4exb 2019-12-21 23:19:17 +01:00
parent a7d4a3b25e
commit 2d1e4c5493
3 changed files with 24 additions and 9 deletions

View File

@ -30,13 +30,11 @@ MainParser::MainParser() :
m_serverPortOption(QStringList() << "p" << "api-port",
"Web API server port.",
"port",
"8091"),
m_mimoOption("mimo", "Activate MIMO functionality")
"8091")
{
m_serverAddress = "127.0.0.1";
m_serverPort = 8091;
m_mimoSupport = false;
m_mimoOption.setFlags(QCommandLineOption::HiddenFromHelp);
m_parser.setApplicationDescription("Software Defined Radio application");
m_parser.addHelpOption();
@ -44,7 +42,6 @@ MainParser::MainParser() :
m_parser.addOption(m_serverAddressOption);
m_parser.addOption(m_serverPortOption);
m_parser.addOption(m_mimoOption);
}
MainParser::~MainParser()
@ -85,7 +82,18 @@ void MainParser::parse(const QCoreApplication& app)
qWarning() << "MainParser::parse: server port invalid. Defaulting to " << m_serverPort;
}
// MIMO
// MIMO - from version
m_mimoSupport = m_parser.isSet(m_mimoOption);
QStringList versionParts = app.applicationVersion().split(".");
if (versionParts.size() > 0)
{
bool ok;
int maj = versionParts.at(0).toInt(&ok);
m_mimoSupport = ok && (maj > 4);
}
else
{
m_mimoSupport = false;
}
}

View File

@ -39,12 +39,11 @@ public:
private:
QString m_serverAddress;
uint16_t m_serverPort;
bool m_mimoSupport;
bool m_mimoSupport; //!< obtained from major version
QCommandLineParser m_parser;
QCommandLineOption m_serverAddressOption;
QCommandLineOption m_serverPortOption;
QCommandLineOption m_mimoOption;
};

View File

@ -239,6 +239,14 @@ MainWindow::MainWindow(qtwebapp::LoggerWithFile *logger, const MainParser& parse
m_dspEngine->setMIMOSupport(parser.getMIMOSupport());
if (!parser.getMIMOSupport()) {
ui->menu_Devices->removeAction(ui->action_addMIMODevice);
}
#ifdef __APPLE__
ui->menuPreferences->removeAction(ui->action_AMBE);
#endif
delete splash;
qDebug() << "MainWindow::MainWindow: end";
@ -1982,7 +1990,7 @@ void MainWindow::on_action_addMIMODevice_triggered()
if (m_dspEngine->getMIMOSupport()) {
addMIMODevice();
} else {
QMessageBox::information(this, tr("Message"), tr("MIMO operation not supported yet"));
QMessageBox::information(this, tr("Message"), tr("MIMO not supported in this version"));
}
}