Merge lp:~gerboland/qtmir/remove-legacy-notification-support into lp:qtmir

Proposed by Gerry Boland
Status: Merged
Approved by: Daniel d'Andrada
Approved revision: 324
Merged at revision: 330
Proposed branch: lp:~gerboland/qtmir/remove-legacy-notification-support
Merge into: lp:qtmir
Diff against target: 205 lines (+19/-53)
8 files modified
src/modules/Unity/Application/mirsurfaceitem.cpp (+2/-2)
src/modules/Unity/Application/mirsurfaceitem.h (+1/-1)
src/modules/Unity/Application/mirsurfacemanager.cpp (+0/-22)
src/modules/Unity/Application/mirsurfacemanager.h (+0/-3)
src/platforms/mirserver/mirshell.cpp (+0/-12)
src/platforms/mirserver/mirshell.h (+0/-9)
src/platforms/mirserver/surfaceobserver.cpp (+12/-2)
src/platforms/mirserver/surfaceobserver.h (+4/-2)
To merge this branch: bzr merge lp:~gerboland/qtmir/remove-legacy-notification-support
Reviewer Review Type Date Requested Status
Daniel d'Andrada (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Michael Zanetti Pending
Review via email: mp+252551@code.launchpad.net

Commit message

Remove legacy surface configuration change code, use newer SurfaceObserver

Description of the change

Remove legacy surface configuration change code, use newer SurfaceObserver

* Are there any related MPs required for this MP to build/function as expected? Please list.
N
 * Did you perform an exploratory manual test run of your code change and any related functionality?
Y
 * If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes

* Did CI run pass? If not, please explain why.
Yes

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/modules/Unity/Application/mirsurfaceitem.cpp'
--- src/modules/Unity/Application/mirsurfaceitem.cpp 2015-02-20 10:08:31 +0000
+++ src/modules/Unity/Application/mirsurfaceitem.cpp 2015-03-11 10:13:19 +0000
@@ -255,6 +255,7 @@
255 m_surfaceObserver = observer;255 m_surfaceObserver = observer;
256 if (observer) {256 if (observer) {
257 connect(observer.get(), &SurfaceObserver::framesPosted, this, &MirSurfaceItem::surfaceDamaged);257 connect(observer.get(), &SurfaceObserver::framesPosted, this, &MirSurfaceItem::surfaceDamaged);
258 connect(observer.get(), &SurfaceObserver::attributeChanged, this, &MirSurfaceItem::onAttributeChanged);
258 observer->setListener(this);259 observer->setListener(this);
259 }260 }
260261
@@ -692,8 +693,7 @@
692 }693 }
693}694}
694695
695// Called by MirSurfaceItemManager upon a msh::Surface attribute change696void MirSurfaceItem::onAttributeChanged(const MirSurfaceAttrib attribute, const int /*value*/)
696void MirSurfaceItem::setAttribute(const MirSurfaceAttrib attribute, const int /*value*/)
697{697{
698 switch (attribute) {698 switch (attribute) {
699 case mir_surface_attrib_type:699 case mir_surface_attrib_type:
700700
=== modified file 'src/modules/Unity/Application/mirsurfaceitem.h'
--- src/modules/Unity/Application/mirsurfaceitem.h 2015-02-06 09:47:21 +0000
+++ src/modules/Unity/Application/mirsurfaceitem.h 2015-03-11 10:13:19 +0000
@@ -144,6 +144,7 @@
144 void updateMirSurfaceSize();144 void updateMirSurfaceSize();
145145
146 void updateMirSurfaceFocus(bool focused);146 void updateMirSurfaceFocus(bool focused);
147 void onAttributeChanged(const MirSurfaceAttrib, const int);
147148
148private:149private:
149 bool updateTexture();150 bool updateTexture();
@@ -154,7 +155,6 @@
154 void setLive(const bool);155 void setLive(const bool);
155156
156 // called by MirSurfaceManager157 // called by MirSurfaceManager
157 void setAttribute(const MirSurfaceAttrib, const int);
158 void setSurfaceValid(const bool);158 void setSurfaceValid(const bool);
159159
160 bool hasTouchInsideUbuntuKeyboard(const QList<QTouchEvent::TouchPoint> &touchPoints);160 bool hasTouchInsideUbuntuKeyboard(const QList<QTouchEvent::TouchPoint> &touchPoints);
161161
=== modified file 'src/modules/Unity/Application/mirsurfacemanager.cpp'
--- src/modules/Unity/Application/mirsurfacemanager.cpp 2015-02-06 09:47:21 +0000
+++ src/modules/Unity/Application/mirsurfacemanager.cpp 2015-03-11 10:13:19 +0000
@@ -51,12 +51,6 @@
51 manager, &MirSurfaceManager::onSessionDestroyingSurface);51 manager, &MirSurfaceManager::onSessionDestroyingSurface);
52}52}
5353
54void connectToShell(MirSurfaceManager *manager, MirShell *shell)
55{
56 QObject::connect(shell, &MirShell::surfaceAttributeChanged,
57 manager, &MirSurfaceManager::onSurfaceAttributeChanged);
58}
59
60MirSurfaceManager* MirSurfaceManager::singleton()54MirSurfaceManager* MirSurfaceManager::singleton()
61{55{
62 if (!the_surface_manager) {56 if (!the_surface_manager) {
@@ -75,7 +69,6 @@
75 the_surface_manager = new MirSurfaceManager(nativeInterface->m_mirServer, shell, SessionManager::singleton());69 the_surface_manager = new MirSurfaceManager(nativeInterface->m_mirServer, shell, SessionManager::singleton());
7670
77 connectToSessionListener(the_surface_manager, sessionListener);71 connectToSessionListener(the_surface_manager, sessionListener);
78 connectToShell(the_surface_manager, shell);
79 }72 }
80 return the_surface_manager;73 return the_surface_manager;
81}74}
@@ -167,19 +160,4 @@
167 Q_EMIT surfaceDestroyed(item);160 Q_EMIT surfaceDestroyed(item);
168}161}
169162
170// NB: Surface might be a dangling pointer here, so refrain from dereferencing it.
171void MirSurfaceManager::onSurfaceAttributeChanged(const ms::Surface *surface,
172 const MirSurfaceAttrib attribute, const int value)
173{
174 qCDebug(QTMIR_SURFACES) << "MirSurfaceManager::onSurfaceAttributeChanged - surface=" << surface
175 << qPrintable(mirSurfaceAttribAndValueToString(attribute, value));
176
177 QMutexLocker lock(&m_mutex);
178 auto it = m_mirSurfaceToItemHash.find(surface);
179 if (it != m_mirSurfaceToItemHash.end()) {
180 it.value()->setAttribute(attribute, value);
181 }
182}
183
184
185} // namespace qtmir163} // namespace qtmir
186164
=== modified file 'src/modules/Unity/Application/mirsurfacemanager.h'
--- src/modules/Unity/Application/mirsurfacemanager.h 2015-02-06 09:47:21 +0000
+++ src/modules/Unity/Application/mirsurfacemanager.h 2015-03-11 10:13:19 +0000
@@ -73,10 +73,7 @@
73 void onSessionCreatedSurface(const mir::scene::Session *, const std::shared_ptr<mir::scene::Surface> &, std::shared_ptr<SurfaceObserver> const&);73 void onSessionCreatedSurface(const mir::scene::Session *, const std::shared_ptr<mir::scene::Surface> &, std::shared_ptr<SurfaceObserver> const&);
74 void onSessionDestroyingSurface(const mir::scene::Session *, const std::shared_ptr<mir::scene::Surface> &);74 void onSessionDestroyingSurface(const mir::scene::Session *, const std::shared_ptr<mir::scene::Surface> &);
7575
76 void onSurfaceAttributeChanged(const mir::scene::Surface *, MirSurfaceAttrib, int);
77
78protected:76protected:
79
80 QHash<const mir::scene::Surface *, MirSurfaceItem *> m_mirSurfaceToItemHash;77 QHash<const mir::scene::Surface *, MirSurfaceItem *> m_mirSurfaceToItemHash;
81 QMutex m_mutex;78 QMutex m_mutex;
8279
8380
=== modified file 'src/platforms/mirserver/mirshell.cpp'
--- src/platforms/mirserver/mirshell.cpp 2015-02-04 17:17:53 +0000
+++ src/platforms/mirserver/mirshell.cpp 2015-03-11 10:13:19 +0000
@@ -61,15 +61,3 @@
6161
62 return AbstractShell::create_surface(session, placedParameters);62 return AbstractShell::create_surface(session, placedParameters);
63}63}
64
65int MirShell::set_surface_attribute(
66 const std::shared_ptr<mir::scene::Session> &session,
67 const std::shared_ptr<mir::scene::Surface> &surface,
68 MirSurfaceAttrib attrib,
69 int value)
70{
71 auto const result = AbstractShell::set_surface_attribute(session, surface, attrib, value);
72 Q_EMIT surfaceAttributeChanged(surface.get(), attrib, result);
73
74 return result;
75}
7664
=== modified file 'src/platforms/mirserver/mirshell.h'
--- src/platforms/mirserver/mirshell.h 2015-02-04 17:17:53 +0000
+++ src/platforms/mirserver/mirshell.h 2015-03-11 10:13:19 +0000
@@ -40,15 +40,6 @@
4040
41 virtual mir::frontend::SurfaceId create_surface(const std::shared_ptr<mir::scene::Session>& session, const mir::scene::SurfaceCreationParameters &params);41 virtual mir::frontend::SurfaceId create_surface(const std::shared_ptr<mir::scene::Session>& session, const mir::scene::SurfaceCreationParameters &params);
4242
43 int set_surface_attribute(
44 const std::shared_ptr<mir::scene::Session> &session,
45 const std::shared_ptr<mir::scene::Surface> &surface,
46 MirSurfaceAttrib attrib,
47 int value) override;
48
49Q_SIGNALS:
50 void surfaceAttributeChanged(mir::scene::Surface const*, const MirSurfaceAttrib, const int);
51
52private:43private:
53 std::shared_ptr<mir::shell::DisplayLayout> const m_displayLayout;44 std::shared_ptr<mir::shell::DisplayLayout> const m_displayLayout;
54};45};
5546
=== modified file 'src/platforms/mirserver/surfaceobserver.cpp'
--- src/platforms/mirserver/surfaceobserver.cpp 2014-12-16 14:30:47 +0000
+++ src/platforms/mirserver/surfaceobserver.cpp 2015-03-11 10:13:19 +0000
@@ -24,16 +24,26 @@
24{24{
25}25}
2626
27void SurfaceObserver::setListener(QObject *listener) {27void SurfaceObserver::setListener(QObject *listener)
28{
28 m_listener = listener;29 m_listener = listener;
29 if (m_framesPosted) {30 if (m_framesPosted) {
30 Q_EMIT framesPosted();31 Q_EMIT framesPosted();
31 }32 }
32}33}
3334
34void SurfaceObserver::frame_posted(int /*frames_available*/) {35void SurfaceObserver::frame_posted(int /*frames_available*/)
36{
35 m_framesPosted = true;37 m_framesPosted = true;
36 if (m_listener) {38 if (m_listener) {
37 Q_EMIT framesPosted();39 Q_EMIT framesPosted();
38 }40 }
39}41}
42
43void SurfaceObserver::attrib_changed(MirSurfaceAttrib attribute, int value)
44{
45 if (m_listener) {
46 Q_EMIT attributeChanged(attribute, value);
47 }
48}
49
4050
=== modified file 'src/platforms/mirserver/surfaceobserver.h'
--- src/platforms/mirserver/surfaceobserver.h 2015-01-14 08:24:29 +0000
+++ src/platforms/mirserver/surfaceobserver.h 2015-03-11 10:13:19 +0000
@@ -20,7 +20,8 @@
20#include <QObject>20#include <QObject>
21#include <mir/scene/surface_observer.h>21#include <mir/scene/surface_observer.h>
2222
23class SurfaceObserver : public QObject, public mir::scene::SurfaceObserver {23class SurfaceObserver : public QObject, public mir::scene::SurfaceObserver
24{
24 Q_OBJECT25 Q_OBJECT
2526
26public:27public:
@@ -28,7 +29,7 @@
2829
29 void setListener(QObject *listener);30 void setListener(QObject *listener);
3031
31 void attrib_changed(MirSurfaceAttrib, int) override {}32 void attrib_changed(MirSurfaceAttrib, int) override;
32 void resized_to(mir::geometry::Size const&) override {}33 void resized_to(mir::geometry::Size const&) override {}
33 void moved_to(mir::geometry::Point const&) override {}34 void moved_to(mir::geometry::Point const&) override {}
34 void hidden_set_to(bool) override {}35 void hidden_set_to(bool) override {}
@@ -44,6 +45,7 @@
44 void client_surface_close_requested() override {}45 void client_surface_close_requested() override {}
4546
46Q_SIGNALS:47Q_SIGNALS:
48 void attributeChanged(const MirSurfaceAttrib attribute, const int value);
47 void framesPosted();49 void framesPosted();
4850
49private:51private:

Subscribers

People subscribed via source and target branches