[Desktop View] Place Plasma sidebars at the right screen edge in right-to-left mode
ClosedPublic

Authored by broulik on Aug 22 2016, 7:09 PM.

Details

Summary

Also enable LayoutMirroring on the dialog itself, so Widget Explorer is mirrored and its close button to the left.

Test Plan

As suggested by Safa Alfulaij as a native speaker.

I did not test with multi-screen and cleaned up the positioning code there but maybe we still need this crude onVisibleChanged hack with QWindow trying to be smart. David?

Diff Detail

Repository
R119 Plasma Desktop
Lint
Lint Skipped
Unit
Unit Tests Skipped
broulik updated this revision to Diff 6154.Aug 22 2016, 7:09 PM
broulik retitled this revision from to [Desktop View] Place Plasma sidebars at the right screen edge in right-to-left mode.
broulik updated this object.
broulik edited the test plan for this revision. (Show Details)
broulik added reviewers: Plasma, safaalfulaij.
broulik set the repository for this revision to R119 Plasma Desktop.
Restricted Application added a project: Plasma. · View Herald TranscriptAug 22 2016, 7:09 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
mart added a subscriber: mart.Aug 22 2016, 7:19 PM

do you plan to move alt+tab as well? they should stay coherent

We don't need my workaround

I fixed it in Qt (like a true hero) as well as doing the workaround. 71df75966db5f51c66bff1c436dd1cb5a895b51b
It's in Qt 5.6.0

I should have documented that better.

@mart Yes, I intend to do the same for the default tabbox.

Dialog has it's own positioning and sizing code.

The top line of change makes sense...(and for the same reason the killing onAvailableScreenRectChanged change makes sense, but the bindings for x,y, width and height don't...they'll just be overriden - they can't be doing anything?

The height of the dialog updates just fine (it's on the mainItem and not dialog itself) with the binding but indeed the X and Y binding just break at some point.

broulik updated this revision to Diff 6417.Sep 4 2016, 11:01 AM

Fix bindings and cleanup a bit

davidedmundson requested changes to this revision.Sep 9 2016, 11:22 AM
davidedmundson added a reviewer: davidedmundson.
davidedmundson added inline comments.
desktoppackage/contents/views/Desktop.qml
139 ↗(On Diff #6417)

// PlasmaCore.Dialog has its own positioning logic

So any fixes to x/y need to go there, not adding a second system competing.

This revision now requires changes to proceed.Sep 9 2016, 11:22 AM

I was wrong on both counts.

(Sorry!)

dialog.cpp only adjusts position if visualParent is set.
visualParent is not set, so x and y are in fact only set by this app.

you can set them, and you can set them normally.

the location property is effectively unused, and can be just deleted.

broulik updated this revision to Diff 6594.Sep 9 2016, 12:51 PM
broulik edited edge metadata.

Bind to X/Y directly

davidedmundson accepted this revision.Sep 9 2016, 1:08 PM
davidedmundson edited edge metadata.
This revision is now accepted and ready to land.Sep 9 2016, 1:08 PM
This revision was automatically updated to reflect the committed changes.