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