dashpay / dash

Dash - Reinventing Cryptocurrency
https://www.dash.org
MIT License
1.49k stars 1.2k forks source link

Qt redesign issues #3578

Open UdjinM6 opened 4 years ago

UdjinM6 commented 4 years ago

Let's have all the issues related to qt redesign in #3554-#3575 in one place.

A comment originally posted by @strophy in https://github.com/dashpay/dash/pull/3554#issuecomment-650652989:

A few notes after testing on native HiDPI Windows 10:

In general I find that even when using the scaling sliders, it is impossible to get the same size and weight of the font in the menu bar. So the application always feels like it "sticks out" and goes against the grain of other Windows apps because the text is a different size, weight, font and scaling than every other app on my computer. Is it possible to get an option to just use the system settings for everything, so it feels more "native"?

xdustinface commented 4 years ago
  • Blurriness remains on splash screen, but is fixed everywhere else as far as I can tell. The QR code looks fine, but the text address below it is blurry. All other blurriness is gone - this was my main concern and I'm thrilled it is fixed :)

Jup im aware of the remaining blurriness.. couldn't find a solution for it in reasonable time so i put it on my "to investigate later" list :)

  • I find reading Montserrat extremely uncomfortable for body text because of the character width. Montserrat is really designed for headings, not body text - can we default to the system default font as body font for consistency? Or offer Open Sans instead/as well as Montserrat?

See https://github.com/dashpay/dash/pull/3555#issuecomment-652004347

  • Changing from Montserrat to SystemDefault results in serious kerning issues in the default font, see here for screenshot.

Need to investigate and reproduce this. Seems to be a windows thing?

Dragging the window from a HiDPI to regular DPI screen results in the window bar appearing double thickness and height

In general I find that even when using the scaling sliders, it is impossible to get the same size and weight of the font in the menu bar. So the application always feels like it "sticks out" and goes against the grain of other Windows apps because the text is a different size, weight, font and scaling than every other app on my computer. Is it possible to get an option to just use the system settings for everything, so it feels more "native"?

Can you post screenshots of what you mean here?

  • Send screen: "Subtract fee from amount" checkbox touching amount box
  • Every screen has some buttons where descenders on "y" or "g" are vertically truncated, and some horizontal truncation of long text on buttons as well

Layout issues, will fix those later in the appropriate PR.

In general I find that even when using the scaling sliders, it is impossible to get the same size and weight of the font in the menu bar.

  • Most settings in the font weight slider have no effect if system font does not support that many weights

Will fix those in #3568

strophy commented 4 years ago

Windows is in general a massive PITA when it comes to supporting high resolution displays, it has been flaky for years, even in Microsoft apps like Office, and it still sucks to this day in some apps like Adobe Bridge. I think it is handled in a completely different way to macOS and Linux, and many apps do not support the 150% scaling that I use on my HiDPI panel. I think you need to use ClearType for font rendering or you will not get native-looking results on Windows.

Here's a few screenshots to explain what I mean. This is on a Lenovo W540 with 2880x1620 at 150% scaling with secondary display unplugged. In particular, I'm comparing the size of the text in the Dash Core menu bar to the Notepad menu bar, but the other apps to the left also show properly rendered fonts under Windows 10. Note that the window bar of Dash Core uses proper (native) text rendering, but the rest of the app does not. In this screenshot I have tried to get the menu bar font size as close to the other apps as possible, but it is still heavier and larger. Notice also the wide range of sizes and weights across the balances, the sync bar and the menu, and how the font size appears disproportionate to the sliders: image

Here I have tried to reduce the size by one setting to the left to try and get the same weight and size as Notepad, but now it is too small and still too heavy: image

Dragging it all the way to the left finally achieves the right weight, but the text is far too small: image

On a 20-year old 14" 1024x768 hp 1502 monitor at 100% scaling (don't ask me where I got this or why I'm using it) the font rendering looks much better, but the window bar is 1.5 times its usual size: image

I suspect all of these issues are due to working against rather than with however Windows wants apps to render fonts. There is noticeable rescaling carried out by the OS when I drag most windows between the two display panels. Most apps manage to look good on both after the rescaling is done (although it has been many years getting there), but Dash Core manages to look bad in unique ways on both displays.... I'm not super familiar with Qt but I imagine other Qt apps have the same problem?

xdustinface commented 4 years ago

3562 fixes the blurriness issue of the QR image

3613 fixes the blurriness on the splashscreen

@strophy can you verify that on your setup too?

PastaPastaPasta commented 4 years ago

text clipped text messed up From 3562

xdustinface commented 4 years ago

Most settings in the font weight slider have no effect if system font does not support that many weights

@strophy #3568 has a fix for this now, please confirm :) It also has the initial appearance setup we discussed here.

strophy commented 4 years ago

I made a build containing PR-UI 9, 15 and 23 for some testing. I can confirm the splash and QR code look fine under my native Windows setup as described above. A new problem seems to be misalignment of the logos and text in the menu: image

The font sliders are also much more responsive. Every movement results in a visible change on screen. However, it is still not possible to find a position on the sliders that results in the Dash Core window rendering fonts in the same way as every other app on my system. The font used in Dash Core's own window bar is correct, but everything inside the window is not. The font either looks enormous and too bold, or needs to be scaled to the absolute minimum in order to get the right weight, at which point the text is too small to read.

xdustinface commented 4 years ago

@strophy The logos will be gone if #3573 ends up getting merged. Feel free to join the discussion there. About the incorrect font size/weight thing, is this already a thing in 0.15 or something new?

strophy commented 4 years ago

The font weight problem is new, I first noticed it when testing your UI builds. Here is a screenshot from Dash Core 0.15 on the same machine, compare this to the screenshot above, notice that the font weights and size in the menu match the text in the window bar: image

No matter what settings I make using the sliders, it is not possible to match the size and weight of the text in the window bar and every other app on my system when using the build from your PRs. Could this be due to not respecting (or circumventing) the scaling settings applied by Windows and the ClearType system?