UI: Add delete as shortcut for removing filters

Delete key now should prompt to remove filters
This commit is contained in:
Alex Anderson 2018-08-28 20:06:38 -07:00
parent 1f1120f4a4
commit 05e06b9af1
3 changed files with 28 additions and 0 deletions

View File

@ -425,6 +425,18 @@
</layout>
</item>
</layout>
<action name="actionRemoveFilter">
<property name="icon">
<iconset resource="obs.qrc">
<normaloff>:/res/images/list_remove.png</normaloff>:/res/images/list_remove.png</iconset>
</property>
<property name="text">
<string>Remove</string>
</property>
<property name="shortcut">
<string>Del</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>

View File

@ -72,6 +72,12 @@ 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);
installEventFilter(CreateShortcutFilter());
connect(ui->asyncFilters->itemDelegate(),
@ -668,6 +674,14 @@ 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::CustomContextMenu(const QPoint &pos, bool async)
{
QListWidget *list = async ? ui->asyncFilters : ui->effectFilters;

View File

@ -100,6 +100,8 @@ private slots:
void on_effectFilters_customContextMenuRequested(const QPoint &pos);
void on_effectFilters_GotFocus();
void on_actionRemoveFilter_triggered();
void AsyncFilterNameEdited(QWidget *editor,
QAbstractItemDelegate::EndEditHint endHint);
void EffectFilterNameEdited(QWidget *editor,