未验证 提交 07380352 编写于 作者: J Jim 提交者: GitHub

Merge pull request #1455 from Andersama/delete-shortcut-filters

UI: Add various shortcuts for filters window
......@@ -425,6 +425,42 @@
</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>
<action name="actionMoveUp">
<property name="icon">
<iconset resource="obs.qrc">
<normaloff>:/res/images/up.png</normaloff>:/res/images/up.png</iconset>
</property>
<property name="text">
<string>Basic.MainMenu.Edit.Order.MoveUp</string>
</property>
<property name="shortcut">
<string>Ctrl+Up</string>
</property>
</action>
<action name="actionMoveDown">
<property name="icon">
<iconset resource="obs.qrc">
<normaloff>:/res/images/down.png</normaloff>:/res/images/down.png</iconset>
</property>
<property name="text">
<string>Basic.MainMenu.Edit.Order.MoveDown</string>
</property>
<property name="shortcut">
<string>Ctrl+Down</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>
......
......@@ -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;
......
......@@ -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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册