Add Ctrl+Alt+Del button (#6)

This commit is contained in:
Cacodemon345
2025-06-01 23:29:08 +06:00
committed by GitHub
parent 34cdfbcc18
commit d8bf4212b7
4 changed files with 22 additions and 0 deletions

View File

@@ -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"));

View File

@@ -65,6 +65,7 @@ private:
QToolButton *resetButton;
QToolButton *stopButton;
QToolButton *configureButton;
QToolButton *cadButton;
static QWidget* createHorizontalLine(int leftSpacing = 25, int rightSpacing = 25);
// QVBoxLayout *detailsLayout;

View File

@@ -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()
{

View File

@@ -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);