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