UI: Make assignDockToggle an actual function

Allows using it outside of the constructor.
This commit is contained in:
jp9000 2019-02-06 13:30:02 -08:00
parent b89c2b76d3
commit 412520c5d0

View file

@ -161,6 +161,27 @@ static int CountVideoSources()
return count;
}
void assignDockToggle(QDockWidget *dock, QAction *action)
{
auto handleWindowToggle = [action] (bool vis)
{
action->blockSignals(true);
action->setChecked(vis);
action->blockSignals(false);
};
auto handleMenuToggle = [dock] (bool check)
{
dock->blockSignals(true);
dock->setVisible(check);
dock->blockSignals(false);
};
dock->connect(dock->toggleViewAction(), &QAction::toggled,
handleWindowToggle);
dock->connect(action, &QAction::toggled,
handleMenuToggle);
}
OBSBasic::OBSBasic(QWidget *parent)
: OBSMainWindow (parent),
ui (new Ui::OBSBasic)
@ -285,27 +306,6 @@ OBSBasic::OBSBasic(QWidget *parent)
addNudge(Qt::Key_Left, SLOT(NudgeLeft()));
addNudge(Qt::Key_Right, SLOT(NudgeRight()));
auto assignDockToggle = [] (QDockWidget *dock, QAction *action)
{
auto handleWindowToggle = [action] (bool vis)
{
action->blockSignals(true);
action->setChecked(vis);
action->blockSignals(false);
};
auto handleMenuToggle = [dock] (bool check)
{
dock->blockSignals(true);
dock->setVisible(check);
dock->blockSignals(false);
};
dock->connect(dock->toggleViewAction(), &QAction::toggled,
handleWindowToggle);
dock->connect(action, &QAction::toggled,
handleMenuToggle);
};
assignDockToggle(ui->scenesDock, ui->toggleScenes);
assignDockToggle(ui->sourcesDock, ui->toggleSources);
assignDockToggle(ui->mixerDock, ui->toggleMixer);