diff --git a/src/plugins/QuickCommands/qcwidget.ui b/src/plugins/QuickCommands/qcwidget.ui index 029972fc..5d6b5a4e 100644 --- a/src/plugins/QuickCommands/qcwidget.ui +++ b/src/plugins/QuickCommands/qcwidget.ui @@ -177,6 +177,13 @@ + + + + Run + + + diff --git a/src/plugins/QuickCommands/quickcommandswidget.cpp b/src/plugins/QuickCommands/quickcommandswidget.cpp index ea6cb99a..859cb971 100644 --- a/src/plugins/QuickCommands/quickcommandswidget.cpp +++ b/src/plugins/QuickCommands/quickcommandswidget.cpp @@ -30,6 +30,8 @@ QuickCommandsWidget::QuickCommandsWidget(QWidget *parent) connect(ui->btnSave, &QPushButton::clicked, this, &QuickCommandsWidget::saveCommand); connect(ui->btnUpdate, &QPushButton::clicked, this, &QuickCommandsWidget::updateCommand); connect(ui->btnCancel, &QPushButton::clicked, this, &QuickCommandsWidget::viewMode); + connect(ui->btnRun, &QPushButton::clicked, this, &QuickCommandsWidget::runCommand); + connect(ui->invertFilter, &QPushButton::clicked, priv->filterModel, &FilterModel::setInvertFilter); connect(ui->filterLine, &QLineEdit::textChanged, this, [this] { @@ -149,6 +151,16 @@ void QuickCommandsWidget::invokeCommand(const QModelIndex &idx) } } +void QuickCommandsWidget::runCommand() +{ + qDebug() << "Running"; + const QString command = ui->command->toPlainText(); + priv->controller->session()->sendTextToTerminal(command, QLatin1Char('\r')); + if (priv->controller->session()->views().count()) { + priv->controller->session()->views().at(0)->setFocus(); + } +} + void QuickCommandsWidget::triggerEdit() { const auto sourceIdx = priv->filterModel->mapToSource(ui->commandsTreeView->currentIndex()); diff --git a/src/plugins/QuickCommands/quickcommandswidget.h b/src/plugins/QuickCommands/quickcommandswidget.h index c084dc8b..dbf16726 100644 --- a/src/plugins/QuickCommands/quickcommandswidget.h +++ b/src/plugins/QuickCommands/quickcommandswidget.h @@ -36,6 +36,10 @@ public: Q_SLOT void updateCommand(); Q_SLOT void invokeCommand(const QModelIndex &idx); + // Run a command from the currently selected Tree element + + Q_SLOT void runCommand(); + // Run the command from the Text Area Q_SLOT void triggerEdit();