Opened 8 years ago

Closed 5 years ago

Last modified 5 years ago

#2167 closed Bug (fixed)

Task bar buttons should not be mirrored when the OS uses right-to-left layout

Reported by: Stamimail Owned by: Underground78
Priority: normal Milestone: 1.7.9
Component: User Interface Version: 1.6.1.4235
Severity: major Keywords:
Cc: Underground78 Evaluation:

Description

The main screen is not compatible to the taskbar.
The main screen is fine.
But everything about the taskbar button is reversed.
Instead of being left to right (= OK), this right to left:
The problem is both the green sign that rising (time elapsed) on the taskbar button, and also for the small panel buttons = reversed view.

Consult with a Hebrew speaker, for more clearly

Attachments (4)

MPC.png (85.9 KB) - added by stamimail 8 years ago.
#2167.PNG (375.9 KB) - added by Stamimail 5 years ago.
play&pause.PNG (185.5 KB) - added by Stamimail 5 years ago.
mpc-hc_#2167_v3.PNG (82.7 KB) - added by Stamimail 5 years ago.
MPC-HC Taskbar Button on Left but its Thumbnail Preview on Right

Download all attachments as: .zip

Change History (40)

comment:1 Changed 8 years ago by stamimail

I don't konw if it concern only to the Hebrew version, But I have big Bug with adjusting the Playlist window (Ctrl+7). It dosen't work properly.

comment:2 Changed 8 years ago by superbsubs

@stamimail: see https://sourceforge.net/apps/trac/mpc-hc/ticket/1912 regarding the playlist (and other docked windows) being messed up.

I'm trying to understand what you mean by "taskbar"... the bar w/ the play/pause and so on? Could you take a picture and mark what's wrong?

Changed 8 years ago by stamimail

Attachment: MPC.png added

comment:3 Changed 8 years ago by stamimail

picture added now...

The Yellow/Green in Buttom and the Play (and all Bar) need to be Left to Right, Even in Hebrew...
It like this in the main program (and this is OK), so the preview need to be also Left to Right.

comment:4 Changed 8 years ago by stamimail

BTW,
The File size limit (256 KB) of attachment, is unacceptable...
I almost gave up...

comment:8 Changed 8 years ago by superbsubs

Oh, I now see. You were talking about the Windows 7 taskbar preview controls.
RTL bug. :/
I think the current way MPC-HC is doing this (the "eMule-way" heh) is too agressive. It forces every HWND to use RTL instead of defining the flag only to specific ones.

comment:9 Changed 8 years ago by stamimail

I found another problem with the Options Menu.
It is LTR instead of RTL.

comment:10 Changed 8 years ago by Underground78

@superbsubs: we can take the problem the other way around, maybe it would be easier to force LTR for specific dialogs? I already did that for the control bar I think.

comment:11 Changed 5 years ago by Underground78

Cc: Underground78 added
Component: GeneralUser Interface
Milestone: next release placeholder
Reporter: changed from stamimail to Stamimail
Summary: Hebrew BugsTask bar buttons should not be mirrored when the OS uses right-to-left layout

See also #5241:

Replying to Stamimail:

Yes, you are right. The Live Preview buttons are in RTL order even when I run MPC-HC in English. It seems to be related to the RTL operating system. Anyway, it's incorrect. No matter if the OS is LTR/RTL, and not matter if the layout of MPC-HC is LTR/RTL, the Seek bar and the Live Preview buttons should be in LTR order.
If I'm not mistaken, I would say, only text-related components should be RTLed.

comment:12 Changed 5 years ago by Underground78

Replying to Stamimail:

Replying to underground78:

Are you sure that the same doesn't happen with WMP? Since there are only three buttons, it could very well be RTLed too without it being too obvious. Have you tried using them to make sure Next/Previous are not inverted?

Yes. In WMP the Live Preview buttons are OK, The Left is preivous, The Right is Next.

I will have a look. I guess the only solution is to detect that the task bar will be mirrored and pre-mirror the buttons so that in the end they look LTR.

comment:13 Changed 5 years ago by Underground78

In fact it is super easy to just pre-mirror the buttons. I wish I had thought of the easy way before spending time on the hard way...

Could you tell us if this test build fixes the issue?

comment:14 Changed 5 years ago by Stamimail

I created a picture. Maybe I'll explain more later.

Windows:

  1. test build LTR
  2. test build RTL
  3. Installed version

Live Previews:

  1. 2. 3.

I can tell that the order of the buttons is now fine, but the direction of each button is the problem.

Changed 5 years ago by Stamimail

Attachment: #2167.PNG added

comment:15 Changed 5 years ago by kasper93

We need to flip icons itself. If I understand correctly, we can't really play around with taks bar window? Maybe there is a way to change style of this specific icon window? Though this would be massive hack.

To flip images we can use Gdiplus::Image::RotateFlip() or made our custom function.

Last edited 5 years ago by kasper93 (previous) (diff)

comment:16 Changed 5 years ago by Underground78

In fact I had made one already before thinking of just changing the buttons order, so it shouldn't be too hard to fix. I will get back to you soon.

Last edited 5 years ago by Underground78 (previous) (diff)

comment:17 Changed 5 years ago by Underground78

My brain is somewhat malfunctioning tonight so I'm not sure it will get it right from the first time: new test build.

comment:18 Changed 5 years ago by Stamimail

Thank You, I think we are close.
Now the buttons order looks OK. (It needs to be exactly like the English)
The problem now is with the order of the commands:
Previous button is Full screen command
Stop button is Next command
...
...
Full screen button is Previous command

Switch also the Pause/Play buttons...

Changed 5 years ago by Stamimail

Attachment: play&pause.PNG added

comment:19 Changed 5 years ago by Underground78

Ok, that was more or less expected. I will get back to you during the week-end since I'm quite busy right now.

comment:20 Changed 5 years ago by Underground78

Sorry I'm late, here is the new test build. As far as I can tell it works fine but please report back when you have time.

Changed 5 years ago by Stamimail

Attachment: mpc-hc_#2167_v3.PNG added

MPC-HC Taskbar Button on Left but its Thumbnail Preview on Right

comment:21 Changed 5 years ago by Stamimail

Thumbnail Preview itself is now good.
There is a problem with: In what place the Thumbnail Preview is popped up.
In usual Thumbnail Previews are popped up above the relevant button.
Now Although the Taskbar is RTL, it looks like the Thumbnail Previews think they are in LTR Taskbar. So, when I pointing a button group on left, Thumbnail Preview is popping up on the right; and when I pointing a button group on the right, Thumbnail Preview is popping up on the left. More than that, this situation continues even after I exit MPC-HC, and continues until I Log off Windows.

comment:22 Changed 5 years ago by Underground78

It's my fault sorry, I forgot to remove some debug code... Here is the fixed test build, I hope everything will be fine now.

comment:23 Changed 5 years ago by Stamimail

Yes, You did it. Well done. Thank You very much.

If I'm not mistaken, I think there are only 2 more things to do:

  1. Ctrl+5 should be LTR, even if RTL lang chosen.
  2. The green/yellow progressbar of taskbar button should be LTR even in RTL OS (equl to seek bar of MPC-HC).

http://i7.minus.com/idk5Rm.png

comment:24 Changed 5 years ago by Underground78

  1. What is the rational behind that? I would have thought it makes sense to have it RTL.
  2. I'm pretty sure that we won't be able to do much about this one. Do you know any app which is able to do that?

comment:25 Changed 5 years ago by Stamimail

  1. Only text things should be RTLed. A single word many times is not included it this rule. The important thing is the time running what it's numbers, and should be like in English Elasped/FullTime.
  2. I remember I saw once LTR and RTL progressbar in my system. Currently I don't remember which.

comment:26 Changed 5 years ago by Underground78

  1. But should the time indicator be at the left or at the right?
  2. The only thing we do is letting the system know that we are at state N on a total of T so I'm really not sure what we can do.

comment:27 Changed 5 years ago by Stamimail

1.
Please let me know what is the rational behind the design of the English version... This rational might be the same for the RTL languages.

  1. The Words Play/Pause, under the Play/Pause button.
  2. Example: 00:03/02:10 (Elapsed Left / FullTime Right)

But should the time indicator be at the left or at the right

I don't know if there is any rational behind that.

2.

we are at state N on a total of T

Sorry. didn't understand it. Anyway, If I see a program with LTR progressbar, I hope I let you know.

comment:28 Changed 5 years ago by Underground78

  1. I'm not sure there is any special rational, status message are usually displayed at the bottom left of most (LTR) softwares so it's more like a convention. I'm not sure what is the convention of RTL layout.
  2. It just means that we don't control the way the progress bar is displayed in the task bar. We just tell to the system that we are at for example 42% of playback and that's all.

comment:29 Changed 5 years ago by Stamimail

  1. Now I see. You see it like a regular Status Bar, which in this case you supposed to be right. But actually this bar, is not like a regular status bar, for the reasons I had explained. As a RTL user, I can tell you that If you'll change it to LTR, b. will be fixed, it worth it! Now it is displayed incorrectly.
  2. Thank You

comment:30 Changed 5 years ago by Underground78

I can probably display "elapsed time / full time" even if I keep the layout mirrored, i.e:

[speaker icon] elapsed time / full time                     status [format icon]

Would it be better than a fully LTRed layout?

Last edited 5 years ago by Underground78 (previous) (diff)

comment:31 Changed 5 years ago by Stamimail

This question you can answer by yourself, since it is not related to RTL.
It is related to the question, What people would prefer to see:
The Time indicatoer under the buttons, or the Play/Pause under the buttons.
Are you happy with the way it is now, or would you prefer to change it?

My recommendation for now is:
fully LTRed layout!

comment:32 Changed 5 years ago by Underground78

Ok then, honestly I couldn't tell myself. I'm so used to LTR layout that I can hardly imagine what RTL users would want.

comment:33 Changed 5 years ago by Stamimail

Did you try ever to put both (status & Time Indicator) on the left, under the Buttons.
Is this make it better?
It might be better to see all in one place.

comment:34 Changed 5 years ago by Underground78

It doesn't really look good. It's better to use the space we have instead of packing things I think.

comment:35 Changed 5 years ago by Stamimail

Ok then, honestly I couldn't tell myself. I'm so used to LTR layout that I can hardly imagine what RTL users would want.

As I said, I don't think it's related to LTR/RTL. The RTL users see it the same way as the LTR user will see, if it will be replaced.
So, If you (LTR user) replace ths status to be on the Right and the Time Indicator to be on the Left you will have the same experience of the RTLs.
In LTR eyes:
Is it better or worse, or there is no difference?
If you still can not decided, I suggest you'll follow my recommendation. (fully LTRed layout!)

comment:36 Changed 5 years ago by Underground78 <underground78@…

Owner: set to Underground78 <underground78@…>
Resolution: fixed
Status: newclosed

In d4264f:

Prevent the task bar buttons from being RTLed.

RTL-enabled Windows seem to always RTL the task bar buttons (no matter if MPC-HC itself is RTLed) so we have to pre-mirror the buttons in that case so that they look right.

Fixes #2167.

comment:37 Changed 5 years ago by Underground78

Milestone: next release
Owner: changed from Underground78 <underground78@… to Underground78

Will be in the nightly builds as of revision 1.7.8.89.

Note that I have also fixed the status bar as of revision 1.7.8.94: 6866ddc.

comment:38 Changed 5 years ago by Stamimail

Thank You underground78, what you fixed is great.

comment:39 Changed 5 years ago by thevbm

Milestone: next release1.7.9

Milestone renamed

Note: See TracTickets for help on using tickets.