Merge lp:~dandrader/qtmir/supportedOrientations into lp:qtmir
| Status: | Merged |
|---|---|
| Approved by: | Gerry Boland on 2015-04-16 |
| Approved revision: | 303 |
| Merged at revision: | 340 |
| Proposed branch: | lp:~dandrader/qtmir/supportedOrientations |
| Merge into: | lp:qtmir |
| Diff against target: |
594 lines (+238/-94) 12 files modified
CMakeLists.txt (+3/-1) debian/changelog (+6/-0) debian/control (+2/-2) src/modules/Unity/Application/CMakeLists.txt (+0/-1) src/modules/Unity/Application/application.cpp (+9/-7) src/modules/Unity/Application/application.h (+4/-15) src/modules/Unity/Application/application_manager.cpp (+0/-34) src/modules/Unity/Application/desktopfilereader.cpp (+96/-0) src/modules/Unity/Application/desktopfilereader.h (+5/-0) src/modules/Unity/Application/mirsurfaceitem.cpp (+22/-29) src/modules/Unity/Application/mirsurfaceitem.h (+21/-5) tests/modules/DesktopFileReader/desktopfilereader_test.cpp (+70/-0) |
| To merge this branch: | bzr merge lp:~dandrader/qtmir/supportedOrientations |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Michał Sawicz | Approve on 2015-04-16 | ||
| Gerry Boland | 2014-11-19 | Approve on 2015-04-16 | |
| PS Jenkins bot | continuous-integration | Needs Fixing on 2015-04-13 | |
|
Review via email:
|
|||
Commit Message
X-Ubuntu-
With the corresponding ApplicationInfo
ApplicationInfo
MirSurfaceItem was also changed to hold an orientationAngle instead
of an orientation as that maps directly to the corresponding
Mir surface property, making the whole thing easier/simpler.
Description of the Change
* Are there any related MPs required for this MP to build/function as expected? Please list.
https:/
https:/
https:/
https:/
https:/
It's all in this PPA:
https:/
* 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?
Not applicable
| Gerry Boland (gerboland) wrote : | # |
I'm a teeny bit concerned with the name "X-Ubuntu-
s/Window/Surface/ maybe? Or Manage-
+++ debian/changelog
+ * Add X-Ubuntu-
please mention the other desktop file entry and what they mean.
+ bool rotatesWindowCo
I'd rather not use term "Window" in qtmir, that's more a shell construct.
+++ src/modules/
+ Qt::ScreenOrien
I'd prefer you set the default here, and if parseOrientations fails, it leaves it untouched.
+ bool result;
Same here.
- Q_PROPERTY(
+
+ // How many degrees, clockwise, the UI in the surface has to rotate to match with the
+ // shell UI orientation
+ Q_PROPERTY(int orientationAngle READ orientationAngle WRITE setOrientationAngle
+ NOTIFY orientationAngl
I dislike the API as what if I call it with angle=30 - a warning is not enough. Would be better to define an enum which actually suits the task.
Looking good otherwise
| Daniel d'Andrada (dandrader) wrote : | # |
On 19/11/14 15:16, Gerry Boland wrote:
> +++ src/modules/
> + Qt::ScreenOrien
> I'd prefer you set the default here, and if parseOrientations fails, it leaves it untouched.
I disagree. The default value is a policy thing, which has nothing to do
with ".desktop" file parsing. Thus I would rather have it at a higher level.
| Gerry Boland (gerboland) wrote : | # |
> On 19/11/14 15:16, Gerry Boland wrote:
> > +++ src/modules/
> > + Qt::ScreenOrien
> > I'd prefer you set the default here, and if parseOrientations fails, it
> leaves it untouched.
> I disagree. The default value is a policy thing, which has nothing to do
> with ".desktop" file parsing. Thus I would rather have it at a higher level.
So you want to advertise to the higher level that the parsing failed? But 0 = Qt::PrimaryOrie
Why not a sensible default of all orientations supported, if the parsing fails? That's our default anyway, no?
| Daniel d'Andrada (dandrader) wrote : | # |
On 20/11/14 11:14, Gerry Boland wrote:
>> On 19/11/14 15:16, Gerry Boland wrote:
>>> +++ src/modules/
>>> + Qt::ScreenOrien
>>> I'd prefer you set the default here, and if parseOrientations fails, it
>> leaves it untouched.
>> I disagree. The default value is a policy thing, which has nothing to do
>> with ".desktop" file parsing. Thus I would rather have it at a higher level.
> So you want to advertise to the higher level that the parsing failed? But 0 = Qt::PrimaryOrie
Yes, to advertise that the desktop entry is either not present or is
invalid. But that won't cut it anymore as I'm thinking we will want to
have "primary" as a valid entry value as well.
>
> Why not a sensible default of all orientations supported, if the parsing fails? That's our default anyway, no?
Now that we will want "primary" as a valid desktop entry value as well,
that seems to be the easiest way to proceed. Otherwise we would have to
return -1 or a separate boolean for informing success/failure.
| Gerry Boland (gerboland) wrote : | # |
> On 20/11/14 11:14, Gerry Boland wrote:
> >> On 19/11/14 15:16, Gerry Boland wrote:
> >>> +++ src/modules/
> >>> + Qt::ScreenOrien
> >>> I'd prefer you set the default here, and if parseOrientations fails, it
> >> leaves it untouched.
> >> I disagree. The default value is a policy thing, which has nothing to do
> >> with ".desktop" file parsing. Thus I would rather have it at a higher
> level.
> > So you want to advertise to the higher level that the parsing failed? But 0
> = Qt::PrimaryOrie
>
> Yes, to advertise that the desktop entry is either not present or is
> invalid. But that won't cut it anymore as I'm thinking we will want to
> have "primary" as a valid entry value as well.
Why?
> > Why not a sensible default of all orientations supported, if the parsing
> fails? That's our default anyway, no?
> Now that we will want "primary" as a valid desktop entry value as well,
> that seems to be the easiest way to proceed. Otherwise we would have to
> return -1 or a separate boolean for informing success/failure.
Which is why I think just using a fallback to all orientations is much easier, than trying to pass an error state up to the shell. I'm not sure what the shell can really do with that error state anyway.
| Daniel d'Andrada (dandrader) wrote : | # |
On 20/11/14 13:04, Gerry Boland wrote:
>>> > > Why not a sensible default of all orientations supported, if the parsing
>> > fails? That's our default anyway, no?
>> > Now that we will want "primary" as a valid desktop entry value as well,
>> > that seems to be the easiest way to proceed. Otherwise we would have to
>> > return -1 or a separate boolean for informing success/failure.
> Which is why I think just using a fallback to all orientations is much easier, than trying to pass an error state up to the shell. I'm not sure what the shell can really do with that error state anyway.
Not up to shell. Up to ApplicationInfo.
| Daniel d'Andrada (dandrader) wrote : | # |
On 20/11/14 13:04, Gerry Boland wrote:
>> Yes, to advertise that the desktop entry is either not present or is
>> > invalid. But that won't cut it anymore as I'm thinking we will want to
>> > have "primary" as a valid entry value as well.
> Why?
>
>
For the Dash desktop entry, for instance. it's landscape in tablets and
portrait in phones. So its supported orientation is "primary".
- 284. By Daniel d'Andrada on 2014-11-24
-
DesktopFileReader: "primary" is also a valid orientation string
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:284
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 285. By Daniel d'Andrada on 2014-11-27
-
Fix default orientations and add a bit of debugging
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:285
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 286. By Daniel d'Andrada on 2014-11-28
-
Merge trunk
[ Alberto Aguirre ]
* No-change rebuild againts mir 0.9.0
[ Ubuntu daily release ]
* New rebuild forced
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:286
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:287
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:288
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
| Gerry Boland (gerboland) wrote : | # |
"No use for ApplicationManager ExecFlags anymore" - this could have been done in a separate MR. Please separate.
My objection to
- Q_PROPERTY(
+
+ // How many degrees, clockwise, the UI in the surface has to rotate to match with the
+ // shell UI orientation
+ Q_PROPERTY(int orientationAngle READ orientationAngle WRITE setOrientationAngle
+ NOTIFY orientationAngl
remains. Using an int to describe 4 states is not good api design IMO. An enum would work better.
- 287. By Daniel d'Andrada on 2014-12-03
-
Remove side stage decision override
- 288. By Daniel d'Andrada on 2014-12-09
-
Make MirsufaceItem:
:orientationAng le use an enum
| Daniel d'Andrada (dandrader) wrote : | # |
> "No use for ApplicationManager ExecFlags anymore" - this could have been done
> in a separate MR. Please separate.
>
> My objection to
> - Q_PROPERTY(
> setOrientation NOTIFY orientationChanged DESIGNABLE false)
> +
> + // How many degrees, clockwise, the UI in the surface has to rotate to match
> with the
> + // shell UI orientation
> + Q_PROPERTY(int orientationAngle READ orientationAngle WRITE
> setOrientationAngle
> + NOTIFY orientationAngl
> remains. Using an int to describe 4 states is not good api design IMO. An enum
> would work better.
All done.
- 289. By Daniel d'Andrada on 2014-12-09
-
declare a metatype for the new enum
- 290. By Daniel d'Andrada on 2014-12-09
-
Merge trunk
[ CI Train Bot ]
* Resync trunk
* Resync trunk
* Resync trunk
* Resync trunk
* Resync trunk
[ Ricardo Salveti de Araujo ]
* qteventfeeder: adding bt and wired headset multimedia keys (LP:
#1398427)
[ Gerry Boland ]
* Port qmake->cmake to enable sbuild usage for crosscompiling.
* Fix build with Qt5.4 (LP: #1394884)
[ Michał Sawicz ]
* Port qmake->cmake to enable sbuild usage for crosscompiling.
[ Robert Carr ]
* Port qmake->cmake to enable sbuild usage for crosscompiling.
[ Alberto Aguirre ]
* Select mirclient backend for platform-api instead of mirserver.
| Gerry Boland (gerboland) wrote : | # |
Code looks good, will test when PPA has all built
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:290
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 291. By Daniel d'Andrada on 2015-01-12
-
Merge trunk
[ Ubuntu daily release ]
* New rebuild forced
[ Nick Dedekind ]
* Notify prompt sessions that sessions have been suspended/resumed.
(LP: #1355173, #1384950)
[ Ubuntu daily release ]
* New rebuild forced
[ Cemil Azizoglu ]
* Rebuild for Mir 0.10.
[ Nick Dedekind ]
* Compatibility for Mir 0.10.0
[ Daniel d'Andrada ]
* Update README and readd option to disable building tests
[ Gerry Boland ]
* Emit SIGSTOP when AppMan fully initialized, when Mir is ready is too
soon (LP: #1394208)
[ Ubuntu daily release ]
* New rebuild forced
[ Alan Griffiths ]
* Migration of qtmir from the legacy Mir API
* Refactor to better reflect the code structure following new-migrate-
to-mir-Server-API
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:291
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 292. By Daniel d'Andrada on 2015-01-15
-
Merge trunk
[ Gerry Boland ]
* Depend on :native version of g++ to allow cross-compiling to work.
(LP: #1353855)
[ Michał Sawicz ]
* Declare the QByteArray in callDispatcher so it doesn't get deleted
before it's copied. (LP: #1408819)
[ Josh Arenson ]
* Assign touch events area to the correct values.
[ Albert Astals ]
* Move the creation of the surface observer to
SessionListener::surface_ created - 293. By Daniel d'Andrada on 2015-01-15
-
Remove :native
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:293
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 294. By Daniel d'Andrada on 2015-01-19
-
Merge trunk
[ Gerry Boland ]
* Add Wakelock support - ensures device drops to deep-sleep mode only
when all AppMan suspend tasks have completed
[ Ricardo Mendoza ]
* Reduce suspend timeout to half of the previous value because the
long value was too apparent on fast paced apps, like web games of
music players; it broke the user experience according to design.
(LP: #1402650)
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:294
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 295. By Daniel d'Andrada on 2015-01-27
-
Don't suspend&resume the main stage app when switching focus from side to main stage
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:295
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 296. By Daniel d'Andrada on 2015-02-11
-
Merge trunk
[ Daniel van Vugt ]
* QtMir changes required to support the Mir branch of the same name.
Landing soon. (LP: #1395581)
[ Alan Griffiths ]
* Port to the msh::Shell API in Mir
[ Robert Carr ]
* Bump build-dep to mir 0.11.
[ Gerry Boland ]
* Explicitly setting GL-mode breaks GTK app rendering. Removing the
hack appears to just work (LP: #1401968)
[ Michał Sawicz ]
* Add moot autopkgtest to run the standard unit tests
[ Albert Astals Cid ]
* Fix demo shell import name
[ Daniel d'Andrada ]
* Don't suspend&resume the main stage app when switching focus from
side to main stage
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:296
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
| Michał Sawicz (saviq) wrote : | # |
Please merge:
https:/
And apply:
http://
Otherwise there's broken dependencies between the packages and the test didn't build.
- 297. By Daniel d'Andrada on 2015-04-10
-
Merge trunk
- 298. By Daniel d'Andrada on 2015-04-10
- 299. By Michał Sawicz on 2015-04-10
-
Saviq's changes
| Daniel d'Andrada (dandrader) wrote : | # |
> Please merge:
> https:/
>
> And apply:
> http://
>
> Otherwise there's broken dependencies between the packages and the test didn't
> build.
Done.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:299
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
| Michał Sawicz (saviq) wrote : | # |
The DesktopFileReader test failed:
[ RUN ] DesktopFileRead
/build/
Value of: boolean
Actual: true
Expected: false
[ FAILED ] DesktopFileRead
qtmir.applications: Loading desktop file "/build/
qtmir.applications: Loading desktop file "/build/
qtmir.applications: Loading desktop file "/build/
qtmir.applications: Desktop file for appId: "calculator" at: "/build/
qtmir.applications: Loading desktop file "/build/
- 300. By Daniel d'Andrada on 2015-04-13
-
Tests also need to be pointed to the location of unity-api headers
- 301. By Daniel d'Andrada on 2015-04-13
-
Fix bug in Saviq's patch
| Daniel d'Andrada (dandrader) wrote : | # |
> The DesktopFileReader test failed:
>
> [ RUN ] DesktopFileRead
> /build/
> er/desktopfiler
> Value of: boolean
> Actual: true
> Expected: false
> [ FAILED ] DesktopFileRead
Fixed. Your patch caused it!
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:301
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 302. By Daniel d'Andrada on 2015-04-16
-
Put g++-4.9:native back
- 303. By Daniel d'Andrada on 2015-04-16
-
Update changelog date & time
| Michał Sawicz (saviq) wrote : | # |
Does this include an option for the app to only support native orientation?
| Michał Sawicz (saviq) wrote : | # |
Ah, *primary*, not native :), as you were.
| Daniel d'Andrada (dandrader) wrote : | # |
On 16/04/15 13:35, Michał Sawicz wrote:
>> > === modified file 'CMakeLists.txt'
>> > --- CMakeLists.txt 2015-03-18 10:12:16 +0000
>> > +++ CMakeLists.txt 2015-04-16 16:26:05 +0000
>> > @@ -79,6 +79,7 @@
>> > pkg_check_
>> > pkg_check_
>> > pkg_check_
>> > +pkg_check_
> This somewhat conflicts with the changes in lp:~saviq/qtmir/fix-application-api-deps...
>
It's needed when unity-api is installed somewhere other than /usr.
This pkg_check_modules call has to be in the root dir otherwise I'll have to repeat it in several test dirs in addition to src dir. Repetition is bad in my book. It gets particularly tedious when you have to bump the API number.
- 304. By Daniel d'Andrada on 2015-05-13
-
Merge trunk
[ Albert Astals Cid ]
* Fix debug line
[ Daniel d'Andrada ]
* When synthesizing touch releases for absent touches, send them in
separate events (LP: #1437357)
[ Gerry Boland ]
* If Mir fails to start, exit the process immediately as nothing else
can be done
* Remove boost dependence, it supplies almost nothing of benefit to
offset its cost
* Remove legacy surface configuration change code, use newer
SurfaceObserver
* Remove useless profiling information, fixes build with Qt5.5 (LP:
#1437181)
[ Michael Zanetti ]
* read exception list from gsettings instead of a hardcoded list
[ Michał Sawicz ]
* Require an application API version, fix the provided version and use
include dir from the .pc file - 305. By Daniel d'Andrada on 2015-05-21
-
Merge trunk
[ Alan Griffiths ]
* Release in step with Mir 0.13.0
[ Daniel van Vugt ]
* Release in step with Mir 0.13.0
[ Gerry Boland ]
* Release in step with Mir 0.13.0 - 306. By Daniel d'Andrada on 2015-05-21
-
One include_
directories( ${APPLICATION_ API_INCLUDE_ DIRS}) to rule them all

FAILED: Continuous integration, rev:283 jenkins. qa.ubuntu. com/job/ qtmir-ci/ 155/ jenkins. qa.ubuntu. com/job/ qtmir-vivid- amd64-ci/ 6/console jenkins. qa.ubuntu. com/job/ qtmir-vivid- armhf-ci/ 6/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/qtmir- ci/155/ rebuild
http://