diff --git a/client/main.cpp b/client/main.cpp index ea7b050..9488e5f 100644 --- a/client/main.cpp +++ b/client/main.cpp @@ -28,17 +28,23 @@ int main(int argc, char *argv[]) parser.setApplicationDescription("unisim_cpp client"); parser.addHelpOption(); - QCommandLineOption hostOption(QStringList() << "s" - << "server", - QCoreApplication::translate("main", "sim-us server host [default: localhost]."), - QCoreApplication::translate("main", "host"), QLatin1String("localhost")); - parser.addOption(hostOption); + QCommandLineOption host_option(QStringList() << "s" + << "server", + QCoreApplication::translate("main", "unisim_cpp server host [default: localhost]."), + QCoreApplication::translate("main", "host"), QLatin1String("localhost")); + parser.addOption(host_option); - QCommandLineOption portOption(QStringList() << "p" - << "port", - QCoreApplication::translate("main", "Port for echoserver [default: 9002]."), - QCoreApplication::translate("main", "port"), QLatin1String("9002")); - parser.addOption(portOption); + QCommandLineOption port_option(QStringList() << "p" + << "port", + QCoreApplication::translate("main", "Port for unisim_cpp [default: 9002]."), + QCoreApplication::translate("main", "port"), QLatin1String("9002")); + parser.addOption(port_option); + + QCommandLineOption default_sim_option(QStringList() << "d" + << "default", + QCoreApplication::translate("main", "Default sim that loads on startup."), + QCoreApplication::translate("main", "default"), QLatin1String("")); + parser.addOption(default_sim_option); parser.process(a); // Initialize the logger @@ -46,9 +52,10 @@ int main(int argc, char *argv[]) QUrl url; url.setScheme("ws"); - url.setHost(parser.value(hostOption)); - url.setPort(parser.value(portOption).toInt()); - MainWindow w(url); + url.setHost(parser.value(host_option)); + url.setPort(parser.value(port_option).toInt()); + QString default_sim = parser.value(default_sim_option); + MainWindow w(url, default_sim); w.show(); return a.exec(); } diff --git a/client/mainwindow.cpp b/client/mainwindow.cpp index 0fd6542..0305ff1 100644 --- a/client/mainwindow.cpp +++ b/client/mainwindow.cpp @@ -7,7 +7,7 @@ typedef Simulator_base *(*Get_UI)(Web_socket_wrapper *, QWidget *); -MainWindow::MainWindow(QUrl ws_url, QWidget *parent) +MainWindow::MainWindow(QUrl ws_url, QString sim, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_web_socket(new Web_socket_wrapper(ws_url)), m_error_dialog(new NetworkError(this)) { @@ -36,7 +36,8 @@ MainWindow::MainWindow(QUrl ws_url, QWidget *parent) m_error_dialog->set_error("Connection timed out\nCheck if the server is running"); ui->connection->setText("Connected to " + ws_url.toString()); // Default sim - // defaultSim("CVS_I10"); + if (!sim.isEmpty()) + default_sim(sim); connect(ui->pushButton, &QPushButton::clicked, this, [=, this] { open_sim(ui->comboBox->currentText()); }); connect(this, &MainWindow::quit, this, &QCoreApplication::quit, Qt::QueuedConnection); @@ -70,7 +71,7 @@ void MainWindow::hideEvent(QHideEvent *event) disconnect(m_web_socket.get(), nullptr, nullptr, nullptr); } -void MainWindow::defaultSim(QString name) +void MainWindow::default_sim(QString name) { this->m_selected_sim_name = name; this->m_default_sim = true; diff --git a/client/mainwindow.hpp b/client/mainwindow.hpp index 08f1810..00589a9 100644 --- a/client/mainwindow.hpp +++ b/client/mainwindow.hpp @@ -20,10 +20,10 @@ class MainWindow : public QMainWindow Q_OBJECT public: - explicit MainWindow(QUrl ws_url, QWidget *parent = nullptr); + explicit MainWindow(QUrl ws_url, QString sim, QWidget *parent = nullptr); ~MainWindow(); - void defaultSim(QString name); + void default_sim(QString name); void pase_sim_names(json &sims); void open_sim_window(void); void check_active_sim(QString name);