Add Project Manager File menu options to Editor
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user