File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ add_library(${PROJECT_NAME} MODULE)
21
21
configure_file (${CMAKE_CURRENT_SOURCE_DIR} /version.h.in ${CMAKE_CURRENT_SOURCE_DIR} /version.h )
22
22
23
23
target_sources (${PROJECT_NAME} PRIVATE
24
- source -copy.cpp
24
+ source -copy.cpp
25
25
source -copy.hpp
26
26
obs-websocket-api.h
27
27
version .h )
Original file line number Diff line number Diff line change 7
7
#include < QMainWindow>
8
8
#include < QMenu>
9
9
#include < QWidgetAction>
10
+ #include < QLineEdit>
10
11
11
12
#include " version.h"
12
13
#include " util/config-file.h"
@@ -335,6 +336,23 @@ static void LoadMenu(QMenu *menu)
335
336
336
337
struct obs_frontend_source_list scenes = {};
337
338
obs_frontend_get_scenes (&scenes);
339
+ wa = new QWidgetAction (menu);
340
+ auto t = new QLineEdit;
341
+ t->connect (t, &QLineEdit::textChanged, [menu](const QString text) {
342
+ foreach (auto action, menu->actions ())
343
+ {
344
+ if (!action->menu ())
345
+ continue ;
346
+ if (text.isEmpty () || action->text () == QT_UTF8 (obs_module_text (" Scripts" ))) {
347
+ action->setVisible (true );
348
+ } else {
349
+ action->setVisible (action->text ().contains (text, Qt::CaseInsensitive));
350
+ }
351
+ }
352
+ });
353
+ wa->setDefaultWidget (t);
354
+ menu->addAction (wa);
355
+
338
356
for (size_t i = 0 ; i < scenes.sources .num ; i++) {
339
357
obs_source_t *source = scenes.sources .array [i];
340
358
QMenu *submenu = menu->addMenu (obs_source_get_name (scenes.sources .array [i]));
You can’t perform that action at this time.
0 commit comments