mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-08 12:24:09 +00:00
UI: Add scene grid mode to view menu
Makes toggling of the scene list grid mode also available in the view menu.
This commit is contained in:
parent
17cb966c62
commit
3a53882675
|
@ -113,6 +113,8 @@ SourceProperties="Open Source Properties"
|
|||
SourceFilters="Open Source Filters"
|
||||
MixerToolbarMenu="Audio Mixer Menu"
|
||||
SceneFilters="Open Scene Filters"
|
||||
List="List"
|
||||
Grid="Grid"
|
||||
|
||||
# warning for plugin load failures
|
||||
PluginsFailedToLoad.Title="Plugin Load Error"
|
||||
|
@ -794,6 +796,7 @@ Basic.MainMenu.View.StatusBar="&Status Bar"
|
|||
Basic.MainMenu.View.Fullscreen.Interface="Fullscreen Interface"
|
||||
Basic.MainMenu.View.ResetUI="&Reset UI"
|
||||
Basic.MainMenu.View.AlwaysOnTop="&Always On Top"
|
||||
Basic.MainMenu.View.SceneListMode="Scene List Mode"
|
||||
|
||||
|
||||
#basic mode docks menu
|
||||
|
|
|
@ -667,6 +667,13 @@
|
|||
<property name="title">
|
||||
<string>Basic.MainMenu.View</string>
|
||||
</property>
|
||||
<widget class="QMenu" name="sceneListModeMenu">
|
||||
<property name="title">
|
||||
<string>Basic.MainMenu.View.SceneListMode</string>
|
||||
</property>
|
||||
<addaction name="actionSceneListMode"/>
|
||||
<addaction name="actionSceneGridMode"/>
|
||||
</widget>
|
||||
<action name="resetUI">
|
||||
<property name="text">
|
||||
<string>Basic.MainMenu.View.ResetUI</string>
|
||||
|
@ -683,6 +690,7 @@
|
|||
<addaction name="resetUI"/>
|
||||
<addaction name="actionFullscreenInterface"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="sceneListModeMenu"/>
|
||||
<addaction name="toggleListboxToolbars"/>
|
||||
<addaction name="toggleContextBar"/>
|
||||
<addaction name="toggleSourceIcons"/>
|
||||
|
@ -2300,6 +2308,22 @@
|
|||
<string>filtersIcon</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSceneGridMode">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Grid</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSceneListMode">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>List</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include <QSizePolicy>
|
||||
#include <QScrollBar>
|
||||
#include <QTextStream>
|
||||
#include <QActionGroup>
|
||||
|
||||
#include <util/dstr.h>
|
||||
#include <util/util.hpp>
|
||||
|
@ -352,6 +353,11 @@ OBSBasic::OBSBasic(QWidget *parent)
|
|||
"gridMode");
|
||||
ui->scenes->SetGridMode(sceneGrid);
|
||||
|
||||
if (sceneGrid)
|
||||
ui->actionSceneGridMode->setChecked(true);
|
||||
else
|
||||
ui->actionSceneListMode->setChecked(true);
|
||||
|
||||
ui->scenes->setItemDelegate(new SceneRenameDelegate(ui->scenes));
|
||||
|
||||
auto displayResize = [this]() {
|
||||
|
@ -517,6 +523,10 @@ OBSBasic::OBSBasic(QWidget *parent)
|
|||
connect(App(), &OBSApp::StyleChanged, this,
|
||||
&OBSBasic::ResetProxyStyleSliders);
|
||||
|
||||
QActionGroup *actionGroup = new QActionGroup(this);
|
||||
actionGroup->addAction(ui->actionSceneListMode);
|
||||
actionGroup->addAction(ui->actionSceneGridMode);
|
||||
|
||||
UpdatePreviewSafeAreas();
|
||||
UpdatePreviewSpacingHelpers();
|
||||
UpdatePreviewOverflowSettings();
|
||||
|
@ -5464,10 +5474,25 @@ void OBSBasic::on_scenes_customContextMenuRequested(const QPoint &pos)
|
|||
popup.exec(QCursor::pos());
|
||||
}
|
||||
|
||||
void OBSBasic::on_actionSceneListMode_triggered()
|
||||
{
|
||||
ui->scenes->SetGridMode(false);
|
||||
}
|
||||
|
||||
void OBSBasic::on_actionSceneGridMode_triggered()
|
||||
{
|
||||
ui->scenes->SetGridMode(true);
|
||||
}
|
||||
|
||||
void OBSBasic::GridActionClicked()
|
||||
{
|
||||
bool gridMode = !ui->scenes->GetGridMode();
|
||||
ui->scenes->SetGridMode(gridMode);
|
||||
|
||||
if (gridMode)
|
||||
ui->actionSceneGridMode->setChecked(true);
|
||||
else
|
||||
ui->actionSceneListMode->setChecked(true);
|
||||
}
|
||||
|
||||
void OBSBasic::on_actionAddScene_triggered()
|
||||
|
@ -9346,6 +9371,8 @@ void OBSBasic::on_resetUI_triggered()
|
|||
ui->toggleContextBar->setChecked(true);
|
||||
ui->toggleSourceIcons->setChecked(true);
|
||||
ui->toggleStatusBar->setChecked(true);
|
||||
ui->scenes->SetGridMode(false);
|
||||
ui->actionSceneListMode->setChecked(true);
|
||||
}
|
||||
|
||||
void OBSBasic::on_multiviewProjectorWindowed_triggered()
|
||||
|
|
|
@ -1062,6 +1062,8 @@ private slots:
|
|||
QListWidgetItem *prev);
|
||||
void on_scenes_customContextMenuRequested(const QPoint &pos);
|
||||
void GridActionClicked();
|
||||
void on_actionSceneListMode_triggered();
|
||||
void on_actionSceneGridMode_triggered();
|
||||
void on_actionAddScene_triggered();
|
||||
void on_actionRemoveScene_triggered();
|
||||
void on_actionSceneUp_triggered();
|
||||
|
|
Loading…
Reference in a new issue