Prechádzať zdrojové kódy

Making DownloadController non optional in places

Signed-off-by: AMZN-Phil <[email protected]>
AMZN-Phil 3 rokov pred
rodič
commit
7365c3ae92

+ 0 - 3
Code/Tools/ProjectManager/Source/Application.cpp

@@ -125,8 +125,6 @@ namespace O3DE::ProjectManager
            return false;
         }
 
-        m_downloadController.reset(new DownloadController());
-
         const AZ::CommandLine* commandLine = GetCommandLine();
         AZ_Assert(commandLine, "Failed to get command line");
 
@@ -269,7 +267,6 @@ namespace O3DE::ProjectManager
             m_entity = nullptr;
         }
 
-        m_downloadController.reset();
         m_pythonBindings.reset();
         m_mainWindow.reset();
         m_app.reset();

+ 0 - 1
Code/Tools/ProjectManager/Source/Application.h

@@ -42,7 +42,6 @@ namespace O3DE::ProjectManager
         AZStd::unique_ptr<Settings> m_settings;
         QSharedPointer<QCoreApplication> m_app;
         QSharedPointer<ProjectManagerWindow> m_mainWindow;
-        QSharedPointer<DownloadController> m_downloadController;
 
         AZ::Entity* m_entity = nullptr;
     };

+ 2 - 2
Code/Tools/ProjectManager/Source/CreateProjectCtrl.cpp

@@ -28,7 +28,7 @@
 
 namespace O3DE::ProjectManager
 {
-    CreateProjectCtrl::CreateProjectCtrl(QWidget* parent)
+    CreateProjectCtrl::CreateProjectCtrl(DownloadController* downloadController, QWidget* parent)
         : ScreenWidget(parent)
     {
         QVBoxLayout* vLayout = new QVBoxLayout();
@@ -47,7 +47,7 @@ namespace O3DE::ProjectManager
         m_newProjectSettingsScreen = new NewProjectSettingsScreen(this);
         m_stack->addWidget(m_newProjectSettingsScreen);
 
-        m_projectGemCatalogScreen = new ProjectGemCatalogScreen(this);
+        m_projectGemCatalogScreen = new ProjectGemCatalogScreen(downloadController, this);
         m_stack->addWidget(m_projectGemCatalogScreen);
 
         m_gemRepoScreen = new GemRepoScreen(this);

+ 2 - 1
Code/Tools/ProjectManager/Source/CreateProjectCtrl.h

@@ -22,12 +22,13 @@ namespace O3DE::ProjectManager
     QT_FORWARD_DECLARE_CLASS(NewProjectSettingsScreen)
     QT_FORWARD_DECLARE_CLASS(ProjectGemCatalogScreen)
     QT_FORWARD_DECLARE_CLASS(GemRepoScreen)
+    QT_FORWARD_DECLARE_CLASS(DownloadController);
 
     class CreateProjectCtrl
         : public ScreenWidget
     {
     public:
-        explicit CreateProjectCtrl(QWidget* parent = nullptr);
+        explicit CreateProjectCtrl(DownloadController* downloadController, QWidget* parent = nullptr);
         ~CreateProjectCtrl() = default;
         ProjectManagerScreen GetScreenEnum() override;
         void NotifyCurrentScreen() override;

+ 1 - 1
Code/Tools/ProjectManager/Source/GemCatalog/GemCatalogScreen.cpp

@@ -36,7 +36,7 @@
 
 namespace O3DE::ProjectManager
 {
-    GemCatalogScreen::GemCatalogScreen(bool readOnly, QWidget* parent, DownloadController* downloadController)
+    GemCatalogScreen::GemCatalogScreen(DownloadController* downloadController, bool readOnly, QWidget* parent)
         : ScreenWidget(parent)
         , m_readOnly(readOnly)
         , m_downloadController(downloadController)

+ 1 - 1
Code/Tools/ProjectManager/Source/GemCatalog/GemCatalogScreen.h

@@ -34,7 +34,7 @@ namespace O3DE::ProjectManager
         : public ScreenWidget
     {
     public:
-        explicit GemCatalogScreen(bool readOnly = false, QWidget* parent = nullptr, DownloadController* downloadController = nullptr);
+        explicit GemCatalogScreen(DownloadController* downloadController, bool readOnly = false, QWidget* parent = nullptr);
         ~GemCatalogScreen() = default;
         ProjectManagerScreen GetScreenEnum() override;
 

+ 2 - 2
Code/Tools/ProjectManager/Source/ProjectGemCatalogScreen.cpp

@@ -20,8 +20,8 @@
 
 namespace O3DE::ProjectManager
 {
-    ProjectGemCatalogScreen::ProjectGemCatalogScreen(QWidget* parent, DownloadController* downloadController)
-        : GemCatalogScreen(/*readOnly = */ false, parent, downloadController)
+    ProjectGemCatalogScreen::ProjectGemCatalogScreen(DownloadController* downloadController, QWidget* parent)
+        : GemCatalogScreen(downloadController , /*readOnly = */ false, parent)
     {
 
     }

+ 1 - 1
Code/Tools/ProjectManager/Source/ProjectGemCatalogScreen.h

@@ -20,7 +20,7 @@ namespace O3DE::ProjectManager
         : public GemCatalogScreen
     {
     public:
-        explicit ProjectGemCatalogScreen(QWidget* parent = nullptr, DownloadController* downloadController = nullptr);
+        explicit ProjectGemCatalogScreen(DownloadController* downloadController, QWidget* parent = nullptr);
         ~ProjectGemCatalogScreen() = default;
 
         ProjectManagerScreen GetScreenEnum() override;

+ 2 - 1
Code/Tools/ProjectManager/Source/ProjectManagerWindow.h

@@ -9,6 +9,7 @@
 
 #if !defined(Q_MOC_RUN)
 #include <QMainWindow>
+#include <QPointer>
 #include <AzCore/IO/Path/Path.h>
 #include <ScreenDefs.h>
 #endif
@@ -27,7 +28,7 @@ namespace O3DE::ProjectManager
             ProjectManagerScreen startScreen = ProjectManagerScreen::Projects);
 
     private:
-        DownloadController* m_downloadController = nullptr;
+        QPointer<DownloadController> m_downloadController;
     };
 
 } // namespace O3DE::ProjectManager

+ 1 - 1
Code/Tools/ProjectManager/Source/ProjectsScreen.cpp

@@ -51,7 +51,7 @@
 
 namespace O3DE::ProjectManager
 {
-    ProjectsScreen::ProjectsScreen(QWidget* parent, DownloadController* downloadController)
+    ProjectsScreen::ProjectsScreen(DownloadController* downloadController, QWidget* parent)
         : ScreenWidget(parent)
         , m_downloadController(downloadController)
     {

+ 1 - 1
Code/Tools/ProjectManager/Source/ProjectsScreen.h

@@ -39,7 +39,7 @@ namespace O3DE::ProjectManager
     {
 
     public:
-        explicit ProjectsScreen(QWidget* parent = nullptr, DownloadController* downloadController = nullptr);
+        explicit ProjectsScreen(DownloadController* downloadController, QWidget* parent = nullptr);
         ~ProjectsScreen();
 
         ProjectManagerScreen GetScreenEnum() override;

+ 5 - 5
Code/Tools/ProjectManager/Source/ScreenFactory.cpp

@@ -29,22 +29,22 @@ namespace O3DE::ProjectManager
         switch(screen)
         {
         case (ProjectManagerScreen::CreateProject):
-            newScreen = new CreateProjectCtrl(parent);
+            newScreen = new CreateProjectCtrl(downloadController, parent);
             break;
         case (ProjectManagerScreen::NewProjectSettings):
             newScreen = new NewProjectSettingsScreen(parent);
             break;
         case (ProjectManagerScreen::GemCatalog):
-            newScreen = new GemCatalogScreen(true, parent, downloadController);
+            newScreen = new GemCatalogScreen(downloadController, true, parent);
             break;
         case (ProjectManagerScreen::ProjectGemCatalog):
-            newScreen = new ProjectGemCatalogScreen(parent, downloadController);
+            newScreen = new ProjectGemCatalogScreen(downloadController, parent);
             break;
         case (ProjectManagerScreen::Projects):
-            newScreen = new ProjectsScreen(parent, downloadController);
+            newScreen = new ProjectsScreen(downloadController, parent);
             break;
         case (ProjectManagerScreen::UpdateProject):
-            newScreen = new UpdateProjectCtrl(parent);
+            newScreen = new UpdateProjectCtrl(downloadController, parent);
             break;
         case (ProjectManagerScreen::UpdateProjectSettings):
             newScreen = new UpdateProjectSettingsScreen(parent);

+ 2 - 2
Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp

@@ -28,7 +28,7 @@
 
 namespace O3DE::ProjectManager
 {
-    UpdateProjectCtrl::UpdateProjectCtrl(QWidget* parent)
+    UpdateProjectCtrl::UpdateProjectCtrl(DownloadController* downloadController, QWidget* parent)
         : ScreenWidget(parent)
     {
         QVBoxLayout* vLayout = new QVBoxLayout();
@@ -41,7 +41,7 @@ namespace O3DE::ProjectManager
         vLayout->addWidget(m_header);
 
         m_updateSettingsScreen = new UpdateProjectSettingsScreen();
-        m_projectGemCatalogScreen = new ProjectGemCatalogScreen();
+        m_projectGemCatalogScreen = new ProjectGemCatalogScreen(downloadController);
         m_gemRepoScreen = new GemRepoScreen(this);
 
         connect(m_projectGemCatalogScreen, &ScreenWidget::ChangeScreenRequest, this, &UpdateProjectCtrl::OnChangeScreenRequest);

+ 2 - 1
Code/Tools/ProjectManager/Source/UpdateProjectCtrl.h

@@ -23,13 +23,14 @@ namespace O3DE::ProjectManager
     QT_FORWARD_DECLARE_CLASS(UpdateProjectSettingsScreen)
     QT_FORWARD_DECLARE_CLASS(ProjectGemCatalogScreen)
     QT_FORWARD_DECLARE_CLASS(GemRepoScreen)
+    QT_FORWARD_DECLARE_CLASS(DownloadController)
 
     class UpdateProjectCtrl
         : public ScreenWidget
     {
         Q_OBJECT
     public:
-        explicit UpdateProjectCtrl(QWidget* parent = nullptr);
+        explicit UpdateProjectCtrl(DownloadController* downloadController, QWidget* parent = nullptr);
         ~UpdateProjectCtrl() = default;
         ProjectManagerScreen GetScreenEnum() override;