From 326dcc3d1003c25cfc839933d369630056ba3b6d Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 3 Jun 2021 12:45:18 -0500 Subject: [PATCH 01/29] ToolsApplication constructor Signed-off-by: Dayo Lawal --- .../AzQtComponents/AzQtComponents/azqtcomponents_files.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake index cd00aff988..adce70523c 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake +++ b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake @@ -7,6 +7,8 @@ set(FILES AzQtComponentsAPI.h + Application/ToolsApplication.cpp + Application/ToolsApplication.h Buses/DragAndDrop.h Buses/ShortcutDispatch.h DragAndDrop/MainWindowDragAndDrop.h From 975be6a480babde30e7ef83adee4d0d7c0ccf7dd Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Wed, 9 Jun 2021 15:19:41 -0500 Subject: [PATCH 02/29] MaterialEditor inheriting from ToolsApplication Signed-off-by: Dayo Lawal --- .../Application/ToolsApplication.cpp | 174 ++++++++++++++++++ .../Application/ToolsApplication.h | 84 +++++++++ .../Code/Source/MaterialEditorApplication.cpp | 2 +- .../Code/Source/MaterialEditorApplication.h | 5 +- .../Tools/MaterialEditor/Code/Source/main.cpp | 2 +- 5 files changed, 264 insertions(+), 3 deletions(-) create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp new file mode 100644 index 0000000000..d077fbe211 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp @@ -0,0 +1,174 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#include + +#include // This should be the first include to make sure Windows.h is defined with NOMINMAX + +namespace AzQtComponents +{ + /* + AZStd::string_view GetBuildTargetName() + { +#if !defined(LY_CMAKE_TARGET) +#error "LY_CMAKE_TARGET must be defined in order to add this source file to a CMake executable target" +#endif + return AZStd::string_view { LY_CMAKE_TARGET }; + } + */ + + class ToolsApplication::Impl + : private AZ::Debug::TraceMessageBus::Handler + , public AzFramework::Application + { + friend class ToolsApplication; + + public: + Impl(ToolsApplication* app) : m_app(app) + { + + } + ToolsApplication* m_app; + + bool OnOutput(const char* window, const char* message) override; + + protected: + struct LogMessage + { + AZStd::string window; + AZStd::string message; + }; + + AZStd::vector m_startupLogSink; + AZStd::unique_ptr m_logFile; + + }; + + ToolsApplication::ToolsApplication(int& argc, char** argv) + : QApplication(argc, argv) + , m_impl(new Impl(this)) + { + /* + QApplication::setOrganizationName("Amazon"); + QApplication::setOrganizationDomain("amazon.com"); + QApplication::setApplicationName("O3DEToolsApplication"); + + AzQtComponents::PrepareQtPaths(); + + QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); + + // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays + // on Windows 10 + + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); + QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); + AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); + */ + + //m_impl->AZ::Debug::TraceMessageBus::Handler::BusConnect(); + + } + + ToolsApplication::~ToolsApplication() + { + //m_impl->AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); + } + + + bool ToolsApplication::Impl::OnOutput(const char* window, const char* message) + { + // Suppress spam from the Source Control system + constexpr char sourceControlWindow[] = "Source Control"; + + if (0 == strncmp(window, sourceControlWindow, AZ_ARRAY_SIZE(sourceControlWindow))) + { + return true; + } + + if (m_logFile) + { + m_logFile->AppendLog(AzFramework::LogFile::SEV_NORMAL, window, message); + } + else + { + m_startupLogSink.push_back({ window, message }); + } + return false; + } + + /* + bool ToolsApplication::AddDockWidget(const AZStd::string& name, QWidget* widget, uint32_t area, uint32_t orientation) + { + auto dockWidgetItr = m_dockWidgets.find(name); + if (dockWidgetItr != m_dockWidgets.end() || !widget) + { + return false; + } + + auto dockWidget = new AzQtComponents::StyledDockWidget(name.c_str()); + dockWidget->setObjectName(QString("%1_DockWidget").arg(name.c_str())); + dockWidget->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); + widget->setObjectName(name.c_str()); + widget->setParent(dockWidget); + widget->setMinimumSize(QSize(300, 300)); + dockWidget->setWidget(widget); + //QMainWindow::addDockWidget(aznumeric_cast(area), dockWidget); + //QMainWindow::resizeDocks({ dockWidget }, { 400 }, aznumeric_cast(orientation)); + m_dockWidgets[name] = dockWidget; + return true; + } + + void ToolsApplication::RemoveDockWidget(const AZStd::string& name) + { + auto dockWidgetItr = m_dockWidgets.find(name); + if (dockWidgetItr != m_dockWidgets.end()) + { + delete dockWidgetItr->second; + m_dockWidgets.erase(dockWidgetItr); + } + } + + void ToolsApplication::SetDockWidgetVisible(const AZStd::string& name, bool visible) + { + auto dockWidgetItr = m_dockWidgets.find(name); + if (dockWidgetItr != m_dockWidgets.end()) + { + dockWidgetItr->second->setVisible(visible); + } + } + + bool ToolsApplication::IsDockWidgetVisible(const AZStd::string& name) const + { + auto dockWidgetItr = m_dockWidgets.find(name); + if (dockWidgetItr != m_dockWidgets.end()) + { + return dockWidgetItr->second->isVisible(); + } + return false; + } + + AZStd::vector ToolsApplication::GetDockWidgetNames() const + { + AZStd::vector names; + names.reserve(m_dockWidgets.size()); + for (const auto& dockWidgetPair : m_dockWidgets) + { + names.push_back(dockWidgetPair.first); + } + return names; + } + */ + +} // namespace AzQtComponents + diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h new file mode 100644 index 0000000000..a25507a14e --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h @@ -0,0 +1,84 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + + +#pragma once + +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace AzQtComponents +{ + class AZ_QT_COMPONENTS_API ToolsApplication + : public QApplication + { + public: + ToolsApplication(int& argc, char** argv); + ~ToolsApplication(); + + private: + AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING + class Impl; + AZStd::unique_ptr m_impl; + AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING + + //QTimer m_timer; + //void Tick(float deltaOverride = -1.f) override; + + + /* + bool AddDockWidget(const AZStd::string& name, QWidget* widget, uint32_t area, uint32_t orientation); + void RemoveDockWidget(const AZStd::string& name); + void SetDockWidgetVisible(const AZStd::string& name, bool visible); + bool IsDockWidgetVisible(const AZStd::string& name) const; + AZStd::vector GetDockWidgetNames() const; + + AZStd::unordered_map m_dockWidgets; + */ + }; +} // namespace AzQtComponents + + diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index a5435106c6..73bede14a5 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -72,7 +72,7 @@ namespace MaterialEditor MaterialEditorApplication::MaterialEditorApplication(int* argc, char*** argv) : Application(argc, argv) - , QApplication(*argc, *argv) + , ToolsApplication(*argc, *argv) { AZ::Debug::TraceMessageBus::Handler::BusConnect(); diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index 4d23cc640f..b7b3e13cca 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -21,6 +21,8 @@ #include #include +#include + #include #include @@ -30,13 +32,14 @@ namespace MaterialEditor class MaterialEditorApplication : public AzFramework::Application - , public QApplication + //, public QApplication , private AzToolsFramework::AssetDatabase::AssetDatabaseRequestsBus::Handler , private MaterialEditorWindowNotificationBus::Handler , private AzFramework::AssetSystemStatusBus::Handler , private AZ::UserSettingsOwnerRequestBus::Handler , private AZ::Debug::TraceMessageBus::Handler , private AzToolsFramework::EditorPythonConsoleNotificationBus::Handler + , public AzQtComponents::ToolsApplication { public: AZ_TYPE_INFO(MaterialEditor::MaterialEditorApplication, "{30F90CA5-1253-49B5-8143-19CEE37E22BB}"); diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp index d1b937fde0..3ea7d37175 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp @@ -39,7 +39,7 @@ int main(int argc, char** argv) QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); - + //*/ MaterialEditor::MaterialEditorApplication app(&argc, &argv); auto globalEventFilter = new AzQtComponents::GlobalEventFilter(&app); From d3d9b600f964fe1c0be71f36776ccecd6c69b0b0 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Wed, 9 Jun 2021 20:09:34 -0500 Subject: [PATCH 03/29] AzQtApplication Signed-off-by: Dayo Lawal --- .../Application/ToolsApplication.cpp | 34 +++++++++++-------- .../Application/ToolsApplication.h | 6 ++-- .../Code/Source/MaterialEditorApplication.cpp | 6 ++-- .../Code/Source/MaterialEditorApplication.h | 3 +- .../ShaderManagementConsoleApplication.cpp | 2 +- .../ShaderManagementConsoleApplication.h | 4 ++- 6 files changed, 30 insertions(+), 25 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp index d077fbe211..f01e642770 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp @@ -26,18 +26,18 @@ namespace AzQtComponents } */ - class ToolsApplication::Impl + class AzQtApplication::Impl : private AZ::Debug::TraceMessageBus::Handler - , public AzFramework::Application + //, public AzFramework::Application { - friend class ToolsApplication; + friend class AzQtApplication; public: - Impl(ToolsApplication* app) : m_app(app) + Impl(AzQtApplication* app) : m_app(app) { } - ToolsApplication* m_app; + AzQtApplication* m_app; bool OnOutput(const char* window, const char* message) override; @@ -53,14 +53,18 @@ namespace AzQtComponents }; - ToolsApplication::ToolsApplication(int& argc, char** argv) + AzQtApplication::AzQtApplication(int& argc, char** argv) : QApplication(argc, argv) , m_impl(new Impl(this)) { - /* - QApplication::setOrganizationName("Amazon"); - QApplication::setOrganizationDomain("amazon.com"); - QApplication::setApplicationName("O3DEToolsApplication"); + + // Use a common Qt settings path for applications that don't register their own application name + if (QApplication::applicationName().isEmpty()) + { + QApplication::setOrganizationName("Amazon"); + QApplication::setOrganizationDomain("amazon.com"); + QApplication::setApplicationName("O3DEToolsApplication"); + } AzQtComponents::PrepareQtPaths(); @@ -74,19 +78,19 @@ namespace AzQtComponents QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); - */ + - //m_impl->AZ::Debug::TraceMessageBus::Handler::BusConnect(); + m_impl->AZ::Debug::TraceMessageBus::Handler::BusConnect(); } - ToolsApplication::~ToolsApplication() + AzQtApplication::~AzQtApplication() { - //m_impl->AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); + m_impl->AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); } - bool ToolsApplication::Impl::OnOutput(const char* window, const char* message) + bool AzQtApplication::Impl::OnOutput(const char* window, const char* message) { // Suppress spam from the Source Control system constexpr char sourceControlWindow[] = "Source Control"; diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h index a25507a14e..40ea888887 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h @@ -52,12 +52,12 @@ namespace AzQtComponents { - class AZ_QT_COMPONENTS_API ToolsApplication + class AZ_QT_COMPONENTS_API AzQtApplication : public QApplication { public: - ToolsApplication(int& argc, char** argv); - ~ToolsApplication(); + AzQtApplication(int& argc, char** argv); + ~AzQtApplication(); private: AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index 73bede14a5..cd9f2c9cfd 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -72,9 +72,9 @@ namespace MaterialEditor MaterialEditorApplication::MaterialEditorApplication(int* argc, char*** argv) : Application(argc, argv) - , ToolsApplication(*argc, *argv) + , AzQtApplication(*argc, *argv) { - AZ::Debug::TraceMessageBus::Handler::BusConnect(); + //AZ::Debug::TraceMessageBus::Handler::BusConnect(); AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddBuildSystemTargetSpecialization( *AZ::SettingsRegistry::Get(), GetBuildTargetName()); @@ -88,7 +88,7 @@ namespace MaterialEditor MaterialEditorApplication::~MaterialEditorApplication() { - AzToolsFramework::EditorPythonConsoleNotificationBus::Handler::BusDisconnect(); + //AzToolsFramework::EditorPythonConsoleNotificationBus::Handler::BusDisconnect(); AzToolsFramework::AssetDatabase::AssetDatabaseRequestsBus::Handler::BusDisconnect(); MaterialEditorWindowNotificationBus::Handler::BusDisconnect(); AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index b7b3e13cca..8b674b154e 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -32,14 +32,13 @@ namespace MaterialEditor class MaterialEditorApplication : public AzFramework::Application - //, public QApplication + , public AzQtComponents::AzQtApplication , private AzToolsFramework::AssetDatabase::AssetDatabaseRequestsBus::Handler , private MaterialEditorWindowNotificationBus::Handler , private AzFramework::AssetSystemStatusBus::Handler , private AZ::UserSettingsOwnerRequestBus::Handler , private AZ::Debug::TraceMessageBus::Handler , private AzToolsFramework::EditorPythonConsoleNotificationBus::Handler - , public AzQtComponents::ToolsApplication { public: AZ_TYPE_INFO(MaterialEditor::MaterialEditorApplication, "{30F90CA5-1253-49B5-8143-19CEE37E22BB}"); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp index 770dd67116..538d351237 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp @@ -68,7 +68,7 @@ namespace ShaderManagementConsole ShaderManagementConsoleApplication::ShaderManagementConsoleApplication(int* argc, char*** argv) : Application(argc, argv) - , QApplication(*argc, *argv) + , AzQtApplication(*argc, *argv) { // The settings registry has been created at this point, so add the CMake target AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddBuildSystemTargetSpecialization( diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h index 4ac0549076..fe66292b8d 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h @@ -22,6 +22,8 @@ #include #include +#include + #include #include @@ -29,7 +31,7 @@ namespace ShaderManagementConsole { class ShaderManagementConsoleApplication : public AzFramework::Application - , public QApplication + , public AzQtComponents::AzQtApplication , private AzToolsFramework::AssetDatabase::AssetDatabaseRequestsBus::Handler , private ShaderManagementConsoleWindowNotificationBus::Handler , private AzFramework::AssetSystemStatusBus::Handler From 5872138671f19383f90b4442328670eb1795d514 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 10 Jun 2021 14:31:28 -0500 Subject: [PATCH 04/29] AzQtApplication 2 Signed-off-by: Dayo Lawal --- .../Application/{ToolsApplication.cpp => AzQtApplication.cpp} | 2 +- .../Application/{ToolsApplication.h => AzQtApplication.h} | 0 .../MaterialEditor/Code/Source/MaterialEditorApplication.h | 2 +- .../Code/Source/ShaderManagementConsoleApplication.h | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename Code/Framework/AzQtComponents/AzQtComponents/Application/{ToolsApplication.cpp => AzQtApplication.cpp} (99%) rename Code/Framework/AzQtComponents/AzQtComponents/Application/{ToolsApplication.h => AzQtApplication.h} (100%) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp similarity index 99% rename from Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp rename to Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index f01e642770..651a8f0430 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -10,7 +10,7 @@ * */ -#include +#include #include // This should be the first include to make sure Windows.h is defined with NOMINMAX diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h similarity index 100% rename from Code/Framework/AzQtComponents/AzQtComponents/Application/ToolsApplication.h rename to Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index 8b674b154e..4f5085c91e 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h index fe66292b8d..72dd689d56 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include From 290567cfd726fa46fadf2e150284a5d2fa2fc89f Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 10 Jun 2021 14:53:47 -0500 Subject: [PATCH 05/29] Fixed cmake, AzQtApplication working with other tools Signed-off-by: Dayo Lawal --- .../AzQtComponents/AzQtComponents/azqtcomponents_files.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake index adce70523c..bcfbb84778 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake +++ b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake @@ -7,8 +7,8 @@ set(FILES AzQtComponentsAPI.h - Application/ToolsApplication.cpp - Application/ToolsApplication.h + Application/AzQtApplication.cpp + Application/AzQtApplication.h Buses/DragAndDrop.h Buses/ShortcutDispatch.h DragAndDrop/MainWindowDragAndDrop.h From 1cadf34dc3bdc07ee7f2a6c774730a35dcccc375 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 10 Jun 2021 15:28:16 -0500 Subject: [PATCH 06/29] Removing commenting and unnecessary header files Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.cpp | 75 ------------------- .../Application/AzQtApplication.h | 14 ---- .../Code/Source/MaterialEditorApplication.cpp | 3 - .../Code/Source/MaterialEditorApplication.h | 2 - .../ShaderManagementConsoleApplication.h | 2 - 5 files changed, 96 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 651a8f0430..1e3e559675 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -16,19 +16,8 @@ namespace AzQtComponents { - /* - AZStd::string_view GetBuildTargetName() - { -#if !defined(LY_CMAKE_TARGET) -#error "LY_CMAKE_TARGET must be defined in order to add this source file to a CMake executable target" -#endif - return AZStd::string_view { LY_CMAKE_TARGET }; - } - */ - class AzQtApplication::Impl : private AZ::Debug::TraceMessageBus::Handler - //, public AzFramework::Application { friend class AzQtApplication; @@ -57,7 +46,6 @@ namespace AzQtComponents : QApplication(argc, argv) , m_impl(new Impl(this)) { - // Use a common Qt settings path for applications that don't register their own application name if (QApplication::applicationName().isEmpty()) { @@ -110,69 +98,6 @@ namespace AzQtComponents } return false; } - - /* - bool ToolsApplication::AddDockWidget(const AZStd::string& name, QWidget* widget, uint32_t area, uint32_t orientation) - { - auto dockWidgetItr = m_dockWidgets.find(name); - if (dockWidgetItr != m_dockWidgets.end() || !widget) - { - return false; - } - - auto dockWidget = new AzQtComponents::StyledDockWidget(name.c_str()); - dockWidget->setObjectName(QString("%1_DockWidget").arg(name.c_str())); - dockWidget->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); - widget->setObjectName(name.c_str()); - widget->setParent(dockWidget); - widget->setMinimumSize(QSize(300, 300)); - dockWidget->setWidget(widget); - //QMainWindow::addDockWidget(aznumeric_cast(area), dockWidget); - //QMainWindow::resizeDocks({ dockWidget }, { 400 }, aznumeric_cast(orientation)); - m_dockWidgets[name] = dockWidget; - return true; - } - - void ToolsApplication::RemoveDockWidget(const AZStd::string& name) - { - auto dockWidgetItr = m_dockWidgets.find(name); - if (dockWidgetItr != m_dockWidgets.end()) - { - delete dockWidgetItr->second; - m_dockWidgets.erase(dockWidgetItr); - } - } - - void ToolsApplication::SetDockWidgetVisible(const AZStd::string& name, bool visible) - { - auto dockWidgetItr = m_dockWidgets.find(name); - if (dockWidgetItr != m_dockWidgets.end()) - { - dockWidgetItr->second->setVisible(visible); - } - } - - bool ToolsApplication::IsDockWidgetVisible(const AZStd::string& name) const - { - auto dockWidgetItr = m_dockWidgets.find(name); - if (dockWidgetItr != m_dockWidgets.end()) - { - return dockWidgetItr->second->isVisible(); - } - return false; - } - - AZStd::vector ToolsApplication::GetDockWidgetNames() const - { - AZStd::vector names; - names.reserve(m_dockWidgets.size()); - for (const auto& dockWidgetPair : m_dockWidgets) - { - names.push_back(dockWidgetPair.first); - } - return names; - } - */ } // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 40ea888887..c5d205bbec 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -64,20 +64,6 @@ namespace AzQtComponents class Impl; AZStd::unique_ptr m_impl; AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING - - //QTimer m_timer; - //void Tick(float deltaOverride = -1.f) override; - - - /* - bool AddDockWidget(const AZStd::string& name, QWidget* widget, uint32_t area, uint32_t orientation); - void RemoveDockWidget(const AZStd::string& name); - void SetDockWidgetVisible(const AZStd::string& name, bool visible); - bool IsDockWidgetVisible(const AZStd::string& name) const; - AZStd::vector GetDockWidgetNames() const; - - AZStd::unordered_map m_dockWidgets; - */ }; } // namespace AzQtComponents diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index cd9f2c9cfd..5681f45feb 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -74,8 +74,6 @@ namespace MaterialEditor : Application(argc, argv) , AzQtApplication(*argc, *argv) { - //AZ::Debug::TraceMessageBus::Handler::BusConnect(); - AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddBuildSystemTargetSpecialization( *AZ::SettingsRegistry::Get(), GetBuildTargetName()); @@ -88,7 +86,6 @@ namespace MaterialEditor MaterialEditorApplication::~MaterialEditorApplication() { - //AzToolsFramework::EditorPythonConsoleNotificationBus::Handler::BusDisconnect(); AzToolsFramework::AssetDatabase::AssetDatabaseRequestsBus::Handler::BusDisconnect(); MaterialEditorWindowNotificationBus::Handler::BusDisconnect(); AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index 4f5085c91e..a3767a58fb 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -22,8 +22,6 @@ #include #include - -#include #include namespace MaterialEditor diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h index 72dd689d56..2139db45a2 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h @@ -23,8 +23,6 @@ #include #include - -#include #include namespace ShaderManagementConsole From 31a2ccb041b99dba77187372c0cf4c3226394bf3 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 15 Jun 2021 12:40:54 -0500 Subject: [PATCH 07/29] Addressing change requests for pull request Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.cpp | 16 +++---- .../Application/AzQtApplication.h | 45 ++++++------------- .../Code/Source/MaterialEditorApplication.cpp | 20 +-------- .../Code/Source/MaterialEditorApplication.h | 7 --- 4 files changed, 20 insertions(+), 68 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 1e3e559675..6b01954b23 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -28,15 +28,12 @@ namespace AzQtComponents } AzQtApplication* m_app; - bool OnOutput(const char* window, const char* message) override; + ////////////////////////////////////////////////////////////////////////// + // AZ::Debug::TraceMessageBus::Handler overrides... + bool OnOutput(const char* window, const char* message) override; + ////////////////////////////////////////////////////////////////////////// protected: - struct LogMessage - { - AZStd::string window; - AZStd::string message; - }; - AZStd::vector m_startupLogSink; AZStd::unique_ptr m_logFile; @@ -58,8 +55,8 @@ namespace AzQtComponents QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); - // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays - // on Windows 10 + // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays + // on Windows 10 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); @@ -69,7 +66,6 @@ namespace AzQtComponents m_impl->AZ::Debug::TraceMessageBus::Handler::BusConnect(); - } AzQtApplication::~AzQtApplication() diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index c5d205bbec..426f4cd78c 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -14,41 +14,13 @@ #pragma once #include -#include -#include #include - -#include -#include -#include -#include -#include -#include -#include - - -#include -#include -#include - -#include #include -#include -#include +#include +#include +#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include namespace AzQtComponents { @@ -58,13 +30,22 @@ namespace AzQtComponents public: AzQtApplication(int& argc, char** argv); ~AzQtApplication(); - + + private: AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING class Impl; AZStd::unique_ptr m_impl; AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING }; + + class LogMessage + { + public: + AZStd::string window; + AZStd::string message; + }; } // namespace AzQtComponents + diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index 5681f45feb..14661b442b 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -88,7 +88,7 @@ namespace MaterialEditor { AzToolsFramework::AssetDatabase::AssetDatabaseRequestsBus::Handler::BusDisconnect(); MaterialEditorWindowNotificationBus::Handler::BusDisconnect(); - AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); + AzToolsFramework::EditorPythonConsoleNotificationBus::Handler::BusDisconnect(); } void MaterialEditorApplication::CreateReflectionManager() @@ -281,24 +281,6 @@ namespace MaterialEditor } } - bool MaterialEditorApplication::OnOutput(const char* window, const char* message) - { - // Suppress spam from the Source Control system - if (0 == strncmp(window, AzToolsFramework::SCC_WINDOW, AZ_ARRAY_SIZE(AzToolsFramework::SCC_WINDOW))) - { - return true; - } - - if (m_logFile) - { - m_logFile->AppendLog(AzFramework::LogFile::SEV_NORMAL, window, message); - } - else - { - m_startupLogSink.push_back({ window, message }); - } - return false; - } void MaterialEditorApplication::ProcessCommandLine(const AZ::CommandLine& commandLine) { diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index a3767a58fb..337bef47ec 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -96,11 +96,6 @@ namespace MaterialEditor void SaveSettings() override; ////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////// - // AZ::Debug::TraceMessageBus::Handler overrides... - bool OnOutput(const char* window, const char* message) override; - ////////////////////////////////////////////////////////////////////////// - void CompileCriticalAssets(); void ProcessCommandLine(const AZ::CommandLine& commandLine); @@ -121,8 +116,6 @@ namespace MaterialEditor AZStd::string message; }; - AZStd::vector m_startupLogSink; - AZStd::unique_ptr m_logFile; //! Local user settings are used to store material browser tree expansion state AZ::UserSettingsProvider m_localUserSettings; From e45028c9d88d3c4c845c6cd44e1696527f5b2456 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 15 Jun 2021 15:12:41 -0500 Subject: [PATCH 08/29] Fixing MaterialEditorApplication Signed-off-by: Dayo Lawal --- .../MaterialEditor/Code/Source/MaterialEditorApplication.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index 337bef47ec..e309a56304 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -116,6 +116,8 @@ namespace MaterialEditor AZStd::string message; }; + AZStd::vector m_startupLogSink; + AZStd::unique_ptr m_logFile; //! Local user settings are used to store material browser tree expansion state AZ::UserSettingsProvider m_localUserSettings; From 60c89d28ccca75f80ea2aea680c7ad1f7c95df4e Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 15 Jun 2021 16:49:31 -0500 Subject: [PATCH 09/29] New class: AzQtTraceLogger Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.cpp | 56 +------------------ .../Application/AzQtApplication.h | 17 ++---- .../Application/AzQtTraceLogger.cpp | 38 +++++++++++++ .../Application/AzQtTraceLogger.h | 49 ++++++++++++++++ 4 files changed, 93 insertions(+), 67 deletions(-) create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 6b01954b23..ff0154f5e9 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -16,32 +16,10 @@ namespace AzQtComponents { - class AzQtApplication::Impl - : private AZ::Debug::TraceMessageBus::Handler - { - friend class AzQtApplication; - - public: - Impl(AzQtApplication* app) : m_app(app) - { - - } - AzQtApplication* m_app; - - ////////////////////////////////////////////////////////////////////////// - // AZ::Debug::TraceMessageBus::Handler overrides... - bool OnOutput(const char* window, const char* message) override; - ////////////////////////////////////////////////////////////////////////// - - protected: - AZStd::vector m_startupLogSink; - AZStd::unique_ptr m_logFile; - - }; AzQtApplication::AzQtApplication(int& argc, char** argv) : QApplication(argc, argv) - , m_impl(new Impl(this)) + , m_impl(new AzQtTraceLogger) { // Use a common Qt settings path for applications that don't register their own application name if (QApplication::applicationName().isEmpty()) @@ -56,43 +34,13 @@ namespace AzQtComponents QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays - // on Windows 10 + // on Windows 10 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); - - - m_impl->AZ::Debug::TraceMessageBus::Handler::BusConnect(); - } - - AzQtApplication::~AzQtApplication() - { - m_impl->AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); - } - - - bool AzQtApplication::Impl::OnOutput(const char* window, const char* message) - { - // Suppress spam from the Source Control system - constexpr char sourceControlWindow[] = "Source Control"; - - if (0 == strncmp(window, sourceControlWindow, AZ_ARRAY_SIZE(sourceControlWindow))) - { - return true; - } - - if (m_logFile) - { - m_logFile->AppendLog(AzFramework::LogFile::SEV_NORMAL, window, message); - } - else - { - m_startupLogSink.push_back({ window, message }); - } - return false; } } // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 426f4cd78c..cf180ff1cc 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -10,7 +10,6 @@ * */ - #pragma once #include @@ -20,6 +19,7 @@ #include #include #include +#include namespace AzQtComponents @@ -28,23 +28,14 @@ namespace AzQtComponents : public QApplication { public: - AzQtApplication(int& argc, char** argv); - ~AzQtApplication(); - - + AzQtApplication(int& argc, char** argv); private: AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING - class Impl; - AZStd::unique_ptr m_impl; + AZStd::unique_ptr m_impl; AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING }; - class LogMessage - { - public: - AZStd::string window; - AZStd::string message; - }; + } // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp new file mode 100644 index 0000000000..2e943083b3 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp @@ -0,0 +1,38 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#include + +namespace AzQtComponents +{ + bool AzQtTraceLogger::OnOutput(const char* window, const char* message) + { + // Suppress spam from the Source Control system + constexpr char sourceControlWindow[] = "Source Control"; + + if (0 == strncmp(window, sourceControlWindow, AZ_ARRAY_SIZE(sourceControlWindow))) + { + return true; + } + + if (m_logFile) + { + m_logFile->AppendLog(AzFramework::LogFile::SEV_NORMAL, window, message); + } + else + { + m_startupLogSink.push_back({ window, message }); + } + return false; + } +} // namespace AzQtComponents + diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h new file mode 100644 index 0000000000..f94ce5c809 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h @@ -0,0 +1,49 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#include +#include + +namespace AzQtComponents +{ + class AzQtTraceLogger : private AZ::Debug::TraceMessageBus::Handler + { + public: + AzQtTraceLogger() + { + AZ::Debug::TraceMessageBus::Handler::BusConnect(); + } + ~AzQtTraceLogger() + { + AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); + } + + protected: + ////////////////////////////////////////////////////////////////////////// + // AZ::Debug::TraceMessageBus::Handler overrides... + bool OnOutput(const char* window, const char* message) override; + ////////////////////////////////////////////////////////////////////////// + + struct LogMessage + { + public: + AZStd::string window; + AZStd::string message; + }; + AZStd::vector m_startupLogSink; + AZStd::unique_ptr m_logFile; + }; + +} + From 96153aa8d769d91f703563a43fa89ae645b6b64b Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Wed, 16 Jun 2021 12:17:59 -0500 Subject: [PATCH 10/29] On output change Signed-off-by: Dayo Lawal --- .../AzQtComponents/Application/AzQtTraceLogger.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp index 2e943083b3..46e8ba8782 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp @@ -16,14 +16,6 @@ namespace AzQtComponents { bool AzQtTraceLogger::OnOutput(const char* window, const char* message) { - // Suppress spam from the Source Control system - constexpr char sourceControlWindow[] = "Source Control"; - - if (0 == strncmp(window, sourceControlWindow, AZ_ARRAY_SIZE(sourceControlWindow))) - { - return true; - } - if (m_logFile) { m_logFile->AppendLog(AzFramework::LogFile::SEV_NORMAL, window, message); From 81c3414cd1617425a3d1f2dd797bb6a1c4feb48f Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Wed, 16 Jun 2021 13:36:02 -0500 Subject: [PATCH 11/29] Adding back OnOutput to MaterialEditor for override Signed-off-by: Dayo Lawal --- .../Code/Source/MaterialEditorApplication.cpp | 18 ++++++++++++++++++ .../Code/Source/MaterialEditorApplication.h | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index 14661b442b..f6be1d9d5a 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -281,6 +281,24 @@ namespace MaterialEditor } } + bool MaterialEditorApplication::OnOutput(const char* window, const char* message) + { + // Suppress spam from the Source Control system + if (0 == strncmp(window, AzToolsFramework::SCC_WINDOW, AZ_ARRAY_SIZE(AzToolsFramework::SCC_WINDOW))) + { + return true; + } + + if (m_logFile) + { + m_logFile->AppendLog(AzFramework::LogFile::SEV_NORMAL, window, message); + } + else + { + m_startupLogSink.push_back({ window, message }); + } + return false; + } void MaterialEditorApplication::ProcessCommandLine(const AZ::CommandLine& commandLine) { diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index e309a56304..f6ad0010d8 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -96,6 +96,11 @@ namespace MaterialEditor void SaveSettings() override; ////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////// + // AZ::Debug::TraceMessageBus::Handler overrides... + bool OnOutput(const char* window, const char* message) override; + ////////////////////////////////////////////////////////////////////////// + void CompileCriticalAssets(); void ProcessCommandLine(const AZ::CommandLine& commandLine); From ecede42501072134bd87157a1f18f937d8e0f1c2 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 17 Jun 2021 13:31:19 -0500 Subject: [PATCH 12/29] Fixing logging and cleaning up AzQtApplication Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.cpp | 3 +- .../Application/AzQtApplication.h | 13 ++--- .../Application/AzQtTraceLogger.cpp | 49 +++++++++++++++++++ .../Application/AzQtTraceLogger.h | 12 ++--- .../Code/Source/MaterialEditorApplication.h | 2 +- 5 files changed, 60 insertions(+), 19 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index ff0154f5e9..67c72f6e5d 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -13,13 +13,14 @@ #include #include // This should be the first include to make sure Windows.h is defined with NOMINMAX +#include namespace AzQtComponents { AzQtApplication::AzQtApplication(int& argc, char** argv) : QApplication(argc, argv) - , m_impl(new AzQtTraceLogger) + , m_traceLogger(new AzQtTraceLogger) { // Use a common Qt settings path for applications that don't register their own application name if (QApplication::applicationName().isEmpty()) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index cf180ff1cc..32221836c1 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -14,13 +14,8 @@ #include -#include -#include -#include -#include -#include #include - +#include namespace AzQtComponents { @@ -28,14 +23,14 @@ namespace AzQtComponents : public QApplication { public: - AzQtApplication(int& argc, char** argv); + AzQtApplication(int& argc, char** argv); + private: AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING - AZStd::unique_ptr m_impl; + AZStd::unique_ptr m_traceLogger; AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING }; - } // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp index 46e8ba8782..f5fddf3689 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp @@ -12,8 +12,21 @@ #include +#include +#include + namespace AzQtComponents { + AzQtTraceLogger::AzQtTraceLogger() + { + AZ::Debug::TraceMessageBus::Handler::BusConnect(); + } + + AzQtTraceLogger::~AzQtTraceLogger() + { + AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); + } + bool AzQtTraceLogger::OnOutput(const char* window, const char* message) { if (m_logFile) @@ -26,5 +39,41 @@ namespace AzQtComponents } return false; } + + void AzQtTraceLogger::WriteStartupLog() + { + using namespace AzFramework; + + AZ::IO::FileIOBase* fileIO = AZ::IO::FileIOBase::GetInstance(); + AZ_Assert(fileIO != nullptr, "FileIO should be running at this point"); + + // There is no log system online so we have to create your own log file. + char resolveBuffer[AZ_MAX_PATH_LEN] = { 0 }; + fileIO->ResolvePath("@user@", resolveBuffer, AZ_MAX_PATH_LEN); + + // Note: @log@ hasn't been set at this point + AZStd::string logDirectory; + StringFunc::Path::Join(resolveBuffer, "log", logDirectory); + fileIO->SetAlias("@log@", logDirectory.c_str()); + + fileIO->CreatePath("@root@"); + fileIO->CreatePath("@user@"); + fileIO->CreatePath("@log@"); + + AZStd::string logPath; + StringFunc::Path::Join(logDirectory.c_str(), "MaterialEditor.log", logPath); + + m_logFile.reset(aznew LogFile(logPath.c_str())); + if (m_logFile) + { + m_logFile->SetMachineReadable(false); + for (const LogMessage& message : m_startupLogSink) + { + m_logFile->AppendLog(LogFile::SEV_NORMAL, message.window.c_str(), message.message.c_str()); + } + m_startupLogSink = {}; + m_logFile->FlushLog(); + } + } } // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h index f94ce5c809..505da253c5 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h @@ -20,14 +20,8 @@ namespace AzQtComponents class AzQtTraceLogger : private AZ::Debug::TraceMessageBus::Handler { public: - AzQtTraceLogger() - { - AZ::Debug::TraceMessageBus::Handler::BusConnect(); - } - ~AzQtTraceLogger() - { - AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); - } + AzQtTraceLogger(); + ~AzQtTraceLogger(); protected: ////////////////////////////////////////////////////////////////////////// @@ -35,6 +29,8 @@ namespace AzQtComponents bool OnOutput(const char* window, const char* message) override; ////////////////////////////////////////////////////////////////////////// + void WriteStartupLog(); + struct LogMessage { public: diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index f6ad0010d8..f5431ddd96 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -99,7 +99,7 @@ namespace MaterialEditor ////////////////////////////////////////////////////////////////////////// // AZ::Debug::TraceMessageBus::Handler overrides... bool OnOutput(const char* window, const char* message) override; - ////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////// void CompileCriticalAssets(); From f93018507793be0e3246448a6cb51eb10e9f71b8 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 17 Jun 2021 15:44:48 -0500 Subject: [PATCH 13/29] WriteStartupLog() implemented in base class (unresolved external) Signed-off-by: Dayo Lawal --- .../AzQtComponents/Application/AzQtApplication.cpp | 7 ++++++- .../AzQtComponents/Application/AzQtApplication.h | 3 ++- .../AzQtComponents/Application/AzQtTraceLogger.cpp | 4 ++-- .../AzQtComponents/Application/AzQtTraceLogger.h | 5 ++--- .../Code/Source/MaterialEditorApplication.cpp | 2 +- .../Code/Source/ShaderManagementConsoleApplication.cpp | 2 ++ .../Tools/ShaderManagementConsole/Code/Source/main.cpp | 4 ++++ 7 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 67c72f6e5d..0102bb62d1 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -34,7 +34,12 @@ namespace AzQtComponents QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); - // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays + + } + + void AzQtApplication::setDpiScaling() + { + // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays // on Windows 10 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 32221836c1..0a7bfc8d27 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -24,8 +24,9 @@ namespace AzQtComponents { public: AzQtApplication(int& argc, char** argv); + void static setDpiScaling(); - private: + protected: AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING AZStd::unique_ptr m_traceLogger; AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp index f5fddf3689..da6254f018 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp @@ -40,7 +40,7 @@ namespace AzQtComponents return false; } - void AzQtTraceLogger::WriteStartupLog() + void AzQtTraceLogger::WriteStartupLog(char name[]) { using namespace AzFramework; @@ -61,7 +61,7 @@ namespace AzQtComponents fileIO->CreatePath("@log@"); AZStd::string logPath; - StringFunc::Path::Join(logDirectory.c_str(), "MaterialEditor.log", logPath); + StringFunc::Path::Join(logDirectory.c_str(), name, logPath); m_logFile.reset(aznew LogFile(logPath.c_str())); if (m_logFile) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h index 505da253c5..29dfd6b32a 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h @@ -23,14 +23,14 @@ namespace AzQtComponents AzQtTraceLogger(); ~AzQtTraceLogger(); + void WriteStartupLog(char name[]); + protected: ////////////////////////////////////////////////////////////////////////// // AZ::Debug::TraceMessageBus::Handler overrides... bool OnOutput(const char* window, const char* message) override; ////////////////////////////////////////////////////////////////////////// - void WriteStartupLog(); - struct LogMessage { public: @@ -40,6 +40,5 @@ namespace AzQtComponents AZStd::vector m_startupLogSink; AZStd::unique_ptr m_logFile; }; - } diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index f6be1d9d5a..2cc2bb852e 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -476,7 +476,7 @@ namespace MaterialEditor return; } - WriteStartupLog(); + m_traceLogger->WriteStartupLog("MaterialEditor.log"); if (!LaunchDiscoveryService()) { diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp index 538d351237..e59bbde17d 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp @@ -39,6 +39,8 @@ #include #include +#include + AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT #include #include diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp index d3130cd28a..ed5537e93d 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -39,7 +40,10 @@ int main(int argc, char** argv) QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::PerScreenDpiAware); + AzQtComponents::AzQtApplication::setDpiScaling(); + ShaderManagementConsole::ShaderManagementConsoleApplication app(&argc, &argv); + AZ::IO::FixedMaxPath engineRootPath; if (auto settingsRegistry = AZ::SettingsRegistry::Get(); settingsRegistry != nullptr) { From df18e53ab4c988887f8b591a99c9a8e8fa75d38b Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Mon, 21 Jun 2021 10:48:51 -0500 Subject: [PATCH 14/29] WriteStartupLog() not implemented Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.cpp | 3 +- .../Application/AzQtTraceLogger.cpp | 51 ++++++++++++++++--- .../Application/AzQtTraceLogger.h | 25 +++------ .../AzQtComponents/azqtcomponents_files.cmake | 2 + .../Code/Source/MaterialEditorApplication.cpp | 7 +-- .../Code/Source/MaterialEditorApplication.h | 2 + 6 files changed, 59 insertions(+), 31 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 0102bb62d1..b8bfc7a5d5 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -33,8 +33,7 @@ namespace AzQtComponents AzQtComponents::PrepareQtPaths(); QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); - - + } void AzQtApplication::setDpiScaling() diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp index da6254f018..3883669e6e 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp @@ -12,22 +12,58 @@ #include -#include #include +#include +#include + namespace AzQtComponents { - AzQtTraceLogger::AzQtTraceLogger() + class AzQtTraceLogger::Impl : public AZ::Debug::TraceMessageBus::Handler + { + public: + void WriteStartupLog(char name[]); + + Impl() + { + AZ::Debug::TraceMessageBus::Handler::BusConnect(); + } + ~Impl() + { + AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); + } + + protected: + ////////////////////////////////////////////////////////////////////////// + // AZ::Debug::TraceMessageBus::Handler overrides... + bool OnOutput(const char* window, const char* message) override; + ////////////////////////////////////////////////////////////////////////// + + struct LogMessage + { + public: + AZStd::string window; + AZStd::string message; + }; + AZStd::vector m_startupLogSink; + AZStd::unique_ptr m_logFile; + }; + + AzQtTraceLogger::AzQtTraceLogger() + : m_impl(new Impl) { - AZ::Debug::TraceMessageBus::Handler::BusConnect(); } AzQtTraceLogger::~AzQtTraceLogger() { - AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); } - - bool AzQtTraceLogger::OnOutput(const char* window, const char* message) + + void AzQtTraceLogger::WriteStartupLog(char name[]) + { + m_impl->WriteStartupLog(name); + } + + bool AzQtTraceLogger::Impl::OnOutput(const char* window, const char* message) { if (m_logFile) { @@ -40,7 +76,7 @@ namespace AzQtComponents return false; } - void AzQtTraceLogger::WriteStartupLog(char name[]) + void AzQtTraceLogger::Impl::WriteStartupLog(char name[]) { using namespace AzFramework; @@ -76,4 +112,3 @@ namespace AzQtComponents } } } // namespace AzQtComponents - diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h index 29dfd6b32a..2207cfce4f 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h @@ -12,33 +12,22 @@ #pragma once -#include #include +#include namespace AzQtComponents { - class AzQtTraceLogger : private AZ::Debug::TraceMessageBus::Handler + class AZ_QT_COMPONENTS_API AzQtTraceLogger { public: AzQtTraceLogger(); ~AzQtTraceLogger(); - void WriteStartupLog(char name[]); protected: - ////////////////////////////////////////////////////////////////////////// - // AZ::Debug::TraceMessageBus::Handler overrides... - bool OnOutput(const char* window, const char* message) override; - ////////////////////////////////////////////////////////////////////////// - - struct LogMessage - { - public: - AZStd::string window; - AZStd::string message; - }; - AZStd::vector m_startupLogSink; - AZStd::unique_ptr m_logFile; + class Impl; + AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING + AZStd::unique_ptr m_impl; + AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING }; -} - +} // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake index bcfbb84778..c9a025d472 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake +++ b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake @@ -9,6 +9,8 @@ set(FILES AzQtComponentsAPI.h Application/AzQtApplication.cpp Application/AzQtApplication.h + Application/AzQtTraceLogger.cpp + Application/AzQtTraceLogger.h Buses/DragAndDrop.h Buses/ShortcutDispatch.h DragAndDrop/MainWindowDragAndDrop.h diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index 2cc2bb852e..e20274da81 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -352,7 +352,7 @@ namespace MaterialEditor ExitMainLoop(); } } - + ///* void MaterialEditorApplication::WriteStartupLog() { using namespace AzFramework; @@ -388,7 +388,7 @@ namespace MaterialEditor m_logFile->FlushLog(); } } - + //*/ void MaterialEditorApplication::LoadSettings() { AZ::SerializeContext* context = nullptr; @@ -476,7 +476,8 @@ namespace MaterialEditor return; } - m_traceLogger->WriteStartupLog("MaterialEditor.log"); + //m_traceLogger->WriteStartupLog("MaterialEditor.log"); + WriteStartupLog(); if (!LaunchDiscoveryService()) { diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index f5431ddd96..5d689a67ec 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -22,6 +22,8 @@ #include #include +#include + #include namespace MaterialEditor From b365f8bddf5f1cb173f47eac2fcde0affe3ced4a Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Mon, 21 Jun 2021 18:01:16 -0500 Subject: [PATCH 15/29] Fixing problem with FileIO (exception in Environment.h) Signed-off-by: Dayo Lawal --- .../AzQtComponents/Application/AzQtTraceLogger.cpp | 10 ++++++---- .../Code/Source/MaterialEditorApplication.cpp | 8 ++++---- .../Code/Source/MaterialEditorApplication.h | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp index 3883669e6e..6084d555e7 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp @@ -16,7 +16,6 @@ #include #include - namespace AzQtComponents { class AzQtTraceLogger::Impl : public AZ::Debug::TraceMessageBus::Handler @@ -78,11 +77,13 @@ namespace AzQtComponents void AzQtTraceLogger::Impl::WriteStartupLog(char name[]) { - using namespace AzFramework; - + std::string temp = name; + + //using namespace AzFramework; + ///* AZ::IO::FileIOBase* fileIO = AZ::IO::FileIOBase::GetInstance(); AZ_Assert(fileIO != nullptr, "FileIO should be running at this point"); - + /* // There is no log system online so we have to create your own log file. char resolveBuffer[AZ_MAX_PATH_LEN] = { 0 }; fileIO->ResolvePath("@user@", resolveBuffer, AZ_MAX_PATH_LEN); @@ -110,5 +111,6 @@ namespace AzQtComponents m_startupLogSink = {}; m_logFile->FlushLog(); } + */ } } // namespace AzQtComponents diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index e20274da81..75875d07de 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -352,7 +352,7 @@ namespace MaterialEditor ExitMainLoop(); } } - ///* + /* void MaterialEditorApplication::WriteStartupLog() { using namespace AzFramework; @@ -388,7 +388,7 @@ namespace MaterialEditor m_logFile->FlushLog(); } } - //*/ + */ void MaterialEditorApplication::LoadSettings() { AZ::SerializeContext* context = nullptr; @@ -476,8 +476,8 @@ namespace MaterialEditor return; } - //m_traceLogger->WriteStartupLog("MaterialEditor.log"); - WriteStartupLog(); + m_traceLogger->WriteStartupLog("MaterialEditor.log"); + //WriteStartupLog(); if (!LaunchDiscoveryService()) { diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index 5d689a67ec..8b49f017c0 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -106,7 +106,7 @@ namespace MaterialEditor void CompileCriticalAssets(); void ProcessCommandLine(const AZ::CommandLine& commandLine); - void WriteStartupLog(); + //void WriteStartupLog(); void LoadSettings(); void UnloadSettings(); From 6f44393f3a1693fd5b8044dca6deb2a43155d434 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 22 Jun 2021 14:31:39 -0500 Subject: [PATCH 16/29] Moved logging to AzToolsFramework, working with MatEditor and SMC Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.cpp | 1 - .../Application/AzQtApplication.h | 4 -- .../AzQtComponents/azqtcomponents_files.cmake | 2 - .../Logger}/AzQtTraceLogger.cpp | 61 ++++--------------- .../Logger}/AzQtTraceLogger.h | 25 +++++--- .../aztoolsframework_files.cmake | 2 + .../Code/Source/MaterialEditorApplication.cpp | 39 +----------- .../Code/Source/MaterialEditorApplication.h | 6 +- .../ShaderManagementConsoleApplication.cpp | 4 +- .../ShaderManagementConsoleApplication.h | 4 ++ 10 files changed, 41 insertions(+), 107 deletions(-) rename Code/Framework/{AzQtComponents/AzQtComponents/Application => AzToolsFramework/AzToolsFramework/Logger}/AzQtTraceLogger.cpp (62%) rename Code/Framework/{AzQtComponents/AzQtComponents/Application => AzToolsFramework/AzToolsFramework/Logger}/AzQtTraceLogger.h (50%) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index b8bfc7a5d5..73c7fe7aba 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -20,7 +20,6 @@ namespace AzQtComponents AzQtApplication::AzQtApplication(int& argc, char** argv) : QApplication(argc, argv) - , m_traceLogger(new AzQtTraceLogger) { // Use a common Qt settings path for applications that don't register their own application name if (QApplication::applicationName().isEmpty()) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 0a7bfc8d27..37d33468b5 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -14,7 +14,6 @@ #include -#include #include namespace AzQtComponents @@ -27,9 +26,6 @@ namespace AzQtComponents void static setDpiScaling(); protected: - AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING - AZStd::unique_ptr m_traceLogger; - AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING }; } // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake index c9a025d472..bcfbb84778 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake +++ b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake @@ -9,8 +9,6 @@ set(FILES AzQtComponentsAPI.h Application/AzQtApplication.cpp Application/AzQtApplication.h - Application/AzQtTraceLogger.cpp - Application/AzQtTraceLogger.h Buses/DragAndDrop.h Buses/ShortcutDispatch.h DragAndDrop/MainWindowDragAndDrop.h diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp similarity index 62% rename from Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp rename to Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp index 6084d555e7..d9f9a444ee 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp @@ -10,59 +10,25 @@ * */ -#include +#include #include #include -#include -namespace AzQtComponents + +namespace AzToolsFramework { - class AzQtTraceLogger::Impl : public AZ::Debug::TraceMessageBus::Handler - { - public: - void WriteStartupLog(char name[]); - - Impl() - { - AZ::Debug::TraceMessageBus::Handler::BusConnect(); - } - ~Impl() - { - AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); - } - - protected: - ////////////////////////////////////////////////////////////////////////// - // AZ::Debug::TraceMessageBus::Handler overrides... - bool OnOutput(const char* window, const char* message) override; - ////////////////////////////////////////////////////////////////////////// - - struct LogMessage - { - public: - AZStd::string window; - AZStd::string message; - }; - AZStd::vector m_startupLogSink; - AZStd::unique_ptr m_logFile; - }; - AzQtTraceLogger::AzQtTraceLogger() - : m_impl(new Impl) { + AZ::Debug::TraceMessageBus::Handler::BusConnect(); } AzQtTraceLogger::~AzQtTraceLogger() { + AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); } - void AzQtTraceLogger::WriteStartupLog(char name[]) - { - m_impl->WriteStartupLog(name); - } - - bool AzQtTraceLogger::Impl::OnOutput(const char* window, const char* message) + bool AzQtTraceLogger::OnOutput(const char* window, const char* message) { if (m_logFile) { @@ -75,15 +41,13 @@ namespace AzQtComponents return false; } - void AzQtTraceLogger::Impl::WriteStartupLog(char name[]) - { - std::string temp = name; - - //using namespace AzFramework; - ///* + void AzQtTraceLogger::WriteStartupLog(char name[]) + { + using namespace AzFramework; + AZ::IO::FileIOBase* fileIO = AZ::IO::FileIOBase::GetInstance(); AZ_Assert(fileIO != nullptr, "FileIO should be running at this point"); - /* + // There is no log system online so we have to create your own log file. char resolveBuffer[AZ_MAX_PATH_LEN] = { 0 }; fileIO->ResolvePath("@user@", resolveBuffer, AZ_MAX_PATH_LEN); @@ -111,6 +75,5 @@ namespace AzQtComponents m_startupLogSink = {}; m_logFile->FlushLog(); } - */ } -} // namespace AzQtComponents +} // namespace AzToolsFramework diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h similarity index 50% rename from Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h rename to Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h index 2207cfce4f..50655dfcda 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtTraceLogger.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h @@ -13,11 +13,11 @@ #pragma once #include -#include +#include -namespace AzQtComponents +namespace AzToolsFramework { - class AZ_QT_COMPONENTS_API AzQtTraceLogger + class AzQtTraceLogger : public AZ::Debug::TraceMessageBus::Handler { public: AzQtTraceLogger(); @@ -25,9 +25,18 @@ namespace AzQtComponents void WriteStartupLog(char name[]); protected: - class Impl; - AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING - AZStd::unique_ptr m_impl; - AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING + ////////////////////////////////////////////////////////////////////////// + // AZ::Debug::TraceMessageBus::Handler overrides... + bool OnOutput(const char* window, const char* message) override; + ////////////////////////////////////////////////////////////////////////// + + struct LogMessage + { + public: + AZStd::string window; + AZStd::string message; + }; + AZStd::vector m_startupLogSink; + AZStd::unique_ptr m_logFile; }; -} // namespace AzQtComponents +} // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake index 7fbde67ce4..5718de48ab 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake @@ -147,6 +147,8 @@ set(FILES Entity/SliceEditorEntityOwnershipServiceBus.h Fingerprinting/TypeFingerprinter.h Fingerprinting/TypeFingerprinter.cpp + Logger/AzQtTraceLogger.cpp + Logger/AzQtTraceLogger.h Manipulators/AngularManipulator.cpp Manipulators/AngularManipulator.h Manipulators/BaseManipulator.cpp diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index 75875d07de..25e23ad1e5 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -352,43 +352,7 @@ namespace MaterialEditor ExitMainLoop(); } } - /* - void MaterialEditorApplication::WriteStartupLog() - { - using namespace AzFramework; - AZ::IO::FileIOBase* fileIO = AZ::IO::FileIOBase::GetInstance(); - AZ_Assert(fileIO != nullptr, "FileIO should be running at this point"); - - // There is no log system online so we have to create your own log file. - char resolveBuffer[AZ_MAX_PATH_LEN] = { 0 }; - fileIO->ResolvePath("@user@", resolveBuffer, AZ_MAX_PATH_LEN); - - // Note: @log@ hasn't been set at this point - AZStd::string logDirectory; - StringFunc::Path::Join(resolveBuffer, "log", logDirectory); - fileIO->SetAlias("@log@", logDirectory.c_str()); - - fileIO->CreatePath("@root@"); - fileIO->CreatePath("@user@"); - fileIO->CreatePath("@log@"); - - AZStd::string logPath; - StringFunc::Path::Join(logDirectory.c_str(), "MaterialEditor.log", logPath); - - m_logFile.reset(aznew LogFile(logPath.c_str())); - if (m_logFile) - { - m_logFile->SetMachineReadable(false); - for (const LogMessage& message : m_startupLogSink) - { - m_logFile->AppendLog(LogFile::SEV_NORMAL, message.window.c_str(), message.message.c_str()); - } - m_startupLogSink = {}; - m_logFile->FlushLog(); - } - } - */ void MaterialEditorApplication::LoadSettings() { AZ::SerializeContext* context = nullptr; @@ -476,8 +440,7 @@ namespace MaterialEditor return; } - m_traceLogger->WriteStartupLog("MaterialEditor.log"); - //WriteStartupLog(); + m_traceLogger.WriteStartupLog("MaterialEditor.log"); if (!LaunchDiscoveryService()) { diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index 8b49f017c0..ff0809897d 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -20,9 +20,8 @@ #include #include #include - +#include #include -#include #include @@ -106,7 +105,6 @@ namespace MaterialEditor void CompileCriticalAssets(); void ProcessCommandLine(const AZ::CommandLine& commandLine); - //void WriteStartupLog(); void LoadSettings(); void UnloadSettings(); @@ -126,6 +124,8 @@ namespace MaterialEditor AZStd::vector m_startupLogSink; AZStd::unique_ptr m_logFile; + AzToolsFramework::AzQtTraceLogger m_traceLogger; + //! Local user settings are used to store material browser tree expansion state AZ::UserSettingsProvider m_localUserSettings; diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp index e59bbde17d..5f330053b0 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp @@ -39,8 +39,6 @@ #include #include -#include - AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT #include #include @@ -345,6 +343,8 @@ namespace ShaderManagementConsole return; } + m_traceLogger.WriteStartupLog("ShaderManagementConsole.log"); + //[GFX TODO][ATOM-415] Try to factor out some of this stuff with AtomSampleViewerApplication AzToolsFramework::AssetDatabase::AssetDatabaseRequestsBus::Handler::BusConnect(); AzToolsFramework::AssetBrowser::AssetDatabaseLocationNotificationBus::Broadcast(&AzToolsFramework::AssetBrowser::AssetDatabaseLocationNotifications::OnDatabaseInitialized); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h index 2139db45a2..9b7de38f0a 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h @@ -18,11 +18,13 @@ #include #include +#include #include #include #include + #include namespace ShaderManagementConsole @@ -113,6 +115,8 @@ namespace ShaderManagementConsole static void PyIdleWaitFrames(uint32_t frames); + AzToolsFramework::AzQtTraceLogger m_traceLogger; + //! Local user settings are used to store asset browser tree expansion state AZ::UserSettingsProvider m_localUserSettings; From c63c42c7f4a41437c2bdc9efb821a5fc096287bd Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 24 Jun 2021 14:49:09 -0500 Subject: [PATCH 17/29] Adding comments and changing QApplication org/app names Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.cpp | 15 ++++----------- .../AzQtComponents/Application/AzQtApplication.h | 5 ++++- .../AzToolsFramework/Logger/AzQtTraceLogger.cpp | 4 ++-- .../AzToolsFramework/Logger/AzQtTraceLogger.h | 5 ++++- .../Code/Source/MaterialEditorApplication.cpp | 2 ++ .../Source/ShaderManagementConsoleApplication.cpp | 2 ++ 6 files changed, 18 insertions(+), 15 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 73c7fe7aba..7d6392bc57 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -22,24 +22,17 @@ namespace AzQtComponents : QApplication(argc, argv) { // Use a common Qt settings path for applications that don't register their own application name - if (QApplication::applicationName().isEmpty()) - { - QApplication::setOrganizationName("Amazon"); - QApplication::setOrganizationDomain("amazon.com"); - QApplication::setApplicationName("O3DEToolsApplication"); - } + QApplication::setOrganizationName("O3DE"); + QApplication::setOrganizationDomain("o3de.com"); + QApplication::setApplicationName("O3DEToolsApplication"); AzQtComponents::PrepareQtPaths(); QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); - } void AzQtApplication::setDpiScaling() - { - // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays - // on Windows 10 - + { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 37d33468b5..92f9d0f6dc 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -23,7 +23,10 @@ namespace AzQtComponents { public: AzQtApplication(int& argc, char** argv); - void static setDpiScaling(); + + //! DPI Scaling so that we support HighDpi monitors, like the Retina displays on Windows 10 + //! Must be set before QApplication is initialized, + static void setDpiScaling(); protected: }; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp index d9f9a444ee..f795719062 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp @@ -41,7 +41,7 @@ namespace AzToolsFramework return false; } - void AzQtTraceLogger::WriteStartupLog(char name[]) + void AzQtTraceLogger::WriteStartupLog(const AZStd::string& logFileName) { using namespace AzFramework; @@ -62,7 +62,7 @@ namespace AzToolsFramework fileIO->CreatePath("@log@"); AZStd::string logPath; - StringFunc::Path::Join(logDirectory.c_str(), name, logPath); + StringFunc::Path::Join(logDirectory.c_str(), logFileName.c_str(), logPath); m_logFile.reset(aznew LogFile(logPath.c_str())); if (m_logFile) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h index 50655dfcda..1a054513cd 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h @@ -17,12 +17,15 @@ namespace AzToolsFramework { + // Connects and disconnects TraceMessageBus and allows for logging for O3DEToolsApplications class AzQtTraceLogger : public AZ::Debug::TraceMessageBus::Handler { public: AzQtTraceLogger(); ~AzQtTraceLogger(); - void WriteStartupLog(char name[]); + + //! Intalize logging for O3DEToolsApplications + void WriteStartupLog(const AZStd::string& logFileName); protected: ////////////////////////////////////////////////////////////////////////// diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index 25e23ad1e5..931051a7c4 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -74,6 +74,8 @@ namespace MaterialEditor : Application(argc, argv) , AzQtApplication(*argc, *argv) { + QApplication::setApplicationName("O3DE MaterialEditor"); + AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddBuildSystemTargetSpecialization( *AZ::SettingsRegistry::Get(), GetBuildTargetName()); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp index 5f330053b0..62493b8f84 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp @@ -70,6 +70,8 @@ namespace ShaderManagementConsole : Application(argc, argv) , AzQtApplication(*argc, *argv) { + QApplication::setApplicationName("O3DE ShaderManagementConsole"); + // The settings registry has been created at this point, so add the CMake target AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddBuildSystemTargetSpecialization( *AZ::SettingsRegistry::Get(), GetBuildTargetName()); From c86535f892702cf01e616e7aaf6f00d8aac23c64 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 24 Jun 2021 17:22:40 -0500 Subject: [PATCH 18/29] Styling fixes Signed-off-by: Dayo Lawal --- .../AzQtComponents/Application/AzQtApplication.cpp | 2 +- .../AzQtComponents/Application/AzQtApplication.h | 5 ++--- .../AzToolsFramework/Logger/AzQtTraceLogger.h | 2 +- .../MaterialEditor/Code/Source/MaterialEditorApplication.cpp | 2 +- .../Code/Source/ShaderManagementConsoleApplication.cpp | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 7d6392bc57..32389e78cc 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -31,7 +31,7 @@ namespace AzQtComponents QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); } - void AzQtApplication::setDpiScaling() + void AzQtApplication::SetDpiScaling() { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 92f9d0f6dc..85e4400c31 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -18,6 +18,7 @@ namespace AzQtComponents { + //! Base case for O3DE Tools Applications class AZ_QT_COMPONENTS_API AzQtApplication : public QApplication { @@ -26,9 +27,7 @@ namespace AzQtComponents //! DPI Scaling so that we support HighDpi monitors, like the Retina displays on Windows 10 //! Must be set before QApplication is initialized, - static void setDpiScaling(); - - protected: + static void SetDpiScaling(); }; } // namespace AzQtComponents diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h index 1a054513cd..9518c6842d 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h @@ -17,7 +17,7 @@ namespace AzToolsFramework { - // Connects and disconnects TraceMessageBus and allows for logging for O3DEToolsApplications + //! Connects and disconnects TraceMessageBus and allows for logging for O3DE Tools Applications class AzQtTraceLogger : public AZ::Debug::TraceMessageBus::Handler { public: diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp index 931051a7c4..f880ad7680 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.cpp @@ -74,7 +74,7 @@ namespace MaterialEditor : Application(argc, argv) , AzQtApplication(*argc, *argv) { - QApplication::setApplicationName("O3DE MaterialEditor"); + QApplication::setApplicationName("O3DE Material Editor"); AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddBuildSystemTargetSpecialization( *AZ::SettingsRegistry::Get(), GetBuildTargetName()); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp index 62493b8f84..f5ee1f5bcb 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp @@ -70,7 +70,7 @@ namespace ShaderManagementConsole : Application(argc, argv) , AzQtApplication(*argc, *argv) { - QApplication::setApplicationName("O3DE ShaderManagementConsole"); + QApplication::setApplicationName("O3DE Shader Management Console"); // The settings registry has been created at this point, so add the CMake target AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddBuildSystemTargetSpecialization( From 656a4bb09785f6eaf5a203f93cb6af686f55efff Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Fri, 25 Jun 2021 11:43:17 -0500 Subject: [PATCH 19/29] o3de.com to o3de.org Signed-off-by: Dayo Lawal --- .../AzQtComponents/Application/AzQtApplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 32389e78cc..3459656960 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -23,7 +23,7 @@ namespace AzQtComponents { // Use a common Qt settings path for applications that don't register their own application name QApplication::setOrganizationName("O3DE"); - QApplication::setOrganizationDomain("o3de.com"); + QApplication::setOrganizationDomain("o3de.org"); QApplication::setApplicationName("O3DEToolsApplication"); AzQtComponents::PrepareQtPaths(); From 27466154be97acb62b84656b5b63dcd2cf274f28 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Fri, 9 Jul 2021 15:10:20 -0500 Subject: [PATCH 20/29] AzQtApplication Window Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.h | 2 +- .../Window/AzQtApplicationWindow.cpp | 61 +++++++++++++ .../Window/AzQtApplicationWindow.h | 89 +++++++++++++++++++ .../AzQtComponents/azqtcomponents_files.cmake | 2 + .../Source/Window/MaterialEditorWindow.cpp | 44 +-------- .../Code/Source/Window/MaterialEditorWindow.h | 43 ++------- .../ShaderManagementConsoleApplication.cpp | 2 - .../Window/ShaderManagementConsoleWindow.cpp | 43 ++------- .../Window/ShaderManagementConsoleWindow.h | 44 ++------- 9 files changed, 175 insertions(+), 155 deletions(-) create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 85e4400c31..60d582a50a 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -18,7 +18,7 @@ namespace AzQtComponents { - //! Base case for O3DE Tools Applications + //! Base class for O3DE Tools Applications class AZ_QT_COMPONENTS_API AzQtApplication : public QApplication { diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp new file mode 100644 index 0000000000..b2dc0cf429 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp @@ -0,0 +1,61 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#include +#include + + +namespace AzQtComponents +{ + AzQtApplicationWindow::AzQtApplicationWindow(QWidget* parent /* = 0 */, const AZStd::string& objectName) + : AzQtComponents::DockMainWindow(parent) + { + m_advancedDockManager = new AzQtComponents::FancyDocking(this); + + setObjectName(objectName.c_str()); + setDockNestingEnabled(true); + setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); + setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); + + m_menuBar = new QMenuBar(this); + m_menuBar->setObjectName("MenuBar"); + setMenuBar(m_menuBar); + + m_centralWidget = new QWidget(this); + m_tabWidget = new AzQtComponents::TabWidget(m_centralWidget); + m_tabWidget->setObjectName("TabWidget"); + m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred); + m_tabWidget->setContentsMargins(0, 0, 0, 0); + + vl = new QVBoxLayout(m_centralWidget); + } + + void AzQtApplicationWindow::SelectPreviousTab() + { + if (m_tabWidget->count() > 1) + { + // Adding count to wrap around when index <= 0 + m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + m_tabWidget->count() - 1) % m_tabWidget->count()); + } + } + + void AzQtApplicationWindow::SelectNextTab() + { + if (m_tabWidget->count() > 1) + { + m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); + } + } +} + diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h new file mode 100644 index 0000000000..87d251f983 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h @@ -0,0 +1,89 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#if !defined(Q_MOC_RUN) +#include +#include +#include +#include + +AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT +#include +#include +#include +#include + +#include +#include +#include +#include +AZ_POP_DISABLE_WARNING +#endif + +namespace AzQtComponents +{ + /** + * //! Base class for O3DE Tools Applications Windows. Its responsibility is limited to initializing and connecting + * its panels, managing selection of assets, and performing high-level actions like saving. It contains... + */ + class AZ_QT_COMPONENTS_API AzQtApplicationWindow + : public AzQtComponents::DockMainWindow + { + Q_OBJECT + public: + AzQtApplicationWindow(QWidget* parent, const AZStd::string& objectName); + + protected: + virtual void SetupMenu() {}; + virtual void SetupTabs() {}; + + virtual void OpenTabContextMenu() {}; + + void SelectPreviousTab(); + void SelectNextTab(); + + AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; + QMenuBar* m_menuBar = nullptr; + QWidget* m_centralWidget = nullptr; + AzQtComponents::TabWidget* m_tabWidget = nullptr; + + QVBoxLayout* vl; + + QMenu* m_menuFile = {}; + QAction* m_actionOpen = {}; + QAction* m_actionOpenRecent = {}; + QAction* m_actionClose = {}; + QAction* m_actionCloseAll = {}; + QAction* m_actionCloseOthers = {}; + QAction* m_actionSave = {}; + QAction* m_actionSaveAsCopy = {}; + QAction* m_actionSaveAll = {}; + QAction* m_actionExit = {}; + + QMenu* m_menuEdit = {}; + QAction* m_actionUndo = {}; + QAction* m_actionRedo = {}; + QAction* m_actionSettings = {}; + + QMenu* m_menuView = {}; + QAction* m_actionAssetBrowser = {}; + QAction* m_actionPythonTerminal = {}; + QAction* m_actionNextTab = {}; + QAction* m_actionPreviousTab = {}; + + QMenu* m_menuHelp = {}; + QAction* m_actionHelp = {}; + QAction* m_actionAbout = {}; + }; +} // namespace ShaderManagementConsole diff --git a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake index bcfbb84778..98882c5132 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake +++ b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake @@ -9,6 +9,8 @@ set(FILES AzQtComponentsAPI.h Application/AzQtApplication.cpp Application/AzQtApplication.h + Application/Window/AzQtApplicationWindow.cpp + Application/Window/AzQtApplicationWindow.h Buses/DragAndDrop.h Buses/ShortcutDispatch.h DragAndDrop/MainWindowDragAndDrop.h diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp index 7c3a912b95..3e39526689 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp @@ -55,7 +55,7 @@ AZ_POP_DISABLE_WARNING namespace MaterialEditor { MaterialEditorWindow::MaterialEditorWindow(QWidget* parent /* = 0 */) - : AzQtComponents::DockMainWindow(parent) + : AzQtComponents::AzQtApplicationWindow(parent, "MaterialEditorWindow") { resize(1280, 1024); @@ -82,45 +82,25 @@ namespace MaterialEditor setWindowTitle(QApplication::applicationName()); } - m_advancedDockManager = new AzQtComponents::FancyDocking(this); - - setObjectName("MaterialEditorWindow"); - setDockNestingEnabled(true); - setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); - setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); - - m_menuBar = new QMenuBar(this); - m_menuBar->setObjectName("MenuBar"); - setMenuBar(m_menuBar); - m_toolBar = new MaterialEditorToolBar(this); m_toolBar->setObjectName("ToolBar"); addToolBar(m_toolBar); - m_centralWidget = new QWidget(this); - m_tabWidget = new AzQtComponents::TabWidget(m_centralWidget); - m_tabWidget->setObjectName("TabWidget"); - m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred); - m_tabWidget->setContentsMargins(0, 0, 0, 0); - m_materialViewport = new MaterialViewportWidget(m_centralWidget); m_materialViewport->setObjectName("Viewport"); m_materialViewport->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); - - QVBoxLayout* vl = new QVBoxLayout(m_centralWidget); + vl->setMargin(0); vl->setContentsMargins(0, 0, 0, 0); vl->addWidget(m_tabWidget); vl->addWidget(m_materialViewport); m_centralWidget->setLayout(vl); setCentralWidget(m_centralWidget); - + m_statusBar = new StatusBarWidget(this); m_statusBar->setObjectName("StatusBar"); statusBar()->addPermanentWidget(m_statusBar, 1); - + SetupMenu(); SetupTabs(); @@ -738,22 +718,6 @@ namespace MaterialEditor } } - void MaterialEditorWindow::SelectPreviousTab() - { - if (m_tabWidget->count() > 1) - { - // Adding count to wrap around when index <= 0 - m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + m_tabWidget->count() - 1) % m_tabWidget->count()); - } - } - - void MaterialEditorWindow::SelectNextTab() - { - if (m_tabWidget->count() > 1) - { - m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); - } - } } // namespace MaterialEditor #include diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h index 165767ecc5..b96ceb2aa4 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h @@ -12,10 +12,11 @@ #include AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT -#include +//#include #include #include #include +#include #include #include @@ -43,7 +44,7 @@ namespace MaterialEditor * 3) MaterialPropertyInspector - The user edits the properties of the selected Material. */ class MaterialEditorWindow - : public AzQtComponents::DockMainWindow + : public AzQtComponents::AzQtApplicationWindow , private MaterialEditorWindowRequestBus::Handler , private MaterialDocumentNotificationBus::Handler { @@ -74,61 +75,31 @@ namespace MaterialEditor void OnDocumentUndoStateChanged(const AZ::Uuid& documentId) override; void OnDocumentSaved(const AZ::Uuid& documentId) override; - void SetupMenu(); + void SetupMenu() override; + void SetupTabs() override; - void SetupTabs(); void AddTabForDocumentId(const AZ::Uuid& documentId); void RemoveTabForDocumentId(const AZ::Uuid& documentId); void UpdateTabForDocumentId(const AZ::Uuid& documentId); - QString GetDocumentPath(const AZ::Uuid& documentId) const; AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const; + QString GetDocumentPath(const AZ::Uuid& documentId) const; - void OpenTabContextMenu(); - void SelectPreviousTab(); - void SelectNextTab(); + void OpenTabContextMenu() override; void closeEvent(QCloseEvent* closeEvent) override; - AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; - QWidget* m_centralWidget = nullptr; - QMenuBar* m_menuBar = nullptr; - AzQtComponents::TabWidget* m_tabWidget = nullptr; MaterialViewportWidget* m_materialViewport = nullptr; MaterialEditorToolBar* m_toolBar = nullptr; AZStd::unordered_map m_dockWidgets; - QMenu* m_menuFile = {}; QAction* m_actionNew = {}; - QAction* m_actionOpen = {}; - QAction* m_actionOpenRecent = {}; - QAction* m_actionClose = {}; - QAction* m_actionCloseAll = {}; - QAction* m_actionCloseOthers = {}; - QAction* m_actionSave = {}; - QAction* m_actionSaveAsCopy = {}; QAction* m_actionSaveAsChild = {}; - QAction* m_actionSaveAll = {}; - QAction* m_actionExit = {}; - QMenu* m_menuEdit = {}; - QAction* m_actionUndo = {}; - QAction* m_actionRedo = {}; - QAction* m_actionSettings = {}; - - QMenu* m_menuView = {}; - QAction* m_actionAssetBrowser = {}; QAction* m_actionInspector = {}; QAction* m_actionConsole = {}; - QAction* m_actionPythonTerminal = {}; QAction* m_actionPerfMonitor = {}; QAction* m_actionViewportSettings = {}; - QAction* m_actionNextTab = {}; - QAction* m_actionPreviousTab = {}; - - QMenu* m_menuHelp = {}; - QAction* m_actionHelp = {}; - QAction* m_actionAbout = {}; StatusBarWidget* m_statusBar = {}; }; diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp index f5ee1f5bcb..d10893ff46 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.cpp @@ -152,7 +152,6 @@ namespace ShaderManagementConsole { AzFramework::AssetSystemStatusBus::Handler::BusConnect(); AzToolsFramework::EditorPythonConsoleNotificationBus::Handler::BusConnect(); - AZ::Debug::TraceMessageBus::Handler::BusConnect(); AzFramework::Application::StartCommon(systemEntity); @@ -164,7 +163,6 @@ namespace ShaderManagementConsole void ShaderManagementConsoleApplication::OnShaderManagementConsoleWindowClosing() { ExitMainLoop(); - AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); ShaderManagementConsoleWindowNotificationBus::Handler::BusDisconnect(); AzToolsFramework::EditorPythonConsoleNotificationBus::Handler::BusDisconnect(); } diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp index 103299a361..dde818d9e6 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp @@ -37,30 +37,14 @@ AZ_POP_DISABLE_WARNING namespace ShaderManagementConsole { ShaderManagementConsoleWindow::ShaderManagementConsoleWindow(QWidget* parent /* = 0 */) - : AzQtComponents::DockMainWindow(parent) + : AzQtComponents::AzQtApplicationWindow(parent, "ShaderManagementConsoleWindow") { setWindowTitle("Shader Management Console"); - m_advancedDockManager = new AzQtComponents::FancyDocking(this); - - setDockNestingEnabled(true); - setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); - setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); - - m_menuBar = new QMenuBar(this); - setMenuBar(m_menuBar); - m_toolBar = new ShaderManagementConsoleToolBar(this); + m_toolBar->setObjectName("ToolBar"); addToolBar(m_toolBar); - m_centralWidget = new QWidget(this); - m_tabWidget = new AzQtComponents::TabWidget(m_centralWidget); - m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred); - m_tabWidget->setContentsMargins(0, 0, 0, 0); - - QVBoxLayout* vl = new QVBoxLayout(m_centralWidget); vl->setMargin(0); vl->setContentsMargins(0, 0, 0, 0); vl->addWidget(m_tabWidget); @@ -143,7 +127,7 @@ namespace ShaderManagementConsole m_actionUndo->setEnabled(canUndo); m_actionRedo->setEnabled(canRedo); - m_actionPreferences->setEnabled(false); + m_actionSettings->setEnabled(false); m_actionAssetBrowser->setEnabled(true); m_actionPythonTerminal->setEnabled(true); @@ -263,9 +247,9 @@ namespace ShaderManagementConsole m_menuEdit->addSeparator(); - m_actionPreferences = m_menuEdit->addAction("&Preferences...", [this]() { + m_actionSettings = m_menuEdit->addAction("&Preferences...", [this]() { }, QKeySequence::Preferences); - m_actionPreferences->setEnabled(false); + m_actionSettings->setEnabled(false); m_menuView = m_menuBar->addMenu("&View"); @@ -471,23 +455,6 @@ namespace ShaderManagementConsole } } - void ShaderManagementConsoleWindow::SelectPreviousTab() - { - if (m_tabWidget->count() > 1) - { - // Adding count to wrap around when index <= 0 - m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + m_tabWidget->count() - 1) % m_tabWidget->count()); - } - } - - void ShaderManagementConsoleWindow::SelectNextTab() - { - if (m_tabWidget->count() > 1) - { - m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); - } - } - void ShaderManagementConsoleWindow::SelectDocumentForTab(const int tabIndex) { const AZ::Uuid documentId = GetDocumentIdFromTab(tabIndex); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h index 0f8824f809..9201be8db0 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h @@ -15,10 +15,11 @@ #include AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT -#include +//#include #include #include #include +#include #include #include @@ -41,7 +42,7 @@ namespace ShaderManagementConsole * its panels, managing selection of assets, and performing high-level actions like saving. It contains... */ class ShaderManagementConsoleWindow - : public AzQtComponents::DockMainWindow + : public AzQtComponents::AzQtApplicationWindow , private ShaderManagementConsoleDocumentNotificationBus::Handler { Q_OBJECT @@ -59,17 +60,15 @@ namespace ShaderManagementConsole void OnDocumentUndoStateChanged(const AZ::Uuid& documentId) override; void OnDocumentSaved(const AZ::Uuid& documentId) override; - void SetupMenu(); + void SetupMenu() override; + void SetupTabs() override; - void SetupTabs(); void AddTabForDocumentId(const AZ::Uuid& documentId); void RemoveTabForDocumentId(const AZ::Uuid& documentId); void UpdateTabForDocumentId(const AZ::Uuid& documentId); AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const; - void OpenTabContextMenu(); - void SelectPreviousTab(); - void SelectNextTab(); + void OpenTabContextMenu() override; void SelectDocumentForTab(const int tabIndex); void CloseDocumentForTab(const int tabIndex); @@ -79,42 +78,11 @@ namespace ShaderManagementConsole void CreateDocumentContent(const AZ::Uuid& documentId, QStandardItemModel* model); - AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; - QMenuBar* m_menuBar = nullptr; - QWidget* m_centralWidget = nullptr; - AzQtComponents::TabWidget* m_tabWidget = nullptr; ShaderManagementConsoleBrowserWidget* m_assetBrowser = nullptr; ShaderManagementConsoleToolBar* m_toolBar = nullptr; AzToolsFramework::CScriptTermDialog* m_pythonTerminal = nullptr; AzQtComponents::StyledDockWidget* m_assetBrowserDockWidget = nullptr; AzQtComponents::StyledDockWidget* m_pythonTerminalDockWidget = nullptr; - - QMenu* m_menuFile = {}; - QMenu* m_menuNew = {}; - QAction* m_actionOpen = {}; - QAction* m_actionOpenRecent = {}; - QAction* m_actionClose = {}; - QAction* m_actionCloseAll = {}; - QAction* m_actionCloseOthers = {}; - QAction* m_actionSave = {}; - QAction* m_actionSaveAsCopy = {}; - QAction* m_actionSaveAll = {}; - QAction* m_actionExit = {}; - - QMenu* m_menuEdit = {}; - QAction* m_actionUndo = {}; - QAction* m_actionRedo = {}; - QAction* m_actionPreferences = {}; - - QMenu* m_menuView = {}; - QAction* m_actionAssetBrowser = {}; - QAction* m_actionPythonTerminal = {}; - QAction* m_actionNextTab = {}; - QAction* m_actionPreviousTab = {}; - - QMenu* m_menuHelp = {}; - QAction* m_actionHelp = {}; - QAction* m_actionAbout = {}; }; } // namespace ShaderManagementConsole From d36d1defab164aac182fdd484bcbe51c37e228e9 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 13 Jul 2021 13:05:31 -0500 Subject: [PATCH 21/29] Styling fixes and AzQtAppWindow changes Signed-off-by: Dayo Lawal --- .../Application/AzQtApplication.cpp | 3 +- .../Application/AzQtApplication.h | 8 +++-- .../Window/AzQtApplicationWindow.cpp | 34 +----------------- .../Window/AzQtApplicationWindow.h | 35 +------------------ .../{AzQtTraceLogger.cpp => TraceLogger.cpp} | 10 +++--- .../{AzQtTraceLogger.h => TraceLogger.h} | 9 +++-- .../aztoolsframework_files.cmake | 4 +-- .../Code/Source/MaterialEditorApplication.h | 4 +-- .../Source/Window/MaterialEditorWindow.cpp | 35 +++++++++++++++++-- .../Code/Source/Window/MaterialEditorWindow.h | 28 +++++++++++++++ .../ShaderManagementConsoleApplication.h | 4 +-- .../Window/ShaderManagementConsoleWindow.cpp | 32 ++++++++++++++++- .../Window/ShaderManagementConsoleWindow.h | 31 ++++++++++++++++ 13 files changed, 148 insertions(+), 89 deletions(-) rename Code/Framework/AzToolsFramework/AzToolsFramework/Logger/{AzQtTraceLogger.cpp => TraceLogger.cpp} (89%) rename Code/Framework/AzToolsFramework/AzToolsFramework/Logger/{AzQtTraceLogger.h => TraceLogger.h} (86%) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index 3459656960..f081159b87 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -31,7 +31,7 @@ namespace AzQtComponents QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); } - void AzQtApplication::SetDpiScaling() + void AzQtApplication::InitializeDpiScaling() { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); @@ -39,6 +39,5 @@ namespace AzQtComponents QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); } - } // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 60d582a50a..17ee29fc85 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -25,9 +25,11 @@ namespace AzQtComponents public: AzQtApplication(int& argc, char** argv); - //! DPI Scaling so that we support HighDpi monitors, like the Retina displays on Windows 10 - //! Must be set before QApplication is initialized, - static void SetDpiScaling(); + //! Initializes Qt DPI scaling to handle displays with high display densities, such as Retina displays. + //! Currently, this uses Qt's system DPI awareness, in which a common device scaling factor will be + //! calculated across all attached screens. + //! \warning This must be called before this AzQtApplication instance is initialized. + static void InitializeDpiScaling(); }; } // namespace AzQtComponents diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp index b2dc0cf429..e8d16dfc58 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp @@ -16,46 +16,14 @@ namespace AzQtComponents { - AzQtApplicationWindow::AzQtApplicationWindow(QWidget* parent /* = 0 */, const AZStd::string& objectName) + AzQtApplicationWindow::AzQtApplicationWindow(QWidget* parent /* = 0 */) : AzQtComponents::DockMainWindow(parent) { m_advancedDockManager = new AzQtComponents::FancyDocking(this); - setObjectName(objectName.c_str()); - setDockNestingEnabled(true); - setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); - setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); - m_menuBar = new QMenuBar(this); m_menuBar->setObjectName("MenuBar"); setMenuBar(m_menuBar); - - m_centralWidget = new QWidget(this); - m_tabWidget = new AzQtComponents::TabWidget(m_centralWidget); - m_tabWidget->setObjectName("TabWidget"); - m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred); - m_tabWidget->setContentsMargins(0, 0, 0, 0); - - vl = new QVBoxLayout(m_centralWidget); - } - - void AzQtApplicationWindow::SelectPreviousTab() - { - if (m_tabWidget->count() > 1) - { - // Adding count to wrap around when index <= 0 - m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + m_tabWidget->count() - 1) % m_tabWidget->count()); - } - } - - void AzQtApplicationWindow::SelectNextTab() - { - if (m_tabWidget->count() > 1) - { - m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); - } } } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h index 87d251f983..4a9a67d4df 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h @@ -42,7 +42,7 @@ namespace AzQtComponents { Q_OBJECT public: - AzQtApplicationWindow(QWidget* parent, const AZStd::string& objectName); + AzQtApplicationWindow(QWidget* parent); protected: virtual void SetupMenu() {}; @@ -50,40 +50,7 @@ namespace AzQtComponents virtual void OpenTabContextMenu() {}; - void SelectPreviousTab(); - void SelectNextTab(); - AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; QMenuBar* m_menuBar = nullptr; - QWidget* m_centralWidget = nullptr; - AzQtComponents::TabWidget* m_tabWidget = nullptr; - - QVBoxLayout* vl; - - QMenu* m_menuFile = {}; - QAction* m_actionOpen = {}; - QAction* m_actionOpenRecent = {}; - QAction* m_actionClose = {}; - QAction* m_actionCloseAll = {}; - QAction* m_actionCloseOthers = {}; - QAction* m_actionSave = {}; - QAction* m_actionSaveAsCopy = {}; - QAction* m_actionSaveAll = {}; - QAction* m_actionExit = {}; - - QMenu* m_menuEdit = {}; - QAction* m_actionUndo = {}; - QAction* m_actionRedo = {}; - QAction* m_actionSettings = {}; - - QMenu* m_menuView = {}; - QAction* m_actionAssetBrowser = {}; - QAction* m_actionPythonTerminal = {}; - QAction* m_actionNextTab = {}; - QAction* m_actionPreviousTab = {}; - - QMenu* m_menuHelp = {}; - QAction* m_actionHelp = {}; - QAction* m_actionAbout = {}; }; } // namespace ShaderManagementConsole diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp similarity index 89% rename from Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp rename to Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp index f795719062..3b40455483 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp @@ -10,7 +10,7 @@ * */ -#include +#include #include #include @@ -18,17 +18,17 @@ namespace AzToolsFramework { - AzQtTraceLogger::AzQtTraceLogger() + TraceLogger::TraceLogger() { AZ::Debug::TraceMessageBus::Handler::BusConnect(); } - AzQtTraceLogger::~AzQtTraceLogger() + TraceLogger::~TraceLogger() { AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); } - bool AzQtTraceLogger::OnOutput(const char* window, const char* message) + bool TraceLogger::OnOutput(const char* window, const char* message) { if (m_logFile) { @@ -41,7 +41,7 @@ namespace AzToolsFramework return false; } - void AzQtTraceLogger::WriteStartupLog(const AZStd::string& logFileName) + void TraceLogger::WriteStartupLog(const AZStd::string& logFileName) { using namespace AzFramework; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h similarity index 86% rename from Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h rename to Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h index 9518c6842d..cd605e83ab 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/AzQtTraceLogger.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h @@ -14,15 +14,18 @@ #include #include +#include +#include namespace AzToolsFramework { //! Connects and disconnects TraceMessageBus and allows for logging for O3DE Tools Applications - class AzQtTraceLogger : public AZ::Debug::TraceMessageBus::Handler + class TraceLogger + : public AZ::Debug::TraceMessageBus::Handler { public: - AzQtTraceLogger(); - ~AzQtTraceLogger(); + TraceLogger(); + ~TraceLogger(); //! Intalize logging for O3DEToolsApplications void WriteStartupLog(const AZStd::string& logFileName); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake index 5718de48ab..75b5bd4a56 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake @@ -147,8 +147,8 @@ set(FILES Entity/SliceEditorEntityOwnershipServiceBus.h Fingerprinting/TypeFingerprinter.h Fingerprinting/TypeFingerprinter.cpp - Logger/AzQtTraceLogger.cpp - Logger/AzQtTraceLogger.h + Logger/TraceLogger.cpp + Logger/TraceLogger.h Manipulators/AngularManipulator.cpp Manipulators/AngularManipulator.h Manipulators/BaseManipulator.cpp diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h index ff0809897d..284eddee93 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/MaterialEditorApplication.h @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include @@ -124,7 +124,7 @@ namespace MaterialEditor AZStd::vector m_startupLogSink; AZStd::unique_ptr m_logFile; - AzToolsFramework::AzQtTraceLogger m_traceLogger; + AzToolsFramework::TraceLogger m_traceLogger; //! Local user settings are used to store material browser tree expansion state AZ::UserSettingsProvider m_localUserSettings; diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp index 3e39526689..2c4e19a037 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp @@ -55,7 +55,7 @@ AZ_POP_DISABLE_WARNING namespace MaterialEditor { MaterialEditorWindow::MaterialEditorWindow(QWidget* parent /* = 0 */) - : AzQtComponents::AzQtApplicationWindow(parent, "MaterialEditorWindow") + : AzQtComponents::AzQtApplicationWindow(parent) { resize(1280, 1024); @@ -82,14 +82,28 @@ namespace MaterialEditor setWindowTitle(QApplication::applicationName()); } + setObjectName("MaterialEditorWindow"); + setDockNestingEnabled(true); + setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); + setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); + m_toolBar = new MaterialEditorToolBar(this); m_toolBar->setObjectName("ToolBar"); addToolBar(m_toolBar); + m_centralWidget = new QWidget(this); + m_tabWidget = new AzQtComponents::TabWidget(m_centralWidget); + m_tabWidget->setObjectName("TabWidget"); + m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred); + m_tabWidget->setContentsMargins(0, 0, 0, 0); + m_materialViewport = new MaterialViewportWidget(m_centralWidget); m_materialViewport->setObjectName("Viewport"); m_materialViewport->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); - + + QVBoxLayout* vl = new QVBoxLayout(m_centralWidget); vl->setMargin(0); vl->setContentsMargins(0, 0, 0, 0); vl->addWidget(m_tabWidget); @@ -718,6 +732,23 @@ namespace MaterialEditor } } + void MaterialEditorWindow::SelectPreviousTab() + { + if (m_tabWidget->count() > 1) + { + // Adding count to wrap around when index <= 0 + m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + m_tabWidget->count() - 1) % m_tabWidget->count()); + } + } + + void MaterialEditorWindow::SelectNextTab() + { + if (m_tabWidget->count() > 1) + { + m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); + } + } + } // namespace MaterialEditor #include diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h index b96ceb2aa4..e7efcfc528 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h @@ -85,21 +85,49 @@ namespace MaterialEditor QString GetDocumentPath(const AZ::Uuid& documentId) const; void OpenTabContextMenu() override; + void SelectPreviousTab(); + void SelectNextTab(); void closeEvent(QCloseEvent* closeEvent) override; + QWidget* m_centralWidget = nullptr; + AzQtComponents::TabWidget* m_tabWidget = nullptr; MaterialViewportWidget* m_materialViewport = nullptr; MaterialEditorToolBar* m_toolBar = nullptr; AZStd::unordered_map m_dockWidgets; + QMenu* m_menuFile = {}; QAction* m_actionNew = {}; + QAction* m_actionOpen = {}; + QAction* m_actionOpenRecent = {}; + QAction* m_actionClose = {}; + QAction* m_actionCloseAll = {}; + QAction* m_actionCloseOthers = {}; + QAction* m_actionSave = {}; + QAction* m_actionSaveAsCopy = {}; QAction* m_actionSaveAsChild = {}; + QAction* m_actionSaveAll = {}; + QAction* m_actionExit = {}; + QMenu* m_menuEdit = {}; + QAction* m_actionUndo = {}; + QAction* m_actionRedo = {}; + QAction* m_actionSettings = {}; + + QMenu* m_menuView = {}; + QAction* m_actionAssetBrowser = {}; QAction* m_actionInspector = {}; QAction* m_actionConsole = {}; + QAction* m_actionPythonTerminal = {}; QAction* m_actionPerfMonitor = {}; QAction* m_actionViewportSettings = {}; + QAction* m_actionNextTab = {}; + QAction* m_actionPreviousTab = {}; + + QMenu* m_menuHelp = {}; + QAction* m_actionHelp = {}; + QAction* m_actionAbout = {}; StatusBarWidget* m_statusBar = {}; }; diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h index 9b7de38f0a..bd2e0b9403 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include @@ -115,7 +115,7 @@ namespace ShaderManagementConsole static void PyIdleWaitFrames(uint32_t frames); - AzToolsFramework::AzQtTraceLogger m_traceLogger; + AzToolsFramework::TraceLogger m_traceLogger; //! Local user settings are used to store asset browser tree expansion state AZ::UserSettingsProvider m_localUserSettings; diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp index dde818d9e6..6c2ae0c322 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp @@ -37,14 +37,27 @@ AZ_POP_DISABLE_WARNING namespace ShaderManagementConsole { ShaderManagementConsoleWindow::ShaderManagementConsoleWindow(QWidget* parent /* = 0 */) - : AzQtComponents::AzQtApplicationWindow(parent, "ShaderManagementConsoleWindow") + : AzQtComponents::AzQtApplicationWindow(parent) { setWindowTitle("Shader Management Console"); + setObjectName("ShaderManagementConsoleWindow"); + setDockNestingEnabled(true); + setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); + setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); m_toolBar = new ShaderManagementConsoleToolBar(this); m_toolBar->setObjectName("ToolBar"); addToolBar(m_toolBar); + m_centralWidget = new QWidget(this); + m_tabWidget = new AzQtComponents::TabWidget(m_centralWidget); + m_tabWidget->setObjectName("TabWidget"); + m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred); + m_tabWidget->setContentsMargins(0, 0, 0, 0); + + QVBoxLayout* vl = new QVBoxLayout(m_centralWidget); vl->setMargin(0); vl->setContentsMargins(0, 0, 0, 0); vl->addWidget(m_tabWidget); @@ -535,6 +548,23 @@ namespace ShaderManagementConsole } } } + + void ShaderManagementConsoleWindow::SelectPreviousTab() + { + if (m_tabWidget->count() > 1) + { + // Adding count to wrap around when index <= 0 + m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + m_tabWidget->count() - 1) % m_tabWidget->count()); + } + } + + void ShaderManagementConsoleWindow::SelectNextTab() + { + if (m_tabWidget->count() > 1) + { + m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); + } + } } // namespace ShaderManagementConsole #include diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h index 9201be8db0..cd9bcce482 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h @@ -69,6 +69,8 @@ namespace ShaderManagementConsole AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const; void OpenTabContextMenu() override; + void SelectPreviousTab(); + void SelectNextTab(); void SelectDocumentForTab(const int tabIndex); void CloseDocumentForTab(const int tabIndex); @@ -78,11 +80,40 @@ namespace ShaderManagementConsole void CreateDocumentContent(const AZ::Uuid& documentId, QStandardItemModel* model); + QWidget* m_centralWidget = nullptr; + AzQtComponents::TabWidget* m_tabWidget = nullptr; ShaderManagementConsoleBrowserWidget* m_assetBrowser = nullptr; ShaderManagementConsoleToolBar* m_toolBar = nullptr; AzToolsFramework::CScriptTermDialog* m_pythonTerminal = nullptr; AzQtComponents::StyledDockWidget* m_assetBrowserDockWidget = nullptr; AzQtComponents::StyledDockWidget* m_pythonTerminalDockWidget = nullptr; + + QMenu* m_menuFile = {}; + QMenu* m_menuNew = {}; + QAction* m_actionOpen = {}; + QAction* m_actionOpenRecent = {}; + QAction* m_actionClose = {}; + QAction* m_actionCloseAll = {}; + QAction* m_actionCloseOthers = {}; + QAction* m_actionSave = {}; + QAction* m_actionSaveAsCopy = {}; + QAction* m_actionSaveAll = {}; + QAction* m_actionExit = {}; + + QMenu* m_menuEdit = {}; + QAction* m_actionUndo = {}; + QAction* m_actionRedo = {}; + QAction* m_actionSettings = {}; + + QMenu* m_menuView = {}; + QAction* m_actionAssetBrowser = {}; + QAction* m_actionPythonTerminal = {}; + QAction* m_actionNextTab = {}; + QAction* m_actionPreviousTab = {}; + + QMenu* m_menuHelp = {}; + QAction* m_actionHelp = {}; + QAction* m_actionAbout = {}; }; } // namespace ShaderManagementConsole From 92ead794fa11af76968dcde64aaa1fb7e0ed84b8 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 13 Jul 2021 15:47:59 -0500 Subject: [PATCH 22/29] Removal of AzQtAppWindow Signed-off-by: Dayo Lawal --- .../Window/AzQtApplicationWindow.cpp | 29 ---------- .../Window/AzQtApplicationWindow.h | 56 ------------------- .../AzToolsFramework/Logger/TraceLogger.cpp | 10 +--- .../AzToolsFramework/Logger/TraceLogger.h | 10 +--- .../Source/Window/MaterialEditorWindow.cpp | 8 ++- .../Code/Source/Window/MaterialEditorWindow.h | 13 +++-- .../Window/ShaderManagementConsoleWindow.cpp | 8 ++- .../Window/ShaderManagementConsoleWindow.h | 13 +++-- 8 files changed, 34 insertions(+), 113 deletions(-) delete mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp delete mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp deleted file mode 100644 index e8d16dfc58..0000000000 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#include -#include - - -namespace AzQtComponents -{ - AzQtApplicationWindow::AzQtApplicationWindow(QWidget* parent /* = 0 */) - : AzQtComponents::DockMainWindow(parent) - { - m_advancedDockManager = new AzQtComponents::FancyDocking(this); - - m_menuBar = new QMenuBar(this); - m_menuBar->setObjectName("MenuBar"); - setMenuBar(m_menuBar); - } -} - diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h deleted file mode 100644 index 4a9a67d4df..0000000000 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/Window/AzQtApplicationWindow.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or - * its licensors. - * - * For complete copyright and license terms please see the LICENSE at the root of this - * distribution (the "License"). All use of this software is governed by the License, - * or, if provided, by the license below or the license accompanying this file. Do not - * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - */ - -#pragma once - -#if !defined(Q_MOC_RUN) -#include -#include -#include -#include - -AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT -#include -#include -#include -#include - -#include -#include -#include -#include -AZ_POP_DISABLE_WARNING -#endif - -namespace AzQtComponents -{ - /** - * //! Base class for O3DE Tools Applications Windows. Its responsibility is limited to initializing and connecting - * its panels, managing selection of assets, and performing high-level actions like saving. It contains... - */ - class AZ_QT_COMPONENTS_API AzQtApplicationWindow - : public AzQtComponents::DockMainWindow - { - Q_OBJECT - public: - AzQtApplicationWindow(QWidget* parent); - - protected: - virtual void SetupMenu() {}; - virtual void SetupTabs() {}; - - virtual void OpenTabContextMenu() {}; - - AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; - QMenuBar* m_menuBar = nullptr; - }; -} // namespace ShaderManagementConsole diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp index 3b40455483..e306f0d21d 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp @@ -1,12 +1,8 @@ /* - * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or - * its licensors. + * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of + * this distribution. * - * For complete copyright and license terms please see the LICENSE at the root of this - * distribution (the "License"). All use of this software is governed by the License, - * or, if provided, by the license below or the license accompanying this file. Do not - * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * SPDX-License-Identifier: Apache-2.0 OR MIT * */ diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h index cd605e83ab..e9314137d1 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h @@ -1,12 +1,8 @@ /* - * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or - * its licensors. + * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of + * this distribution. * - * For complete copyright and license terms please see the LICENSE at the root of this - * distribution (the "License"). All use of this software is governed by the License, - * or, if provided, by the license below or the license accompanying this file. Do not - * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * SPDX-License-Identifier: Apache-2.0 OR MIT * */ diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp index 2c4e19a037..34962806cc 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp @@ -55,7 +55,7 @@ AZ_POP_DISABLE_WARNING namespace MaterialEditor { MaterialEditorWindow::MaterialEditorWindow(QWidget* parent /* = 0 */) - : AzQtComponents::AzQtApplicationWindow(parent) + : AzQtComponents::DockMainWindow(parent) { resize(1280, 1024); @@ -82,6 +82,8 @@ namespace MaterialEditor setWindowTitle(QApplication::applicationName()); } + m_advancedDockManager = new AzQtComponents::FancyDocking(this); + setObjectName("MaterialEditorWindow"); setDockNestingEnabled(true); setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); @@ -89,6 +91,10 @@ namespace MaterialEditor setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); + m_menuBar = new QMenuBar(this); + m_menuBar->setObjectName("MenuBar"); + setMenuBar(m_menuBar); + m_toolBar = new MaterialEditorToolBar(this); m_toolBar->setObjectName("ToolBar"); addToolBar(m_toolBar); diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h index e7efcfc528..8c288abca9 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h @@ -12,11 +12,10 @@ #include AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT -//#include +#include #include #include #include -#include #include #include @@ -44,7 +43,7 @@ namespace MaterialEditor * 3) MaterialPropertyInspector - The user edits the properties of the selected Material. */ class MaterialEditorWindow - : public AzQtComponents::AzQtApplicationWindow + : public AzQtComponents::DockMainWindow , private MaterialEditorWindowRequestBus::Handler , private MaterialDocumentNotificationBus::Handler { @@ -75,8 +74,8 @@ namespace MaterialEditor void OnDocumentUndoStateChanged(const AZ::Uuid& documentId) override; void OnDocumentSaved(const AZ::Uuid& documentId) override; - void SetupMenu() override; - void SetupTabs() override; + void SetupMenu(); + void SetupTabs(); void AddTabForDocumentId(const AZ::Uuid& documentId); void RemoveTabForDocumentId(const AZ::Uuid& documentId); @@ -84,12 +83,14 @@ namespace MaterialEditor AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const; QString GetDocumentPath(const AZ::Uuid& documentId) const; - void OpenTabContextMenu() override; + void OpenTabContextMenu(); void SelectPreviousTab(); void SelectNextTab(); void closeEvent(QCloseEvent* closeEvent) override; + AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; + QMenuBar* m_menuBar = nullptr; QWidget* m_centralWidget = nullptr; AzQtComponents::TabWidget* m_tabWidget = nullptr; MaterialViewportWidget* m_materialViewport = nullptr; diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp index 6c2ae0c322..fea10dfb7a 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp @@ -37,8 +37,10 @@ AZ_POP_DISABLE_WARNING namespace ShaderManagementConsole { ShaderManagementConsoleWindow::ShaderManagementConsoleWindow(QWidget* parent /* = 0 */) - : AzQtComponents::AzQtApplicationWindow(parent) + : AzQtComponents::DockMainWindow(parent) { + m_advancedDockManager = new AzQtComponents::FancyDocking(this); + setWindowTitle("Shader Management Console"); setObjectName("ShaderManagementConsoleWindow"); setDockNestingEnabled(true); @@ -47,6 +49,10 @@ namespace ShaderManagementConsole setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); + m_menuBar = new QMenuBar(this); + m_menuBar->setObjectName("MenuBar"); + setMenuBar(m_menuBar); + m_toolBar = new ShaderManagementConsoleToolBar(this); m_toolBar->setObjectName("ToolBar"); addToolBar(m_toolBar); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h index cd9bcce482..f35000ce26 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h @@ -15,11 +15,10 @@ #include AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT -//#include +#include #include #include #include -#include #include #include @@ -42,7 +41,7 @@ namespace ShaderManagementConsole * its panels, managing selection of assets, and performing high-level actions like saving. It contains... */ class ShaderManagementConsoleWindow - : public AzQtComponents::AzQtApplicationWindow + : public AzQtComponents::DockMainWindow , private ShaderManagementConsoleDocumentNotificationBus::Handler { Q_OBJECT @@ -60,15 +59,15 @@ namespace ShaderManagementConsole void OnDocumentUndoStateChanged(const AZ::Uuid& documentId) override; void OnDocumentSaved(const AZ::Uuid& documentId) override; - void SetupMenu() override; - void SetupTabs() override; + void SetupMenu(); + void SetupTabs(); void AddTabForDocumentId(const AZ::Uuid& documentId); void RemoveTabForDocumentId(const AZ::Uuid& documentId); void UpdateTabForDocumentId(const AZ::Uuid& documentId); AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const; - void OpenTabContextMenu() override; + void OpenTabContextMenu(); void SelectPreviousTab(); void SelectNextTab(); @@ -80,6 +79,8 @@ namespace ShaderManagementConsole void CreateDocumentContent(const AZ::Uuid& documentId, QStandardItemModel* model); + AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; + QMenuBar* m_menuBar = nullptr; QWidget* m_centralWidget = nullptr; AzQtComponents::TabWidget* m_tabWidget = nullptr; ShaderManagementConsoleBrowserWidget* m_assetBrowser = nullptr; From 986ee5aa9b14f498a08d233d4445097f4008f5ef Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 13 Jul 2021 18:55:18 -0500 Subject: [PATCH 23/29] Changing cmake Signed-off-by: Dayo Lawal --- .../AzQtComponents/AzQtComponents/azqtcomponents_files.cmake | 2 -- 1 file changed, 2 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake index 98882c5132..bcfbb84778 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake +++ b/Code/Framework/AzQtComponents/AzQtComponents/azqtcomponents_files.cmake @@ -9,8 +9,6 @@ set(FILES AzQtComponentsAPI.h Application/AzQtApplication.cpp Application/AzQtApplication.h - Application/Window/AzQtApplicationWindow.cpp - Application/Window/AzQtApplicationWindow.h Buses/DragAndDrop.h Buses/ShortcutDispatch.h DragAndDrop/MainWindowDragAndDrop.h From 9c63968833d354ec614139ccfe344e1a52f2b5c8 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 13 Jul 2021 19:24:36 -0500 Subject: [PATCH 24/29] Style fixing Signed-off-by: Dayo Lawal --- .../AzQtComponents/Application/AzQtApplication.cpp | 2 +- .../Atom/Tools/MaterialEditor/Code/Source/main.cpp | 12 +----------- .../ShaderManagementConsole/Code/Source/main.cpp | 14 +------------- 3 files changed, 3 insertions(+), 25 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index f081159b87..d234a95013 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -24,7 +24,7 @@ namespace AzQtComponents // Use a common Qt settings path for applications that don't register their own application name QApplication::setOrganizationName("O3DE"); QApplication::setOrganizationDomain("o3de.org"); - QApplication::setApplicationName("O3DEToolsApplication"); + QApplication::setApplicationName("O3DE Tools Application"); AzQtComponents::PrepareQtPaths(); diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp index 3ea7d37175..2693101ebf 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp @@ -28,18 +28,8 @@ int main(int argc, char** argv) QApplication::setOrganizationDomain("o3de.org"); QApplication::setApplicationName("O3DE Material Editor"); - AzQtComponents::PrepareQtPaths(); + AzQtComponents::AzQtApplication::InitializeDpiScaling(); - QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); - - // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays - // on Windows 10 - QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); - QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); - QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); - AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); - //*/ MaterialEditor::MaterialEditorApplication app(&argc, &argv); auto globalEventFilter = new AzQtComponents::GlobalEventFilter(&app); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp index ed5537e93d..4ff38ac73f 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp @@ -28,19 +28,7 @@ int main(int argc, char** argv) QApplication::setOrganizationDomain("o3de.com"); QApplication::setApplicationName("O3DE Shader Management Console"); - AzQtComponents::PrepareQtPaths(); - - QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); - - // Must be set before QApplication is initialized, so that we support HighDpi monitors, like the Retina displays - // on Windows 10 - QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); - QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); - QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); - AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::PerScreenDpiAware); - - AzQtComponents::AzQtApplication::setDpiScaling(); + AzQtComponents::AzQtApplication::InitializeDpiScaling(); ShaderManagementConsole::ShaderManagementConsoleApplication app(&argc, &argv); From 54947791d2af9efb2a4b5077bbac255582612f0f Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Tue, 13 Jul 2021 19:51:58 -0500 Subject: [PATCH 25/29] Fixing copyright header Signed-off-by: Dayo Lawal --- .../AzQtComponents/Application/AzQtApplication.cpp | 10 +++------- .../AzQtComponents/Application/AzQtApplication.h | 10 +++------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index d234a95013..b8c26750e3 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -1,12 +1,8 @@ /* - * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or - * its licensors. + * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of + * this distribution. * - * For complete copyright and license terms please see the LICENSE at the root of this - * distribution (the "License"). All use of this software is governed by the License, - * or, if provided, by the license below or the license accompanying this file. Do not - * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * SPDX-License-Identifier: Apache-2.0 OR MIT * */ diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 17ee29fc85..2dd28dcea6 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -1,12 +1,8 @@ /* - * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or - * its licensors. + * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of + * this distribution. * - * For complete copyright and license terms please see the LICENSE at the root of this - * distribution (the "License"). All use of this software is governed by the License, - * or, if provided, by the license below or the license accompanying this file. Do not - * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * SPDX-License-Identifier: Apache-2.0 OR MIT * */ From 8f22bff1fbfba428fc129ad2b1934e11c4d227a8 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 15 Jul 2021 11:28:04 -0500 Subject: [PATCH 26/29] QEditorApplication inheriting from AzQtApplication Signed-off-by: Dayo Lawal --- Code/Editor/Core/QtEditorApplication.cpp | 4 +--- Code/Editor/Core/QtEditorApplication.h | 4 ++-- .../Code/Source/ShaderManagementConsoleApplication.h | 1 - 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Code/Editor/Core/QtEditorApplication.cpp b/Code/Editor/Core/QtEditorApplication.cpp index f5c886761c..04b5d45907 100644 --- a/Code/Editor/Core/QtEditorApplication.cpp +++ b/Code/Editor/Core/QtEditorApplication.cpp @@ -242,7 +242,7 @@ namespace Editor } EditorQtApplication::EditorQtApplication(int& argc, char** argv) - : QApplication(argc, argv) + : AzQtApplication(argc, argv) , m_inWinEventFilter(false) , m_stylesheet(new AzQtComponents::O3DEStylesheet(this)) , m_idleTimer(new QTimer(this)) @@ -252,8 +252,6 @@ namespace Editor setWindowIcon(QIcon(":/Application/res/o3de_editor.ico")); // set the default key store for our preferences: - setOrganizationName("O3DE"); - setOrganizationDomain("o3de.org"); setApplicationName("O3DE Editor"); connect(m_idleTimer, &QTimer::timeout, this, &EditorQtApplication::maybeProcessIdle); diff --git a/Code/Editor/Core/QtEditorApplication.h b/Code/Editor/Core/QtEditorApplication.h index 7baaae8e28..e782b8bfc7 100644 --- a/Code/Editor/Core/QtEditorApplication.h +++ b/Code/Editor/Core/QtEditorApplication.h @@ -7,7 +7,6 @@ #pragma once #if !defined(Q_MOC_RUN) -#include #include #include #include @@ -19,6 +18,7 @@ #include #include #include +#include #endif class QFileInfo; @@ -47,7 +47,7 @@ namespace Editor void ScanDirectories(QFileInfoList& directoryList, const QStringList& filters, QFileInfoList& files, ScanDirectoriesUpdateCallBack updateCallback = nullptr); class EditorQtApplication - : public QApplication + : public AzQtComponents::AzQtApplication , public QAbstractNativeEventFilter , public IEditorNotifyListener , public AZ::UserSettingsOwnerRequestBus::Handler diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h index bd2e0b9403..e74458b2e7 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/ShaderManagementConsoleApplication.h @@ -7,7 +7,6 @@ #pragma once - #include #include #include From f215011de414fa002dad22d26b3cf8e24c38ac05 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 15 Jul 2021 12:44:26 -0500 Subject: [PATCH 27/29] Copyright header and whitespace fixes Signed-off-by: Dayo Lawal --- .../AzQtComponents/Application/AzQtApplication.cpp | 3 +-- .../AzQtComponents/Application/AzQtApplication.h | 3 +-- .../AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp | 3 +-- .../AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h | 3 +-- .../AzToolsFramework/aztoolsframework_files.cmake | 4 ++-- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp index b8c26750e3..594a339448 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.cpp @@ -1,6 +1,5 @@ /* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of - * this distribution. + * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h index 2dd28dcea6..2aa4be646c 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Application/AzQtApplication.h @@ -1,6 +1,5 @@ /* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of - * this distribution. + * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp index e306f0d21d..5f1546bf83 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.cpp @@ -1,6 +1,5 @@ /* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of - * this distribution. + * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h index e9314137d1..a10f4fc2df 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Logger/TraceLogger.h @@ -1,6 +1,5 @@ /* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of - * this distribution. + * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake index 75b5bd4a56..59044113c1 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake @@ -147,8 +147,8 @@ set(FILES Entity/SliceEditorEntityOwnershipServiceBus.h Fingerprinting/TypeFingerprinter.h Fingerprinting/TypeFingerprinter.cpp - Logger/TraceLogger.cpp - Logger/TraceLogger.h + Logger/TraceLogger.cpp + Logger/TraceLogger.h Manipulators/AngularManipulator.cpp Manipulators/AngularManipulator.h Manipulators/BaseManipulator.cpp From 6a0257b5090415d6b059361a8a6536bc9ff5e270 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Thu, 15 Jul 2021 16:23:46 -0500 Subject: [PATCH 28/29] Reverting changes to AtomTools windows Signed-off-by: Dayo Lawal --- .../Source/Window/MaterialEditorWindow.cpp | 5 +- .../Code/Source/Window/MaterialEditorWindow.h | 6 +-- .../Window/ShaderManagementConsoleWindow.cpp | 49 +++++++++---------- .../Window/ShaderManagementConsoleWindow.h | 4 +- 4 files changed, 30 insertions(+), 34 deletions(-) diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp index 34962806cc..7c3a912b95 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp @@ -116,11 +116,11 @@ namespace MaterialEditor vl->addWidget(m_materialViewport); m_centralWidget->setLayout(vl); setCentralWidget(m_centralWidget); - + m_statusBar = new StatusBarWidget(this); m_statusBar->setObjectName("StatusBar"); statusBar()->addPermanentWidget(m_statusBar, 1); - + SetupMenu(); SetupTabs(); @@ -754,7 +754,6 @@ namespace MaterialEditor m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); } } - } // namespace MaterialEditor #include diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h index 8c288abca9..165767ecc5 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.h @@ -75,13 +75,13 @@ namespace MaterialEditor void OnDocumentSaved(const AZ::Uuid& documentId) override; void SetupMenu(); - void SetupTabs(); + void SetupTabs(); void AddTabForDocumentId(const AZ::Uuid& documentId); void RemoveTabForDocumentId(const AZ::Uuid& documentId); void UpdateTabForDocumentId(const AZ::Uuid& documentId); - AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const; QString GetDocumentPath(const AZ::Uuid& documentId) const; + AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const; void OpenTabContextMenu(); void SelectPreviousTab(); @@ -90,8 +90,8 @@ namespace MaterialEditor void closeEvent(QCloseEvent* closeEvent) override; AzQtComponents::FancyDocking* m_advancedDockManager = nullptr; - QMenuBar* m_menuBar = nullptr; QWidget* m_centralWidget = nullptr; + QMenuBar* m_menuBar = nullptr; AzQtComponents::TabWidget* m_tabWidget = nullptr; MaterialViewportWidget* m_materialViewport = nullptr; MaterialEditorToolBar* m_toolBar = nullptr; diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp index fea10dfb7a..103299a361 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp @@ -39,10 +39,10 @@ namespace ShaderManagementConsole ShaderManagementConsoleWindow::ShaderManagementConsoleWindow(QWidget* parent /* = 0 */) : AzQtComponents::DockMainWindow(parent) { - m_advancedDockManager = new AzQtComponents::FancyDocking(this); - setWindowTitle("Shader Management Console"); - setObjectName("ShaderManagementConsoleWindow"); + + m_advancedDockManager = new AzQtComponents::FancyDocking(this); + setDockNestingEnabled(true); setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); @@ -50,16 +50,13 @@ namespace ShaderManagementConsole setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); m_menuBar = new QMenuBar(this); - m_menuBar->setObjectName("MenuBar"); setMenuBar(m_menuBar); m_toolBar = new ShaderManagementConsoleToolBar(this); - m_toolBar->setObjectName("ToolBar"); addToolBar(m_toolBar); m_centralWidget = new QWidget(this); m_tabWidget = new AzQtComponents::TabWidget(m_centralWidget); - m_tabWidget->setObjectName("TabWidget"); m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred); m_tabWidget->setContentsMargins(0, 0, 0, 0); @@ -146,7 +143,7 @@ namespace ShaderManagementConsole m_actionUndo->setEnabled(canUndo); m_actionRedo->setEnabled(canRedo); - m_actionSettings->setEnabled(false); + m_actionPreferences->setEnabled(false); m_actionAssetBrowser->setEnabled(true); m_actionPythonTerminal->setEnabled(true); @@ -266,9 +263,9 @@ namespace ShaderManagementConsole m_menuEdit->addSeparator(); - m_actionSettings = m_menuEdit->addAction("&Preferences...", [this]() { + m_actionPreferences = m_menuEdit->addAction("&Preferences...", [this]() { }, QKeySequence::Preferences); - m_actionSettings->setEnabled(false); + m_actionPreferences->setEnabled(false); m_menuView = m_menuBar->addMenu("&View"); @@ -474,6 +471,23 @@ namespace ShaderManagementConsole } } + void ShaderManagementConsoleWindow::SelectPreviousTab() + { + if (m_tabWidget->count() > 1) + { + // Adding count to wrap around when index <= 0 + m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + m_tabWidget->count() - 1) % m_tabWidget->count()); + } + } + + void ShaderManagementConsoleWindow::SelectNextTab() + { + if (m_tabWidget->count() > 1) + { + m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); + } + } + void ShaderManagementConsoleWindow::SelectDocumentForTab(const int tabIndex) { const AZ::Uuid documentId = GetDocumentIdFromTab(tabIndex); @@ -554,23 +568,6 @@ namespace ShaderManagementConsole } } } - - void ShaderManagementConsoleWindow::SelectPreviousTab() - { - if (m_tabWidget->count() > 1) - { - // Adding count to wrap around when index <= 0 - m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + m_tabWidget->count() - 1) % m_tabWidget->count()); - } - } - - void ShaderManagementConsoleWindow::SelectNextTab() - { - if (m_tabWidget->count() > 1) - { - m_tabWidget->setCurrentIndex((m_tabWidget->currentIndex() + 1) % m_tabWidget->count()); - } - } } // namespace ShaderManagementConsole #include diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h index f35000ce26..0f8824f809 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.h @@ -60,8 +60,8 @@ namespace ShaderManagementConsole void OnDocumentSaved(const AZ::Uuid& documentId) override; void SetupMenu(); - void SetupTabs(); + void SetupTabs(); void AddTabForDocumentId(const AZ::Uuid& documentId); void RemoveTabForDocumentId(const AZ::Uuid& documentId); void UpdateTabForDocumentId(const AZ::Uuid& documentId); @@ -105,7 +105,7 @@ namespace ShaderManagementConsole QMenu* m_menuEdit = {}; QAction* m_actionUndo = {}; QAction* m_actionRedo = {}; - QAction* m_actionSettings = {}; + QAction* m_actionPreferences = {}; QMenu* m_menuView = {}; QAction* m_actionAssetBrowser = {}; From 0ffd151da69636c8577c5c15e427407a9e52afc2 Mon Sep 17 00:00:00 2001 From: Dayo Lawal Date: Mon, 19 Jul 2021 12:40:38 -0500 Subject: [PATCH 29/29] Removing name setting in main.cpp for Atom tools Signed-off-by: Dayo Lawal --- Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp | 4 ---- Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp | 4 ---- 2 files changed, 8 deletions(-) diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp index 2693101ebf..af14d3555d 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/main.cpp @@ -24,10 +24,6 @@ int main(int argc, char** argv) { - QApplication::setOrganizationName("O3DE"); - QApplication::setOrganizationDomain("o3de.org"); - QApplication::setApplicationName("O3DE Material Editor"); - AzQtComponents::AzQtApplication::InitializeDpiScaling(); MaterialEditor::MaterialEditorApplication app(&argc, &argv); diff --git a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp index 4ff38ac73f..8989a397e7 100644 --- a/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp +++ b/Gems/Atom/Tools/ShaderManagementConsole/Code/Source/main.cpp @@ -24,10 +24,6 @@ int main(int argc, char** argv) { - QApplication::setOrganizationName("O3DE"); - QApplication::setOrganizationDomain("o3de.com"); - QApplication::setApplicationName("O3DE Shader Management Console"); - AzQtComponents::AzQtApplication::InitializeDpiScaling(); ShaderManagementConsole::ShaderManagementConsoleApplication app(&argc, &argv);