@@ -14,7 +14,7 @@
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1515 */
1616
17−#include "ShellApplication.h"
17+#include "UnityApplication.h"
1818
1919// Qt
2020#include <QLibrary>
@@ -32,34 +32,14 @@
3232#include "CachingNetworkManagerFactory.h"
3333#include "UnityCommandLineParser.h"
3434#include "DebuggingController.h"
35+#include "windowmanagementpolicy.h"
3536
3637#include <QDebug>
3738
38−#include <qtmir/windowmanagementpolicy.h>
3939
40−class WindowManagementPolicy : public qtmir::WindowManagementPolicy
41−{
42−public:
43− WindowManagementPolicy(const miral::WindowManagerTools &tools, qtmir::WindowManagementPolicyPrivate& dd)
44− : qtmir::WindowManagementPolicy(tools, dd)
45− {}
46−
47−// virtual void advise_adding_to_workspace(
48−// std::shared_ptr<miral::Workspace> const& workspace,
49−// std::vector<miral::Window> const& windows) override
50−// {
51−// }
52−
53−// virtual void advise_removing_from_workspace(
54−// std::shared_ptr<miral::Workspace> const& workspace,
55−// std::vector<miral::Window> const& windows) override
56−// {
57−// }
58−};
59−
60−
61−ShellApplication::ShellApplication(int & argc, char ** argv)
62− : qtmir::MirServerApplication(argc, argv, {})
40+
41+UnityApplication::UnityApplication(int & argc, char ** argv)
42+ : qtmir::MirServerApplication(argc, argv, { qtmir::SetWindowManagementPolicy<WindowManagementPolicy>() })
6343 , m_qmlArgs(this)
6444{
6545 setApplicationName(QStringLiteral("unity8"));
@@ -103,7 +83,7 @@ ShellApplication::ShellApplication(int & argc, char ** argv)
10383 pxpgu = 8;
10484 }
10585 m_qmlEngine->rootContext()->setContextProperty("internalGu", pxpgu);
106− m_qmlEngine->load(::qmlDirectory() + "/ShellApplication.qml");
86+ m_qmlEngine->load(m_qmlArgs.qmlfie());
10787
10888 #ifdef UNITY8_ENABLE_TOUCH_EMULATION
10989 // 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)
120100 }
121101}
122102
123−ShellApplication::~ShellApplication()
103+UnityApplication::~UnityApplication()
124104{
125105 destroyResources();
126106}
127107
128−void ShellApplication::destroyResources()
108+void UnityApplication::destroyResources()
129109{
130110 #ifdef UNITY8_ENABLE_TOUCH_EMULATION
131111 delete m_mouseTouchAdaptor;
@@ -136,7 +116,7 @@ void ShellApplication::destroyResources()
136116 m_qmlEngine = nullptr;
137117}
138118
139−void ShellApplication::setupQmlEngine()
119+void UnityApplication::setupQmlEngine()
140120{
141121 m_qmlEngine = new QQmlApplicationEngine(this);
142122