Bug 340155 - Issues with breeze Qt4 style in the corner widget in right-to-left mode
Summary: Issues with breeze Qt4 style in the corner widget in right-to-left mode
Status: CLOSED FIXED
Alias: None
Product: Breeze
Classification: Plasma
Component: QStyle (other bugs)
Version First Reported In: 5.1.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-20 12:31 UTC by Jarosław Staniek
Modified: 2014-11-24 23:50 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
r-to-l with bugs (15.07 KB, image/png)
2014-10-20 12:32 UTC, Jarosław Staniek
Details
l-to-r without bugs, please compare (16.15 KB, image/png)
2014-10-20 12:32 UTC, Jarosław Staniek
Details
Oxygen demo patched to display resized button and a label (1.43 KB, patch)
2014-10-20 16:27 UTC, Jarosław Staniek
Details
After the changes the corner widget are still properly displayed in normal mode (46.96 KB, image/png)
2014-10-20 16:29 UTC, Jarosław Staniek
Details
After the changes the corner widgets are *not* properly displayed in *reverse* mode (47.21 KB, image/png)
2014-10-20 16:30 UTC, Jarosław Staniek
Details
Confirmed: right-to-left mode in Kexi fixed, thanks! (14.71 KB, image/png)
2014-10-20 23:41 UTC, Jarosław Staniek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jarosław Staniek 2014-10-20 12:31:38 UTC
There are issues with breeze Qt4 style in the corner widget in  right-to-left mode. See the screenshots. Geometry of the entire tab bar isn't computed well, and this causes:
1. invalid offset on the right hand
2. displaying content below the corner widget

Reproducible: Always




Current breeze.git master 0f71e1652543
Comment 1 Jarosław Staniek 2014-10-20 12:32:07 UTC
Created attachment 89212 [details]
r-to-l with bugs
Comment 2 Jarosław Staniek 2014-10-20 12:32:36 UTC
Created attachment 89213 [details]
l-to-r without bugs, please compare
Comment 3 Jarosław Staniek 2014-10-20 12:39:31 UTC
Test the right-to-left mode using {APPNAME} -reverse. It shall work with Kexi 2.7.x and 2.8.x too.
Comment 4 Hugo Pereira Da Costa 2014-10-20 13:08:06 UTC
I cannot reproduce these bugs with oxygen-demo  (second page). Can you ? 
They 'might' well be related to the custom positioning used in Kexi (although I have not double checked)
Comment 5 Jarosław Staniek 2014-10-20 13:23:40 UTC
Cannot reproduce there, may need patching. As with similar issue form yesterday, this may be related to custom sizing of the corner widgets (well, not positioning, I am not customizing positioning, there's no API for that outside of the style).
Comment 6 Hugo Pereira Da Costa 2014-10-20 13:27:58 UTC
(In reply to Jarosław Staniek from comment #5)
> Cannot reproduce there, may need patching. As with similar issue form
> yesterday, this may be related to custom sizing of the corner widgets (well,
> not positioning, I am not customizing positioning, there's no API for that
> outside of the style).

I was thinking rather of the Kexi 'special' tab, (or tabs) and the overal tabbar size handling. (this is custom, right ?)
Comment 7 Hugo Pereira Da Costa 2014-10-20 14:02:59 UTC
investigating a bit, it seems to me that the tabbar is still left aligned even in reverse mode
hence the clash with the (now left) corner widget.
In oxygen-demo at least, in reverse more, the tabbar is right aligned, (as it should be), and things would not conflict.
Comment 8 Jarosław Staniek 2014-10-20 16:27:57 UTC
Created attachment 89218 [details]
Oxygen demo patched to display resized button and a label
Comment 9 Jarosław Staniek 2014-10-20 16:29:26 UTC
Created attachment 89219 [details]
After the changes the corner widget are still properly displayed in normal mode
Comment 10 Jarosław Staniek 2014-10-20 16:30:15 UTC
Created attachment 89221 [details]
After the changes the corner widgets are *not* properly displayed in *reverse* mode
Comment 11 Jarosław Staniek 2014-10-20 16:31:00 UTC
(the patch is against kde-workspace.git, KDE/4.11 branch)
Comment 12 Hugo Pereira Da Costa 2014-10-20 21:54:39 UTC
Git commit 384a42d619f4dd88abe9510153d10ceeff206cb5 by Hugo Pereira Da Costa.
Committed on 20/10/2014 at 21:51.
Pushed by hpereiradacosta into branch 'master'.

properly handle RTL for corner rects and tabbar

M  +6    -14   kstyle/breezestyle.cpp

http://commits.kde.org/breeze/384a42d619f4dd88abe9510153d10ceeff206cb5
Comment 13 Hugo Pereira Da Costa 2014-10-20 22:04:36 UTC
Git commit c9fe3dc7ca789e67b5d4ba10d061037af2602e4a by Hugo Pereira Da Costa.
Committed on 20/10/2014 at 21:51.
Pushed by hpereiradacosta into branch 'Plasma/5.1'.

properly handle RTL for corner rects and tabbar

M  +6    -15   kstyle/breezestyle.cpp

http://commits.kde.org/breeze/c9fe3dc7ca789e67b5d4ba10d061037af2602e4a
Comment 14 Hugo Pereira Da Costa 2014-10-20 22:11:27 UTC
Git commit 2100ca125c961d68e566b53bc63ec3885260b669 by Hugo Pereira Da Costa.
Committed on 20/10/2014 at 22:09.
Pushed by hpereiradacosta into branch 'master'.

properly handle RTL for corner rects and tabbar
Do not clip away vertical margins for headers to accomodate custom widgets that set a two small vertical size for those.
Related: bug 340150

M  +12   -25   kstyle/oxygenstyle.cpp

http://commits.kde.org/oxygen/2100ca125c961d68e566b53bc63ec3885260b669
Comment 15 Hugo Pereira Da Costa 2014-10-20 22:11:53 UTC
Git commit 17e1053bc03ace87502999776294d4be29b2b8f0 by Hugo Pereira Da Costa.
Committed on 20/10/2014 at 22:09.
Pushed by hpereiradacosta into branch 'Plasma/5.1'.

properly handle RTL for corner rects and tabbar
Do not clip away vertical margins for headers to accomodate custom widgets that set a two small vertical size for those.
Related: bug 340150

M  +12   -25   kstyle/oxygenstyle.cpp

http://commits.kde.org/oxygen/17e1053bc03ace87502999776294d4be29b2b8f0
Comment 16 Jarosław Staniek 2014-10-20 23:41:53 UTC
Created attachment 89223 [details]
Confirmed: right-to-left mode in Kexi fixed, thanks!