Merge lp://qastaging/~unity-team/qtmir/shell_chrome into lp://qastaging/qtmir

Proposed by Michał Sawicz
Status: Merged
Approved by: Gerry Boland
Approved revision: 450
Merged at revision: 464
Proposed branch: lp://qastaging/~unity-team/qtmir/shell_chrome
Merge into: lp://qastaging/qtmir
Prerequisite: lp://qastaging/~mzanetti/qtmir/surfacemanager-getters
Diff against target: 1146 lines (+196/-124)
29 files modified
CMakeLists.txt (+1/-1)
debian/changelog (+7/-0)
debian/control (+2/-2)
src/modules/Unity/Application/application.cpp (+2/-1)
src/modules/Unity/Application/application.h (+1/-3)
src/modules/Unity/Application/application_manager.cpp (+3/-14)
src/modules/Unity/Application/application_manager.h (+1/-11)
src/modules/Unity/Application/mirsurface.cpp (+26/-7)
src/modules/Unity/Application/mirsurface.h (+6/-3)
src/modules/Unity/Application/mirsurfaceinterface.h (+2/-0)
src/modules/Unity/Application/mirsurfaceitem.cpp (+6/-0)
src/modules/Unity/Application/mirsurfaceitem.h (+1/-0)
src/modules/Unity/Application/mirsurfacemanager.cpp (+5/-6)
src/modules/Unity/Application/mirsurfacemanager.h (+2/-2)
src/modules/Unity/Application/session.cpp (+3/-1)
src/platforms/mirserver/CMakeLists.txt (+1/-1)
src/platforms/mirserver/creationhints.cpp (+28/-5)
src/platforms/mirserver/creationhints.h (+11/-7)
src/platforms/mirserver/mirwindowmanager.cpp (+6/-7)
src/platforms/mirserver/sessionlistener.cpp (+5/-5)
src/platforms/mirserver/sessionlistener.h (+4/-4)
src/platforms/mirserver/surfaceobserver.cpp (+6/-2)
src/platforms/mirserver/surfaceobserver.h (+2/-1)
tests/framework/fake_mirsurface.h (+3/-0)
tests/framework/qtmir_test.cpp (+1/-1)
tests/mirserver/WindowManager/CMakeLists.txt (+2/-0)
tests/mirserver/WindowManager/window_manager.cpp (+26/-5)
tests/modules/ApplicationManager/application_manager_test.cpp (+29/-31)
tests/modules/SurfaceManager/mirsurface_test.cpp (+4/-4)
To merge this branch: bzr merge lp://qastaging/~unity-team/qtmir/shell_chrome
Reviewer Review Type Date Requested Status
Gerry Boland (community) Approve
Unity8 CI Bot (community) continuous-integration Needs Fixing
Lukáš Tinkl (community) Needs Fixing
PS Jenkins bot (community) continuous-integration Needs Fixing
Review via email: mp+286361@code.qastaging.launchpad.net

This proposal supersedes a proposal from 2016-02-17.

Commit message

Add support for low shell chrome.

Description of the change

* Are there any related MPs required for this MP to build/function as expected? Please list.
https://code.launchpad.net/~nick-dedekind/unity-api/shell_chrome/+merge/286309
https://code.launchpad.net/~nick-dedekind/unity8/shell_chrome/+merge/286306
https://code.launchpad.net/~nick-dedekind/qtubuntu/shell_chrome/+merge/286308

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

 * 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
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote :

As I said in the unity-api MP, I don't understand what you mean by "shell chrome" and suspect there might be better terminology.

Am happy to see the ExecFlags stuff going away.

+void MirSurfaceManager::onSurfaceModified(const std::shared_ptr<mir::scene::Surface> & surface,
nitpick - have the & beside the variable name.

In this method, I'm not convinced why mutex needed. This will be called on the GUI thread, since it a slot connected to via a queued connection.

You've a blank line after the if statement here too.

+++ src/modules/Unity/Application/mirsurfacemanager.h
+ const QVariant& value);
nitpick - & beside the var name please.

+++ src/platforms/mirserver/windowmanagerlistener.h
+++ src/platforms/mirserver/mirwindowmanager.h
In both files:
+ void surfaceMofidied(const std::shared_ptr<mir::scene::Surface>& surface,
Type. Plus & beside var name.

review: Needs Fixing
Revision history for this message
Gerry Boland (gerboland) wrote :

+ void surfaceMofidied(const std::shared_ptr<mir::scene::Surface>& surface,
typo

Revision history for this message
Nick Dedekind (nick-dedekind) wrote :

> As I said in the unity-api MP, I don't understand what you mean by "shell
> chrome" and suspect there might be better terminology.
>
> Am happy to see the ExecFlags stuff going away.
>
>
> +void MirSurfaceManager::onSurfaceModified(const
> std::shared_ptr<mir::scene::Surface> & surface,
> nitpick - have the & beside the variable name.

done.

>
> In this method, I'm not convinced why mutex needed. This will be called on the
> GUI thread, since it a slot connected to via a queued connection.

I didn't add the mutex, but it's protecting the "surface to qml surface" hash in other methods, so just doing the same. Either keep, or remove all.

>
> You've a blank line after the if statement here too.
>

Done.

> +++ src/modules/Unity/Application/mirsurfacemanager.h
> + const QVariant& value);
> nitpick - & beside the var name please.
>

Done.

> +++ src/platforms/mirserver/windowmanagerlistener.h

Removed this class. Not used.

> +++ src/platforms/mirserver/mirwindowmanager.h
> In both files:
> + void surfaceMofidied(const std::shared_ptr<mir::scene::Surface>& surface,
> Type. Plus & beside var name.

Done.

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote :

+void MirSurface::setShellChrome(Mir::ShellChrome shellChrome)
I thought this was a hint set by clients only.

review: Needs Information
Revision history for this message
Gerry Boland (gerboland) wrote :

+++ src/modules/Unity/Application/mirsurfaceitem.h
newline added, please remove.

+ if (it != m_mirSurfaceToQmlSurfaceHash.end()) {
+
+ qmlSurface = it.value();
kill the newline please

Revision history for this message
Nick Dedekind (nick-dedekind) wrote :

> +void MirSurface::setShellChrome(Mir::ShellChrome shellChrome)
> I thought this was a hint set by clients only.

Which is why it's not in unity-api; but the value comes through the window manager surface modifications, so I set it from there.

Revision history for this message
Nick Dedekind (nick-dedekind) wrote :

> > +void MirSurface::setShellChrome(Mir::ShellChrome shellChrome)
> > I thought this was a hint set by clients only.
>
> Which is why it's not in unity-api; but the value comes through the window
> manager surface modifications, so I set it from there.

It's updating the surface's internal state, not the server->client.

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote :

> > +void MirSurface::setShellChrome(Mir::ShellChrome shellChrome)
> > I thought this was a hint set by clients only.
>
> Which is why it's not in unity-api; but the value comes through the window
> manager surface modifications, so I set it from there.

It could be a private slot then. I only see it being called in mirsurface.cpp

Revision history for this message
Gerry Boland (gerboland) wrote :

Rest looks reasonable

Revision history for this message
Nick Dedekind (nick-dedekind) wrote :

> > > +void MirSurface::setShellChrome(Mir::ShellChrome shellChrome)
> > > I thought this was a hint set by clients only.
> >
> > Which is why it's not in unity-api; but the value comes through the window
> > manager surface modifications, so I set it from there.
>
> It could be a private slot then. I only see it being called in mirsurface.cpp

Yeah, I changed it to private slot. It was previously being called from MirSurfaceManager directly, but now it's using the surface observer in the same way as the min/max size hints are coming through.

Revision history for this message
Gerry Boland (gerboland) wrote :

Cool, thanks for that

449. By Michał Sawicz

Bump application API version

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

Merge trunk please, I'm getting conflicts in lp:~unity-team/qtmir/kbdLayout

review: Needs Fixing
450. By Lukáš Tinkl

merge trunk

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote :

Code reasonable. I tested the same code earlier and it was good

review: Approve
451. By Nick Dedekind

fixed initial low chrome value

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches