瀏覽代碼

UI: Move Docks into top level menu

Managing the OBS UI docks is a core feature and as such should be
at the top level of the menu
Warchamp7 3 年之前
父節點
當前提交
a33c5c6be1
共有 3 個文件被更改,包括 30 次插入29 次删除
  1. 8 6
      UI/data/locale/en-US.ini
  2. 17 17
      UI/forms/OBSBasic.ui
  3. 5 6
      UI/window-basic-main.cpp

+ 8 - 6
UI/data/locale/en-US.ini

@@ -112,7 +112,7 @@ ChromeOS.Text="OBS appears to be running inside a ChromeOS container. This platf
 
 # warning when closing docks. it's frustrating that we actually need this.
 DockCloseWarning.Title="Closing Dockable Window"
-DockCloseWarning.Text="You just closed a dockable window. If you'd like to show it again, use the View → Docks menu on the menu bar."
+DockCloseWarning.Text="You just closed a dockable window. If you'd like to show it again, use the Docks menu on the menu bar."
 
 # extra browser panels dialog
 ExtraBrowsers="Custom Browser Docks"
@@ -235,7 +235,7 @@ Basic.Stats.DiskFullIn="Disk full in (approx.)"
 Basic.Stats.ResetStats="Reset Stats"
 
 ResetUIWarning.Title="Are you sure you want to reset the UI?"
-ResetUIWarning.Text="Resetting the UI will hide additional docks. You will need to unhide these docks from the view menu if you want them to be visible.\n\nAre you sure you want to reset the UI?"
+ResetUIWarning.Text="Resetting the UI will hide additional docks. You will need to unhide these docks from the Docks menu if you want them to be visible.\n\nAre you sure you want to reset the UI?"
 
 # updater
 Updater.Title="New update available"
@@ -714,10 +714,6 @@ Basic.MainMenu.Edit.AdvAudio="&Advanced Audio Properties"
 # basic mode view menu
 Basic.MainMenu.View="&View"
 Basic.MainMenu.View.Toolbars="&Toolbars"
-Basic.MainMenu.View.Docks="Docks"
-Basic.MainMenu.View.Docks.ResetUI="Reset UI"
-Basic.MainMenu.View.Docks.LockUI="Lock UI"
-Basic.MainMenu.View.Docks.CustomBrowserDocks="Custom Browser Docks..."
 Basic.MainMenu.View.ListboxToolbars="Scene/Source List Buttons"
 Basic.MainMenu.View.ContextBar="Source Toolbar"
 Basic.MainMenu.View.SceneTransitions="S&cene Transitions"
@@ -725,6 +721,12 @@ Basic.MainMenu.View.SourceIcons="Source &Icons"
 Basic.MainMenu.View.StatusBar="&Status Bar"
 Basic.MainMenu.View.Fullscreen.Interface="Fullscreen Interface"
 
+#basic mode docks menu
+Basic.MainMenu.Docks="Docks"
+Basic.MainMenu.Docks.ResetUI="Reset UI"
+Basic.MainMenu.Docks.LockUI="Lock UI"
+Basic.MainMenu.Docks.CustomBrowserDocks="Custom Browser Docks..."
+
 # basic mode profile/scene collection menus
 Basic.MainMenu.SceneCollection="&Scene Collection"
 Basic.MainMenu.Profile="&Profile"

+ 17 - 17
UI/forms/OBSBasic.ui

@@ -657,20 +657,6 @@
     <property name="title">
      <string>Basic.MainMenu.View</string>
     </property>
-    <widget class="QMenu" name="viewMenuDocks">
-     <property name="title">
-      <string>Basic.MainMenu.View.Docks</string>
-     </property>
-     <addaction name="resetUI"/>
-     <addaction name="lockUI"/>
-     <addaction name="separator"/>
-     <addaction name="toggleScenes"/>
-     <addaction name="toggleSources"/>
-     <addaction name="toggleMixer"/>
-     <addaction name="toggleTransitions"/>
-     <addaction name="toggleControls"/>
-     <addaction name="toggleStats"/>
-    </widget>
     <action name="actionFullscreenInterface">
      <property name="text">
       <string>Basic.MainMenu.View.Fullscreen.Interface</string>
@@ -681,7 +667,6 @@
     </action>
     <addaction name="actionFullscreenInterface"/>
     <addaction name="separator"/>
-    <addaction name="viewMenuDocks"/>
     <addaction name="toggleListboxToolbars"/>
     <addaction name="toggleContextBar"/>
     <addaction name="toggleSourceIcons"/>
@@ -696,9 +681,24 @@
     <addaction name="autoConfigure"/>
     <addaction name="separator"/>
    </widget>
+   <widget class="QMenu" name="menuDocks">
+    <property name="title">
+     <string>Basic.MainMenu.Docks</string>
+    </property>
+    <addaction name="lockUI"/>
+    <addaction name="resetUI"/>
+    <addaction name="separator"/>
+    <addaction name="toggleScenes"/>
+    <addaction name="toggleSources"/>
+    <addaction name="toggleMixer"/>
+    <addaction name="toggleTransitions"/>
+    <addaction name="toggleControls"/>
+    <addaction name="toggleStats"/>
+   </widget>
    <addaction name="menu_File"/>
    <addaction name="menuBasic_MainMenu_Edit"/>
    <addaction name="viewMenu"/>
+   <addaction name="menuDocks"/>
    <addaction name="profileMenu"/>
    <addaction name="sceneCollectionMenu"/>
    <addaction name="menuTools"/>
@@ -1962,7 +1962,7 @@
   </action>
   <action name="resetUI">
    <property name="text">
-    <string>Basic.MainMenu.View.Docks.ResetUI</string>
+    <string>Basic.MainMenu.Docks.ResetUI</string>
    </property>
   </action>
   <action name="lockUI">
@@ -1973,7 +1973,7 @@
     <bool>true</bool>
    </property>
    <property name="text">
-    <string>Basic.MainMenu.View.Docks.LockUI</string>
+    <string>Basic.MainMenu.Docks.LockUI</string>
    </property>
   </action>
   <action name="toggleScenes">

+ 5 - 6
UI/window-basic-main.cpp

@@ -1966,14 +1966,13 @@ void OBSBasic::OBSInit()
 
 #ifdef BROWSER_AVAILABLE
 	if (cef) {
-		QAction *action = new QAction(QTStr("Basic.MainMenu."
-						    "View.Docks."
+		QAction *action = new QAction(QTStr("Basic.MainMenu.Docks."
 						    "CustomBrowserDocks"),
 					      this);
-		ui->viewMenuDocks->insertAction(ui->toggleScenes, action);
+		ui->menuDocks->insertAction(ui->toggleScenes, action);
 		connect(action, &QAction::triggered, this,
 			&OBSBasic::ManageExtraBrowserDocks);
-		ui->viewMenuDocks->insertSeparator(ui->toggleScenes);
+		ui->menuDocks->insertSeparator(ui->toggleScenes);
 
 		LoadExtraBrowserDocks();
 	}
@@ -9571,7 +9570,7 @@ void OBSBasic::ResizeOutputSizeOfSource()
 
 QAction *OBSBasic::AddDockWidget(QDockWidget *dock)
 {
-	QAction *action = ui->viewMenuDocks->addAction(dock->windowTitle());
+	QAction *action = ui->menuDocks->addAction(dock->windowTitle());
 	action->setCheckable(true);
 	assignDockToggle(dock, action);
 	extraDocks.push_back(dock);
@@ -9948,7 +9947,7 @@ void OBSBasic::on_customContextMenuRequested(const QPoint &pos)
 		className = widget->metaObject()->className();
 
 	if (!className || strstr(className, "Dock") != nullptr)
-		ui->viewMenuDocks->exec(mapToGlobal(pos));
+		ui->menuDocks->exec(mapToGlobal(pos));
 }
 
 void OBSBasic::UpdateProjectorHideCursor()