From 229feefbb94beb152ea7d497630894f7a70d9512 Mon Sep 17 00:00:00 2001 From: Shaolin Date: Thu, 15 Mar 2018 04:24:20 -0300 Subject: [PATCH] UI: Refresh multiview projector menu per click --- UI/window-basic-main.cpp | 14 ++++++++++---- UI/window-basic-main.hpp | 3 +++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index d969106d3..44327a4c3 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -1647,15 +1647,21 @@ void OBSBasic::OBSInit() ui->viewMenu->addSeparator(); - QMenu *multiviewProjectorMenu = new QMenu(QTStr("MultiviewProjector")); - AddProjectorMenuMonitors(multiviewProjectorMenu, this, - SLOT(OpenMultiviewProjector())); + multiviewProjectorMenu = new QMenu(QTStr("MultiviewProjector")); ui->viewMenu->addMenu(multiviewProjectorMenu); - + connect(ui->viewMenu->menuAction(), &QAction::hovered, this, + &OBSBasic::UpdateMultiviewProjectorMenu); ui->viewMenu->addAction(QTStr("MultiviewWindowed"), this, SLOT(OpenMultiviewWindow())); } +void OBSBasic::UpdateMultiviewProjectorMenu() +{ + multiviewProjectorMenu->clear(); + AddProjectorMenuMonitors(multiviewProjectorMenu, this, + SLOT(OpenMultiviewProjector())); +} + void OBSBasic::InitHotkeys() { ProfileScope("OBSBasic::InitHotkeys"); diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index 30a1e983c..5e7cadab8 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -186,6 +186,9 @@ private: QPointer exit; QPointer trayMenu; + QPointer multiviewProjectorMenu; + void UpdateMultiviewProjectorMenu(); + void DrawBackdrop(float cx, float cy); void SetupEncoders();