Add Project Manager File menu options to Editor

This commit is contained in:
Alex Peterson
2021-06-01 15:30:14 -07:00
committed by GitHub
parent 9e3b7b45d9
commit afe20906db
14 changed files with 147 additions and 17 deletions
@@ -421,17 +421,18 @@ QMenu* LevelEditorMenuHandler::CreateFileMenu()
fileMenu.AddSeparator();
// Project Settings
auto projectSettingMenu = fileMenu.AddMenu(tr("Project Settings"));
fileMenu.AddAction(ID_FILE_PROJECT_MANAGER_SETTINGS);
// Project Settings Tool
// Platform Settings - Project Settings Tool
// Shortcut must be set while adding the action otherwise it doesn't work
projectSettingMenu.Get()->addAction(
fileMenu.Get()->addAction(
tr(LyViewPane::ProjectSettingsTool),
[]() { QtViewPaneManager::instance()->OpenPane(LyViewPane::ProjectSettingsTool); },
tr("Ctrl+Shift+P"));
projectSettingMenu.AddSeparator();
fileMenu.AddSeparator();
fileMenu.AddAction(ID_FILE_PROJECT_MANAGER_NEW);
fileMenu.AddAction(ID_FILE_PROJECT_MANAGER_OPEN);
fileMenu.AddSeparator();
// NEWMENUS: NEEDS IMPLEMENTATION
+34
View File
@@ -58,6 +58,7 @@ AZ_POP_DISABLE_WARNING
#include <AzFramework/Components/CameraBus.h>
#include <AzFramework/StringFunc/StringFunc.h>
#include <AzFramework/Terrain/TerrainDataRequestBus.h>
#include <AzFramework/ProjectManager/ProjectManager.h>
// AzToolsFramework
#include <AzToolsFramework/Component/EditorComponentAPIBus.h>
@@ -477,6 +478,11 @@ void CCryEditApp::RegisterActionHandlers()
ON_COMMAND(ID_FILE_SAVE_LEVEL, OnFileSave)
ON_COMMAND(ID_FILE_EXPORTOCCLUSIONMESH, OnFileExportOcclusionMesh)
// Project Manager
ON_COMMAND(ID_FILE_PROJECT_MANAGER_SETTINGS, OnOpenProjectManagerSettings)
ON_COMMAND(ID_FILE_PROJECT_MANAGER_NEW, OnOpenProjectManagerNew)
ON_COMMAND(ID_FILE_PROJECT_MANAGER_OPEN, OnOpenProjectManager)
}
CCryEditApp* CCryEditApp::s_currentInstance = nullptr;
@@ -2854,6 +2860,34 @@ void CCryEditApp::OnPreferences()
*/
}
void CCryEditApp::OnOpenProjectManagerSettings()
{
OpenProjectManager("UpdateProject");
}
void CCryEditApp::OnOpenProjectManagerNew()
{
OpenProjectManager("CreateProject");
}
void CCryEditApp::OnOpenProjectManager()
{
OpenProjectManager("Projects");
}
void CCryEditApp::OpenProjectManager(const AZStd::string& screen)
{
// provide the current project path for in case we want to update the project
AZ::IO::FixedMaxPathString projectPath = AZ::Utils::GetProjectPath();
const AZStd::string commandLineOptions = AZStd::string::format(" --screen %s --project_path %s", screen.c_str(), projectPath.c_str());
bool launchSuccess = AzFramework::ProjectManager::LaunchProjectManager(commandLineOptions);
if (!launchSuccess)
{
QMessageBox::critical(AzToolsFramework::GetActiveWindow(), QObject::tr("Failed to launch O3DE Project Manager"), QObject::tr("Failed to find or start the O3dE Project Manager"));
}
}
//////////////////////////////////////////////////////////////////////////
void CCryEditApp::OnUndo()
{
+4
View File
@@ -229,6 +229,9 @@ public:
void OnFileResaveSlices();
void OnFileEditEditorini();
void OnPreferences();
void OnOpenProjectManagerSettings();
void OnOpenProjectManagerNew();
void OnOpenProjectManager();
void OnRedo();
void OnUpdateRedo(QAction* action);
void OnUpdateUndo(QAction* action);
@@ -366,6 +369,7 @@ private:
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
friend struct PythonTestOutputHandler;
void OpenProjectManager(const AZStd::string& screen);
void OnWireframe();
void OnUpdateWireframe(QAction* action);
void OnViewConfigureLayout();
+1 -1
View File
@@ -30,7 +30,7 @@ namespace LyViewPane
static const char* const EntityInspector = "Entity Inspector";
static const char* const EntityInspectorPinned = "Pinned Entity Inspector";
static const char* const LevelInspector = "Level Inspector";
static const char* const ProjectSettingsTool = "Project Settings Tool";
static const char* const ProjectSettingsTool = "Edit Platform Settings...";
static const char* const ErrorReport = "Error Report";
static const char* const Console = "Console";
static const char* const ConsoleMenuName = "&Console";
+3
View File
@@ -748,6 +748,9 @@ void MainWindow::InitActions()
am->AddAction(ID_FILE_EXPORTOCCLUSIONMESH, tr("Export Occlusion Mesh"));
am->AddAction(ID_FILE_EDITLOGFILE, tr("Show Log File"));
am->AddAction(ID_FILE_RESAVESLICES, tr("Resave All Slices"));
am->AddAction(ID_FILE_PROJECT_MANAGER_SETTINGS, tr("Edit Project Settings..."));
am->AddAction(ID_FILE_PROJECT_MANAGER_NEW, tr("New Project..."));
am->AddAction(ID_FILE_PROJECT_MANAGER_OPEN, tr("Open Project..."));
am->AddAction(ID_GAME_PC_ENABLEVERYHIGHSPEC, tr("Very High")).SetCheckable(true)
.RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateGameSpec);
am->AddAction(ID_GAME_PC_ENABLEHIGHSPEC, tr("High")).SetCheckable(true)
+3
View File
@@ -313,6 +313,9 @@
#define ID_CREATE_LEVEL_FG_MODULE_FROM_SELECTION 35077
#define ID_GRAPHVIEW_ADD_BLACK_BOX 35078
#define ID_GRAPHVIEW_UNGROUP 35079
#define ID_FILE_PROJECT_MANAGER_NEW 35080
#define ID_FILE_PROJECT_MANAGER_OPEN 35081
#define ID_FILE_PROJECT_MANAGER_SETTINGS 35082
#define ID_TV_TRACKS_TOOLBAR_BASE 35083 // range between ID_TV_TRACKS_TOOLBAR_BASE to ID_TV_TRACKS_TOOLBAR_LAST reserved
#define ID_TV_TRACKS_TOOLBAR_LAST 35183 // for up to 100 "Add Tracks..." dynamically added Track View Track buttons
#define ID_OPEN_TERRAIN_EDITOR 36007