Bug 157471 - [PATCH]s Oxygen's QToolBox theme does not display properly in Right-to-Left mode
Summary: [PATCH]s Oxygen's QToolBox theme does not display properly in Right-to-Left mode
Alias: None
Product: Oxygen
Classification: Unclassified
Component: style (show other bugs)
Version: 4.0
Platform: Compiled Sources Linux
: NOR normal (vote)
Target Milestone: ---
Assignee: Camilla Boemann
Depends on:
Reported: 2008-02-09 02:31 UTC by David Benjamin
Modified: 2008-02-09 11:20 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:

Mirror the separator (4.61 KB, patch)
2008-02-09 02:34 UTC, David Benjamin
Alternatively, make the separator a straight line (4.79 KB, patch)
2008-02-09 02:35 UTC, David Benjamin

Note You need to log in before you can comment on or make changes to this bug.
Description David Benjamin 2008-02-09 02:31:20 UTC
Version:            (using KDE 4.0.0)
Installed from:    Compiled From Sources
OS:                Linux

Steps to Reproduce:
1. Run kalzium -reverse with Oxygen.
2. Look at the toolbox at the left.

So, there appear to be two problems with the current drawing. One is that the line is not properly adjusted, and the second is that the icon is drawn twice.

Removing the icon drawing code from it fixes the first problem, without any noticeable defects, and, glancing at the Plastique code, it doesn't draw it either. So, I guess drawing the icon is the job of QToolBox, instead of the theme.

Mirroring the curly page separator makes it no longer look odd, however, Qt places the icon in the same place in both LtR and RtL modes. (In Qt 4.3.2 anyway. Perhaps they changed it.) This makes the icons visually not become properly associated with the page... it looks kind of odd. (Interestingly, Plastique also has this problem. They just mirror their page separator.) I can't think of any way to work around this other than just make the page separators straight.

Anyway, I have attached (or will attach) two patches. Both remove the duplicate icon draw. One mirrors the separator, and the other makes it a straight line.
Comment 1 David Benjamin 2008-02-09 02:34:47 UTC
Created attachment 23485 [details]
Mirror the separator

(I also changed the calls to x(), x()+width(), etc. to left(), right(), etc...
made it easier to see what was going on.)
Comment 2 David Benjamin 2008-02-09 02:35:13 UTC
Created attachment 23486 [details]
Alternatively, make the separator a straight line
Comment 3 Camilla Boemann 2008-02-09 11:20:38 UTC
SVN commit 772648 by boemann:

Apply patch by David Benjamin fixing LTR layout of QToolBox
he gave me two options and i chose the one that mirrored the sloping 
It also fixes icons from appearing twice in QToolBox

Thanks David


 M  +7 -2      helper.cpp  
 M  +24 -22    oxygen.cpp  

WebSVN link: http://websvn.kde.org/?view=rev&revision=772648