@@ -14,7 +14,7 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17−#include "ShellApplication.h"
17+#include "UnityApplication.h"
20#include <QLibrary>
20#include <QLibrary>
@@ -32,34 +32,14 @@
32#include "CachingNetworkManagerFactory.h"
32#include "CachingNetworkManagerFactory.h"
33#include "UnityCommandLineParser.h"
33#include "UnityCommandLineParser.h"
34#include "DebuggingController.h"
34#include "DebuggingController.h"
35+#include "windowmanagementpolicy.h"
36#include <QDebug>
37#include <QDebug>
38−#include <qtmir/windowmanagementpolicy.h>
40−class WindowManagementPolicy : public qtmir::WindowManagementPolicy
40+
41−{
41+UnityApplication::UnityApplication(int & argc, char ** argv)
43− WindowManagementPolicy(const miral::WindowManagerTools &tools, qtmir::WindowManagementPolicyPrivate& dd)
44− : qtmir::WindowManagementPolicy(tools, dd)
47−// virtual void advise_adding_to_workspace(
48−// std::shared_ptr<miral::Workspace> const& workspace,
49−// std::vector<miral::Window> const& windows) override
53−// virtual void advise_removing_from_workspace(
54−// std::shared_ptr<miral::Workspace> const& workspace,
55−// std::vector<miral::Window> const& windows) override
61−ShellApplication::ShellApplication(int & argc, char ** argv)
62− : qtmir::MirServerApplication(argc, argv, {})
42+ : qtmir::MirServerApplication(argc, argv, { qtmir::SetWindowManagementPolicy<WindowManagementPolicy>() })
63 , m_qmlArgs(this)
43 , m_qmlArgs(this)
65 setApplicationName(QStringLiteral("unity8"));
45 setApplicationName(QStringLiteral("unity8"));
@@ -103,7 +83,7 @@ ShellApplication::ShellApplication(int & argc, char ** argv)
103 pxpgu = 8;
83 pxpgu = 8;
105 m_qmlEngine->rootContext()->setContextProperty("internalGu", pxpgu);
85 m_qmlEngine->rootContext()->setContextProperty("internalGu", pxpgu);
106− m_qmlEngine->load(::qmlDirectory() + "/ShellApplication.qml");
86+ m_qmlEngine->load(m_qmlArgs.qmlfie());
108 #ifdef UNITY8_ENABLE_TOUCH_EMULATION
88 #ifdef UNITY8_ENABLE_TOUCH_EMULATION
109 // You will need this if you want to interact with touch-only components using a mouse
89 // You will need this if you want to interact with touch-only components using a mouse
@@ -120,12 +100,12 @@ ShellApplication::ShellApplication(int & argc, char ** argv)
123−ShellApplication::~ShellApplication()
103+UnityApplication::~UnityApplication()
125 destroyResources();
105 destroyResources();
128−void ShellApplication::destroyResources()
108+void UnityApplication::destroyResources()
130 #ifdef UNITY8_ENABLE_TOUCH_EMULATION
110 #ifdef UNITY8_ENABLE_TOUCH_EMULATION
131 delete m_mouseTouchAdaptor;
111 delete m_mouseTouchAdaptor;
@@ -136,7 +116,7 @@ void ShellApplication::destroyResources()
136 m_qmlEngine = nullptr;
116 m_qmlEngine = nullptr;
139−void ShellApplication::setupQmlEngine()
119+void UnityApplication::setupQmlEngine()
141 m_qmlEngine = new QQmlApplicationEngine(this);
121 m_qmlEngine = new QQmlApplicationEngine(this);