diff --git a/UI/forms/OBSBasicFilters.ui b/UI/forms/OBSBasicFilters.ui index b25d5d373e05d1777c7d0d8bd1ae6a4a8e8cd8a8..572a31f9dd150cd62d387bc223c926970d6e05c3 100644 --- a/UI/forms/OBSBasicFilters.ui +++ b/UI/forms/OBSBasicFilters.ui @@ -425,6 +425,42 @@ + + + + :/res/images/list_remove.png:/res/images/list_remove.png + + + Remove + + + Del + + + + + + :/res/images/up.png:/res/images/up.png + + + Basic.MainMenu.Edit.Order.MoveUp + + + Ctrl+Up + + + + + + :/res/images/down.png:/res/images/down.png + + + Basic.MainMenu.Edit.Order.MoveDown + + + Ctrl+Down + + diff --git a/UI/window-basic-filters.cpp b/UI/window-basic-filters.cpp index 564deac6a6ea9d18f42a66cae6bb35c652724e3e..df9ee1e4b765158148a90b61806b1ac1e19e20fb 100644 --- a/UI/window-basic-filters.cpp +++ b/UI/window-basic-filters.cpp @@ -72,6 +72,14 @@ OBSBasicFilters::OBSBasicFilters(QWidget *parent, OBSSource source_) const char *name = obs_source_get_name(source); setWindowTitle(QTStr("Basic.Filters.Title").arg(QT_UTF8(name))); +#ifndef QT_NO_SHORTCUT + ui->actionRemoveFilter->setShortcut(QApplication::translate("OBSBasicFilters", "Del", nullptr)); +#endif // QT_NO_SHORTCUT + + addAction(ui->actionRemoveFilter); + addAction(ui->actionMoveUp); + addAction(ui->actionMoveDown); + installEventFilter(CreateShortcutFilter()); connect(ui->asyncFilters->itemDelegate(), @@ -659,6 +667,30 @@ void OBSBasicFilters::on_effectFilters_currentRowChanged(int row) UpdatePropertiesView(row, false); } +void OBSBasicFilters::on_actionRemoveFilter_triggered() +{ + if (ui->asyncFilters->hasFocus()) + on_removeAsyncFilter_clicked(); + else if (ui->effectFilters->hasFocus()) + on_removeEffectFilter_clicked(); +} + +void OBSBasicFilters::on_actionMoveUp_triggered() +{ + if (ui->asyncFilters->hasFocus()) + on_moveAsyncFilterUp_clicked(); + else if (ui->effectFilters->hasFocus()) + on_moveEffectFilterUp_clicked(); +} + +void OBSBasicFilters::on_actionMoveDown_triggered() +{ + if (ui->asyncFilters->hasFocus()) + on_moveAsyncFilterDown_clicked(); + else if (ui->effectFilters->hasFocus()) + on_moveEffectFilterDown_clicked(); +} + void OBSBasicFilters::CustomContextMenu(const QPoint &pos, bool async) { QListWidget *list = async ? ui->asyncFilters : ui->effectFilters; diff --git a/UI/window-basic-filters.hpp b/UI/window-basic-filters.hpp index 9fdbce303f9e3d5834cf77449022a9c8c100f109..5ab28a09d8d3028c4d6abced566d9f83fdd997aa 100644 --- a/UI/window-basic-filters.hpp +++ b/UI/window-basic-filters.hpp @@ -100,6 +100,10 @@ private slots: void on_effectFilters_customContextMenuRequested(const QPoint &pos); void on_effectFilters_GotFocus(); + void on_actionRemoveFilter_triggered(); + void on_actionMoveUp_triggered(); + void on_actionMoveDown_triggered(); + void AsyncFilterNameEdited(QWidget *editor, QAbstractItemDelegate::EndEditHint endHint); void EffectFilterNameEdited(QWidget *editor,