diff --git a/src/qt/qt_vmmanager_details.cpp b/src/qt/qt_vmmanager_details.cpp index c5be7c2cf..23fe5377e 100644 --- a/src/qt/qt_vmmanager_details.cpp +++ b/src/qt/qt_vmmanager_details.cpp @@ -129,11 +129,16 @@ VMManagerDetails::VMManagerDetails(QWidget *parent) : configureButton->setIcon(QIcon(":/menuicons/qt/icons/settings.ico")); configureButton->setEnabled(false); configureButton->setToolTip(tr("Settings...")); + cadButton = new QToolButton(); + cadButton->setIcon(QIcon(":menuicons/qt/icons/send_cad.ico")); + cadButton->setEnabled(false); + cadButton->setToolTip(tr("Ctrl+Alt+Del")); ui->toolButtonHolder->layout()->addWidget(configureButton); ui->toolButtonHolder->layout()->addWidget(resetButton); ui->toolButtonHolder->layout()->addWidget(stopButton); ui->toolButtonHolder->layout()->addWidget(startPauseButton); + ui->toolButtonHolder->layout()->addWidget(cadButton); ui->notesTextEdit->setEnabled(false); @@ -170,11 +175,14 @@ VMManagerDetails::updateData(VMManagerSystem *passed_sysconfig) { disconnect(resetButton, &QToolButton::clicked, sysconfig, &VMManagerSystem::restartButtonPressed); disconnect(stopButton, &QToolButton::clicked, sysconfig, &VMManagerSystem::shutdownForceButtonPressed); disconnect(configureButton, &QToolButton::clicked, sysconfig, &VMManagerSystem::launchSettings); + disconnect(cadButton, &QToolButton::clicked, sysconfig, &VMManagerSystem::cadButtonPressed); sysconfig = passed_sysconfig; connect(resetButton, &QToolButton::clicked, sysconfig, &VMManagerSystem::restartButtonPressed); connect(stopButton, &QToolButton::clicked, sysconfig, &VMManagerSystem::shutdownForceButtonPressed); connect(configureButton, &QToolButton::clicked, sysconfig, &VMManagerSystem::launchSettings); + connect(cadButton, &QToolButton::clicked, sysconfig, &VMManagerSystem::cadButtonPressed); + cadButton->setEnabled(true); bool running = sysconfig->getProcessStatus() == VMManagerSystem::ProcessStatus::Running || sysconfig->getProcessStatus() == VMManagerSystem::ProcessStatus::RunningWaiting; @@ -306,6 +314,7 @@ VMManagerDetails::updateProcessStatus() { ui->statusLabel->setText(status_text); resetButton->setEnabled(running); stopButton->setEnabled(running); + cadButton->setEnabled(running); if(running) { if(sysconfig->getProcessStatus() == VMManagerSystem::ProcessStatus::Running) { startPauseButton->setIcon(QIcon(":/menuicons/qt/icons/pause.ico")); diff --git a/src/qt/qt_vmmanager_details.hpp b/src/qt/qt_vmmanager_details.hpp index c6db78127..5d3bfa8a4 100644 --- a/src/qt/qt_vmmanager_details.hpp +++ b/src/qt/qt_vmmanager_details.hpp @@ -65,6 +65,7 @@ private: QToolButton *resetButton; QToolButton *stopButton; QToolButton *configureButton; + QToolButton *cadButton; static QWidget* createHorizontalLine(int leftSpacing = 25, int rightSpacing = 25); // QVBoxLayout *detailsLayout; diff --git a/src/qt/qt_vmmanager_system.cpp b/src/qt/qt_vmmanager_system.cpp index 05e595a16..68b83c3a8 100644 --- a/src/qt/qt_vmmanager_system.cpp +++ b/src/qt/qt_vmmanager_system.cpp @@ -813,16 +813,25 @@ VMManagerSystem::getDisplayValue(Display::Name key) { return (display_table.contains(key)) ? display_table[key] : ""; } + void VMManagerSystem::shutdownRequestButtonPressed() { socket_server->serverSendMessage(VMManagerProtocol::ManagerMessage::RequestShutdown); } + void VMManagerSystem::shutdownForceButtonPressed() { socket_server->serverSendMessage(VMManagerProtocol::ManagerMessage::ForceShutdown); } + +void +VMManagerSystem::cadButtonPressed() +{ + socket_server->serverSendMessage(VMManagerProtocol::ManagerMessage::CtrlAltDel); +} + void VMManagerSystem::processStatusChanged() { diff --git a/src/qt/qt_vmmanager_system.hpp b/src/qt/qt_vmmanager_system.hpp index d267670e4..ab2069617 100644 --- a/src/qt/qt_vmmanager_system.hpp +++ b/src/qt/qt_vmmanager_system.hpp @@ -109,6 +109,7 @@ public: [[nodiscard]] bool isValid() const; [[nodiscard]] bool isProcessRunning() const; [[nodiscard]] qint64 processId() const; +public slots: void launchMainProcess(); void launchSettings(); void startButtonPressed(); @@ -116,7 +117,9 @@ public: void pauseButtonPressed(); void shutdownRequestButtonPressed(); void shutdownForceButtonPressed(); + void cadButtonPressed(); void reloadConfig(); +public: QDateTime timestamp(); void setIcon(const QString &newIcon);