diff --git a/stuff/profiles/layouts/OpenToonz/layouts.txt b/stuff/profiles/layouts/OpenToonz/layouts.txt
new file mode 100644
index 0000000..21ed22c
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/layouts.txt
@@ -0,0 +1,6 @@
+room1.ini
+room2.ini
+room3.ini
+room4.ini
+room5.ini
+room6.ini
diff --git a/stuff/profiles/layouts/OpenToonz/menubar_template.xml b/stuff/profiles/layouts/OpenToonz/menubar_template.xml
new file mode 100644
index 0000000..8b96152
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/menubar_template.xml
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/stuff/profiles/layouts/OpenToonz/room1.ini b/stuff/profiles/layouts/OpenToonz/room1.ini
new file mode 100644
index 0000000..9b976c3
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room1.ini
@@ -0,0 +1,9 @@
+[room]
+pane_0\name=ComboViewer
+pane_0\geometry=@Rect(0 0 851 452)
+pane_1\name=CleanupSettings
+pane_1\geometry=@Rect(859 0 251 611)
+pane_2\name=Xsheet
+pane_2\geometry=@Rect(0 460 851 151)
+hierarchy="-1 0 [ [ 0 2 ] 1 ] "
+name=Cleanup
diff --git a/stuff/profiles/layouts/OpenToonz/room1_menubar.xml b/stuff/profiles/layouts/OpenToonz/room1_menubar.xml
new file mode 100644
index 0000000..13bae22
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room1_menubar.xml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+ MI_Preferences
+ MI_ShortcutPopup
+ MI_SceneSettings
+
+ MI_ViewCamera
+ MI_ViewTable
+ MI_FieldGuide
+ MI_SafeArea
+ MI_ViewBBox
+ MI_ViewColorcard
+
+
+ MI_DockingCheck
+
+ MI_RunScript
+ MI_OpenScriptConsole
+ MI_ReloadStyle
+
+
+ MI_About
+
+
\ No newline at end of file
diff --git a/stuff/profiles/layouts/OpenToonz/room2.ini b/stuff/profiles/layouts/OpenToonz/room2.ini
new file mode 100644
index 0000000..3ecf3f4
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room2.ini
@@ -0,0 +1,14 @@
+[room]
+pane_0\name=ComboViewer
+pane_0\geometry=@Rect(0 0 700 600)
+pane_1\name=LevelPalette
+pane_1\geometry=@Rect(0 0 100 50)
+pane_1\viewtype=2
+pane_2\name=StyleEditor
+pane_2\geometry=@Rect(0 0 340 630)
+pane_3\name=Xsheet
+pane_3\geometry=@Rect(0 0 500 300)
+pane_4\name=StudioPalette
+pane_4\geometry=@Rect(0 0 100 50)
+hierarchy="-1 1 [ [ 2 0 ] [ 4 3 1 ] ] "
+name=PltEdit
diff --git a/stuff/profiles/layouts/OpenToonz/room2_menubar.xml b/stuff/profiles/layouts/OpenToonz/room2_menubar.xml
new file mode 100644
index 0000000..d503306
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room2_menubar.xml
@@ -0,0 +1,143 @@
+
+
+ MI_LoadLevel
+ MI_LoadFolder
+ MI_SaveLevel
+ MI_SaveLevelAs
+ MI_ExportLevel
+ MI_OpenRecentLevel
+ MI_LevelSettings
+
+ MI_NewLevel
+
+ MI_OverwritePalette
+ MI_SavePaletteAs
+
+ MI_LoadScene
+ MI_SaveScene
+ MI_SaveSceneAs
+ MI_OpenRecentScene
+ MI_RevertScene
+
+ MI_ConvertFileWithInput
+
+ MI_NewScene
+
+ MI_Quit
+
+
+ T_StylePicker
+ T_RGBPicker
+ T_Tape
+
+ T_Fill
+ T_Brush
+ T_PaintBrush
+ T_Geometric
+ T_Type
+
+ T_Eraser
+
+ T_Edit
+ T_Selection
+
+ T_ControlPointEditor
+ T_Pinch
+ T_Pump
+ T_Magnet
+ T_Bender
+ T_Iron
+ T_Cutter
+
+ T_Skeleton
+ T_Tracker
+ T_Hook
+ T_Plastic
+
+ T_Zoom
+ T_Rotate
+ T_Hand
+
+
+
+ MI_Undo
+ MI_Redo
+
+ MI_NextFrame
+ MI_PrevFrame
+ MI_FirstFrame
+ MI_LastFrame
+ MI_TestAnimation
+
+ MI_Copy
+ MI_Cut
+ MI_Paste
+ MI_PasteInto
+
+ MI_Clear
+ MI_Insert
+ MI_SelectAll
+ MI_InvertSelection
+
+
+ MI_TCheck
+ MI_BCheck
+ MI_ICheck
+ MI_Ink1Check
+ MI_PCheck
+
+
+ MI_PreviewSettings
+ MI_Preview
+ MI_SavePreviewedFrames
+
+ MI_OutputSettings
+ MI_Render
+
+
+ MI_OpenFileBrowser
+ MI_OpenFileViewer
+ MI_OpenFilmStrip
+ MI_OpenPalette
+ MI_OpenStudioPalette
+ MI_OpenStyleControl
+ MI_OpenLevelView
+ MI_OpenComboViewer
+ MI_OpenXshView
+
+
+ MI_OpenBatchServers
+ MI_OpenColorModel
+ MI_OpenFunctionEditor
+ MI_OpenFileBrowser2
+ MI_OpenSchematic
+ MI_OpenTasks
+ MI_OpenToolbar
+ MI_OpenToolOptionBar
+ MI_OpenHistoryPanel
+ MI_OpenTMessage
+
+
+
+ MI_Preferences
+ MI_ShortcutPopup
+ MI_SceneSettings
+
+
+ MI_ViewCamera
+ MI_ViewTable
+ MI_FieldGuide
+ MI_SafeArea
+ MI_ViewColorcard
+
+
+ MI_DockingCheck
+
+ MI_RunScript
+ MI_OpenScriptConsole
+ MI_ReloadStyle
+
+
+ MI_About
+
+
\ No newline at end of file
diff --git a/stuff/profiles/layouts/OpenToonz/room3.ini b/stuff/profiles/layouts/OpenToonz/room3.ini
new file mode 100644
index 0000000..a82ba30
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room3.ini
@@ -0,0 +1,10 @@
+[room]
+pane_0\name=ComboViewer
+pane_0\geometry=@Rect(0 0 700 600)
+pane_1\name=LevelPalette
+pane_1\geometry=@Rect(0 0 100 50)
+pane_1\viewtype=2
+pane_2\name=FilmStrip
+pane_2\geometry=@Rect(0 0 201 50)
+hierarchy="-1 1 [ [ 0 2 ] 1 ] "
+name=InknPaint
diff --git a/stuff/profiles/layouts/OpenToonz/room3_menubar.xml b/stuff/profiles/layouts/OpenToonz/room3_menubar.xml
new file mode 100644
index 0000000..6b15f61
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room3_menubar.xml
@@ -0,0 +1,153 @@
+
+
+ MI_LoadLevel
+ MI_LoadFolder
+ MI_SaveLevel
+ MI_SaveLevelAs
+ MI_OpenRecentLevel
+ MI_ExportLevel
+ MI_LevelSettings
+ MI_CanvasSize
+
+ MI_NewLevel
+
+ MI_OverwritePalette
+ MI_SavePaletteAs
+
+ MI_LoadColorModel
+
+ MI_ApplyMatchLines
+ MI_DeleteMatchLines
+ MI_DeleteInk
+ MI_MergeCmapped
+ MI_MergeColumns
+
+ MI_LoadScene
+ MI_SaveScene
+ MI_SaveSceneAs
+ MI_OpenRecentScene
+
+ MI_NewScene
+
+ MI_Quit
+
+
+ T_StylePicker
+ T_RGBPicker
+ T_Tape
+
+ T_Fill
+ T_Brush
+ T_PaintBrush
+ T_Geometric
+ T_Type
+
+ T_Eraser
+
+
+ T_Edit
+ T_Selection
+
+ T_ControlPointEditor
+ T_Pinch
+ T_Pump
+ T_Magnet
+ T_Bender
+ T_Iron
+ T_Cutter
+
+ T_Skeleton
+ T_Tracker
+ T_Hook
+ T_Plastic
+
+ T_Zoom
+ T_Rotate
+ T_Hand
+
+
+
+ MI_ShiftTrace
+ MI_EditShift
+ MI_NoShift
+ MI_ResetShift
+
+ MI_RasterizePli
+
+
+ MI_Undo
+ MI_Redo
+
+ MI_NextFrame
+ MI_PrevFrame
+ MI_FirstFrame
+ MI_LastFrame
+ MI_TestAnimation
+
+ MI_Copy
+ MI_Cut
+ MI_Paste
+ MI_PasteInto
+
+ MI_Clear
+ MI_Insert
+ MI_SelectAll
+ MI_InvertSelection
+
+
+ MI_TCheck
+ MI_BCheck
+ MI_ICheck
+ MI_Ink1Check
+ MI_PCheck
+ MI_GCheck
+ MI_ACheck
+ MI_IOnly
+
+
+ MI_OpenStyleControl
+ MI_OpenPltGizmo
+ MI_OpenPalette
+ MI_OpenStudioPalette
+ MI_OpenComboViewer
+ MI_OpenXshView
+ MI_OpenColorModel
+ MI_OpenFileBrowser
+ MI_OpenFilmStrip
+ MI_OpenToolbar
+ MI_OpenToolOptionBar
+
+
+ MI_OpenBatchServers
+ MI_OpenFileViewer
+ MI_OpenFunctionEditor
+ MI_OpenFileBrowser2
+ MI_OpenSchematic
+ MI_OpenTasks
+ MI_OpenHistoryPanel
+ MI_OpenTMessage
+
+
+
+ MI_Preferences
+ MI_ShortcutPopup
+ MI_SceneSettings
+
+
+ MI_ViewCamera
+ MI_ViewTable
+ MI_FieldGuide
+ MI_SafeArea
+ MI_ViewColorcard
+
+
+ MI_DockingCheck
+
+ MI_RunScript
+ MI_OpenScriptConsole
+ MI_ReloadStyle
+
+
+ MI_About
+
+
\ No newline at end of file
diff --git a/stuff/profiles/layouts/OpenToonz/room4.ini b/stuff/profiles/layouts/OpenToonz/room4.ini
new file mode 100644
index 0000000..97e1552
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room4.ini
@@ -0,0 +1,7 @@
+[room]
+pane_0\name=Xsheet
+pane_0\geometry=@Rect(0 0 500 300)
+pane_1\name=FunctionEditor
+pane_1\geometry=@Rect(0 0 100 50)
+hierarchy="-1 0 [ 0 1 ] "
+name=Xsheet
diff --git a/stuff/profiles/layouts/OpenToonz/room4_menubar.xml b/stuff/profiles/layouts/OpenToonz/room4_menubar.xml
new file mode 100644
index 0000000..b37b517
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room4_menubar.xml
@@ -0,0 +1,156 @@
+
+
+ MI_LoadScene
+ MI_SaveScene
+ MI_SaveSceneAs
+ MI_OpenRecentScene
+ MI_RevertScene
+
+ MI_NewScene
+
+ MI_PrintXsheet
+ MI_Export
+
+ MI_Quit
+
+
+ MI_OpenChild
+ MI_CloseChild
+ MI_Collapse
+ MI_Resequence
+ MI_SaveSubxsheetAs
+ MI_LoadSubSceneFile
+ MI_CloneChild
+ MI_ExplodeChild
+
+
+ MI_LoadLevel
+ MI_LoadFolder
+ MI_SaveLevel
+ MI_SaveLevelAs
+ MI_ExportLevel
+ MI_OpenRecentLevel
+ MI_LevelSettings
+ MI_CanvasSize
+
+ MI_NewLevel
+
+ MI_ViewFile
+ MI_FileInfo
+
+ MI_CloneLevel
+ MI_ReplaceLevel
+
+ MI_AddFrames
+ MI_Renumber
+ MI_RevertToCleanedUp
+ MI_ConvertToVectors
+ MI_ConvertFileWithInput
+ MI_Tracking
+ MI_ExposeResource
+ MI_EditLevel
+ MI_RemoveUnused
+
+
+ MI_Dup
+ MI_Reverse
+ MI_Rollup
+ MI_Rolldown
+ MI_Swing
+ MI_Random
+ MI_TimeStretch
+
+
+ MI_Reframe1
+ MI_Reframe2
+ MI_Reframe3
+ MI_Reframe4
+
+
+ MI_Step2
+ MI_Step3
+ MI_Step4
+
+
+ MI_Each2
+ MI_Each3
+ MI_Each4
+
+
+
+ MI_Undo
+ MI_Redo
+
+ MI_Copy
+ MI_Cut
+ MI_Paste
+ MI_PasteInto
+
+ MI_Clear
+ MI_Insert
+ MI_SelectAll
+ MI_InvertSelection
+
+ MI_InsertSceneFrame
+ MI_RemoveSceneFrame
+ MI_InsertGlobalKeyframe
+ MI_RemoveGlobalKeyframe
+
+
+ MI_PreviewSettings
+ MI_Preview
+ MI_SavePreviewedFrames
+
+ MI_OutputSettings
+ MI_Render
+
+ MI_Link
+
+
+ MI_OpenSchematic
+ MI_OpenComboViewer
+ MI_OpenFileBrowser
+ MI_OpenFunctionEditor
+ MI_OpenFileViewer
+ MI_OpenFilmStrip
+ MI_OpenLevelView
+ MI_OpenXshView
+
+
+ MI_OpenBatchServers
+ MI_OpenColorModel
+ MI_OpenPalette
+ MI_OpenFileBrowser2
+ MI_OpenStudioPalette
+ MI_OpenStyleControl
+ MI_OpenTasks
+ MI_OpenToolbar
+ MI_OpenToolOptionBar
+ MI_OpenHistoryPanel
+ MI_OpenTMessage
+
+
+
+ MI_Preferences
+ MI_ShortcutPopup
+ MI_SceneSettings
+
+
+ MI_ViewCamera
+ MI_ViewTable
+ MI_FieldGuide
+ MI_SafeArea
+ MI_ViewBBox
+ MI_ViewColorcard
+
+
+ MI_DockingCheck
+
+ MI_RunScript
+ MI_OpenScriptConsole
+ MI_ReloadStyle
+
+
+ MI_About
+
+
\ No newline at end of file
diff --git a/stuff/profiles/layouts/OpenToonz/room5.ini b/stuff/profiles/layouts/OpenToonz/room5.ini
new file mode 100644
index 0000000..c428f02
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room5.ini
@@ -0,0 +1,7 @@
+[room]
+pane_0\name=Tasks
+pane_0\geometry=@Rect(0 0 100 50)
+pane_1\name=BatchServers
+pane_1\geometry=@Rect(0 0 100 50)
+hierarchy="-1 0 [ 0 1 ] "
+name=Batches
diff --git a/stuff/profiles/layouts/OpenToonz/room5_menubar.xml b/stuff/profiles/layouts/OpenToonz/room5_menubar.xml
new file mode 100644
index 0000000..67f381e
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room5_menubar.xml
@@ -0,0 +1,23 @@
+
+
+ MI_Quit
+
+
+ MI_OpenFileBrowser
+ MI_OpenBatchServers
+ MI_OpenTasks
+
+
+ MI_Preferences
+ MI_ShortcutPopup
+
+ MI_DockingCheck
+
+ "MI_RunScript"
+ "MI_OpenScriptConsole"
+ "MI_ReloadStyle"
+
+
+ MI_About
+
+
\ No newline at end of file
diff --git a/stuff/profiles/layouts/OpenToonz/room6.ini b/stuff/profiles/layouts/OpenToonz/room6.ini
new file mode 100644
index 0000000..b2ee247
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room6.ini
@@ -0,0 +1,7 @@
+[room]
+pane_0\name=Browser
+pane_0\geometry=@Rect(0 0 100 50)
+pane_1\name=SceneCast
+pane_1\geometry=@Rect(0 0 100 50)
+hierarchy="-1 1 [ 0 1 ] "
+name=Browser
diff --git a/stuff/profiles/layouts/OpenToonz/room6_menubar.xml b/stuff/profiles/layouts/OpenToonz/room6_menubar.xml
new file mode 100644
index 0000000..46eab24
--- /dev/null
+++ b/stuff/profiles/layouts/OpenToonz/room6_menubar.xml
@@ -0,0 +1,22 @@
+
+
+ MI_NewProject
+ MI_ProjectSettings
+ MI_SaveDefaultSettings
+
+ MI_Quit
+
+
+ MI_Preferences
+ MI_ShortcutPopup
+
+ MI_DockingCheck
+
+ "MI_RunScript"
+ "MI_OpenScriptConsole"
+ "MI_ReloadStyle"
+
+
+ MI_About
+
+
\ No newline at end of file
diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp
index d373f3f..a38fcb9 100644
--- a/toonz/sources/toonz/mainwindow.cpp
+++ b/toonz/sources/toonz/mainwindow.cpp
@@ -176,6 +176,7 @@ void makePrivate(Room *room)
{
TFilePath layoutDir = ToonzFolder::getMyModuleDir();
TFilePath roomPath = room->getPath();
+ std::string mbSrcFileName = roomPath.getName() + "_menubar.xml";
if (roomPath == TFilePath() || roomPath.getParentDir() != layoutDir) {
int count = 1;
for (;;) {
@@ -187,6 +188,23 @@ void makePrivate(Room *room)
TSystem::touchParentDir(roomPath);
room->save();
}
+ /*- create private menubar settings if not exists -*/
+ std::string mbDstFileName = roomPath.getName() + "_menubar.xml";
+ TFilePath myMBPath = layoutDir + mbDstFileName;
+ if (!TFileStatus(myMBPath).isReadable())
+ {
+ TFilePath templateRoomMBPath = ToonzFolder::getTemplateModuleDir() + mbSrcFileName;
+ if (TFileStatus(templateRoomMBPath).doesExist())
+ TSystem::copyFile(myMBPath, templateRoomMBPath);
+ else
+ {
+ TFilePath templateFullMBPath = ToonzFolder::getTemplateModuleDir() + "menubar_template.xml";
+ if (TFileStatus(templateFullMBPath).doesExist())
+ TSystem::copyFile(myMBPath, templateFullMBPath);
+ else
+ DVGui::MsgBox(WARNING, QObject::tr("Cannot open menubar settings template file. Re-installing Toonz will solve this problem."));
+ }
+ }
}
//-----------------------------------------------------------------------------
@@ -1128,6 +1146,11 @@ void MainWindow::deleteRoom(int index)
return;
}
+ /*- delete menubar settings file as well -*/
+ std::string mbFileName = fp.getName() + "_menubar.xml";
+ TFilePath mbFp = fp.getParentDir() + mbFileName;
+ TSystem::deleteFile(mbFp);
+
//The old room index must be updated if index < of it
if (index < m_oldRoomIndex)
m_oldRoomIndex--;