Merge lp://staging/~nick-dedekind/qtmir/multiwindow.screenwindow into lp://staging/qtmir

Proposed by Nick Dedekind
Status: Needs review
Proposed branch: lp://staging/~nick-dedekind/qtmir/multiwindow.screenwindow
Merge into: lp://staging/qtmir
Prerequisite: lp://staging/~nick-dedekind/qtmir/multiwindow.textures
Diff against target: 2727 lines (+752/-737)
39 files modified
debian/changelog (+3/-2)
debian/control (+1/-1)
debian/gles-patches/convert-to-gles.patch (+7/-7)
src/modules/Unity/Screens/plugin.cpp (+11/-1)
src/modules/Unity/Screens/qquickscreenwindow.cpp (+9/-152)
src/modules/Unity/Screens/qquickscreenwindow.h (+5/-23)
src/modules/Unity/Screens/screens.cpp (+7/-28)
src/modules/Unity/Screens/screens.h (+1/-7)
src/platforms/mirserver/CMakeLists.txt (+2/-2)
src/platforms/mirserver/cursor.cpp (+149/-135)
src/platforms/mirserver/cursor.h (+5/-15)
src/platforms/mirserver/customscreenconfiguration.h (+1/-1)
src/platforms/mirserver/miropenglcontext.cpp (+3/-3)
src/platforms/mirserver/miropenglcontext.h (+2/-2)
src/platforms/mirserver/mirserverintegration.cpp (+15/-16)
src/platforms/mirserver/mirserverintegration.h (+2/-0)
src/platforms/mirserver/nativeinterface.cpp (+1/-46)
src/platforms/mirserver/nativeinterface.h (+0/-3)
src/platforms/mirserver/platformscreen.cpp (+154/-69)
src/platforms/mirserver/platformscreen.h (+45/-14)
src/platforms/mirserver/qmirserver.cpp (+2/-0)
src/platforms/mirserver/qmirserver_p.cpp (+0/-2)
src/platforms/mirserver/qmirserver_p.h (+2/-0)
src/platforms/mirserver/qteventfeeder.cpp (+64/-51)
src/platforms/mirserver/qteventfeeder.h (+6/-6)
src/platforms/mirserver/screenplatformwindow.cpp (+141/-59)
src/platforms/mirserver/screenplatformwindow.h (+24/-7)
src/platforms/mirserver/screenscontroller.cpp (+2/-2)
src/platforms/mirserver/screensmodel.cpp (+60/-57)
src/platforms/mirserver/screensmodel.h (+8/-8)
src/platforms/mirserver/screentypes.h (+2/-0)
src/platforms/mirserver/wrappedwindowmanagementpolicy.h (+0/-1)
tests/mirserver/QtEventFeeder/CMakeLists.txt (+1/-0)
tests/mirserver/QtEventFeeder/mock_qtwindowsystem.h (+1/-1)
tests/mirserver/QtEventFeeder/qteventfeeder_test.cpp (+1/-1)
tests/mirserver/Screen/screen_test.cpp (+6/-6)
tests/mirserver/ScreensModel/screensmodel_test.cpp (+4/-4)
tests/mirserver/ScreensModel/stub_screen.h (+4/-4)
tests/mirserver/ScreensModel/testable_screensmodel.h (+1/-1)
To merge this branch: bzr merge lp://staging/~nick-dedekind/qtmir/multiwindow.screenwindow
Reviewer Review Type Date Requested Status
Unity8 CI Bot (community) continuous-integration Needs Fixing
Gerry Boland (community) Needs Information
Review via email: mp+316547@code.staging.launchpad.net

Commit message

Multiple screen window support for in qml.

Description of the change

Prereq-archive: ppa:ci-train-ppa-service/ubuntu/2373

To post a comment you must log in.
Revision history for this message
Gerry Boland (gerboland) wrote :

/me not sure why PlatformScreen better name than just Screen.

This also allows multiple windows to be associated with each screen, where before a single window (i.e. compositor) had a single screen. What does this mean now? If a screen has 2 windows, what one is rendered?

Or is it just an intermediary state while Qt is adjusting to a screen being removed?

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

Having PlatformScreen emitting signals that ScreenPlatformWindow listens to is not a bad idea. I've tended to avoid that approach as it's not really how the API suggests to be used (instead it expects the Screen to be removed and a new one added with the updated state), but if it works, it works.

You have to take a little care with the signal emission, as I believe PlatformScreen::setMirDisplayConfiguration is called on the Qt thread, so the signals are connected to directly by QML, but the handle*Changed are always handled async. Probably not a big deal.

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

> /me not sure why PlatformScreen better name than just Screen.
>
> This also allows multiple windows to be associated with each screen, where
> before a single window (i.e. compositor) had a single screen. What does this
> mean now? If a screen has 2 windows, what one is rendered?
>
> Or is it just an intermediary state while Qt is adjusting to a screen being
> removed?

It's just intermediary, but for adding screens.
When we first create a Window for a new screen from the model it gets created on the qGuiApp::primaryScreen (by Qt). We then update it to the second screen from the qml binding.

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
603. By Nick Dedekind

merged parent

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
604. By Nick Dedekind

merged with parent

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
605. By Nick Dedekind

merge with parent

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
606. By Nick Dedekind

use setCustomCursor

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
607. By Nick Dedekind

merged with parent

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
608. By Nick Dedekind

meged with parent

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
609. By Nick Dedekind

merged parent

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
610. By Nick Dedekind

merged pre-req

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
611. By Nick Dedekind

merged pre-req

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
612. By Nick Dedekind

merged pre-req

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
613. By Nick Dedekind

changelog

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

Unmerged revisions

613. By Nick Dedekind

changelog

612. By Nick Dedekind

merged pre-req

611. By Nick Dedekind

merged pre-req

610. By Nick Dedekind

merged pre-req

609. By Nick Dedekind

merged parent

608. By Nick Dedekind

meged with parent

607. By Nick Dedekind

merged with parent

606. By Nick Dedekind

use setCustomCursor

605. By Nick Dedekind

merge with parent

604. By Nick Dedekind

merged with parent

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