Skip to content

Conversation

@xdustinface
Copy link

@xdustinface xdustinface commented Jun 26, 2020

This PR ist part of a series of +-25 PRs related to UI redesigns. Its ancestor is #3567, its successor is #3569. I did not screenshot every single PR and its changes, instead i made "walk through all screen" videos with the result of this PR series and also with the 0.15 UI. If there are any concrete screenshots wanted, just let me know. To build with the full set of changes you can build from the branch xdustinface:pr-ui-redesign which always contains all changes.

-> Walk through 0.15
-> Walk through Redesign

I tried to give the commits enough text to make things obvious without a lot description for each PR. Also here, if you want more description for this specific PR, let me know.

About this PR

This PR implements a new tab in OptionsDialog. Called "Appearance" which now contains the theme setting. Also you can apply some customization there related to font size, font weight or font family.

The content of this new tab is also used for an "Initial appearance setup dialog" which appears if Dash Core gets started the first time after this PR.

@xdustinface xdustinface force-pushed the pr-ui-15-appearance-tab branch 2 times, most recently from 84acf74 to eaf2227 Compare June 27, 2020 20:23
@xdustinface xdustinface marked this pull request as draft June 30, 2020 20:20
@xdustinface xdustinface changed the title qt: Introduce appearance tab in OptionsDialog qt: Introduce appearance tab and setup dialog Jul 17, 2020
Allows to scale the font in the same way like with -font-scale.
Allows to set the weight for normal and bold text
Allows to choose between system default font or montserrat
A widget which just wraps all appearance related settings.

Also replaces Appearance settings in OptionsDialog with the introduced widget.
This will pop up the first time the user starts the DashCore version with the new UI changes.
@xdustinface xdustinface force-pushed the pr-ui-15-appearance-tab branch from eaf2227 to 90ccaac Compare July 20, 2020 12:04
@xdustinface xdustinface marked this pull request as ready for review July 20, 2020 12:04
@xdustinface
Copy link
Author

Ready for review! Like discussed in #3578 this PR also introduces a "initial appearance setup dialog" now.. basically just to let user know it's there and to give them the opportunity to set their preferred defaults. It will only pop up the first time a user runs any dash core version with this PR included.

Dark Light

@UdjinM6
Copy link

UdjinM6 commented Jul 20, 2020

Looks ok-ish but works weird with -resetguisettings flag - initial settings for font weights for normal text do not match the weight that is loaded on font switching: default (all sliders to the right) -> Montserrat -> default (normal to the left, bold to the right).

Before getFont(FontFamily, ...) wasn't always able to return the correct font without the requested font family beeing set as application font upfront.
Add conversion helpers. and let all of them depend on the currently selected font.
For SystemDefault only because Montserrat has all supported weights.
@xdustinface xdustinface force-pushed the pr-ui-15-appearance-tab branch from eda4260 to c4c8583 Compare July 20, 2020 22:46
@xdustinface
Copy link
Author

@UdjinM6 The latest commits should clean that up and fix it. There are still rare cases i have on my list now (i.e. if command line parameters are used on first start) where we run into inconsistencies but i assume that can be a known issue at this point? I would like to rework all that weight handling stuff a bit when i move all that code in some theme handler class. Are we good with that?

@UdjinM6
Copy link

UdjinM6 commented Jul 21, 2020

Pls see 0e9a750 and e698624.

@UdjinM6 UdjinM6 added this to the 17 milestone Jul 21, 2020
…to better match the logic and avoid confusion with weight(To/From)Arg functions
@xdustinface
Copy link
Author

Makes both sense, picked 👍

Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK

Copy link
Member

@PastaPastaPasta PastaPastaPasta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK, seems to work as expected

@UdjinM6 UdjinM6 merged commit 9774f46 into dashpay:develop Jul 26, 2020
xdustinface added a commit to xdustinface/dash that referenced this pull request Jul 28, 2020
* qt: Add "Appearance Tab" to OptionsDialog and move "Theme" into it

* qt: Add "Font scale" settings to Appearance Tab of OptionsDialog

Allows to scale the font in the same way like with -font-scale.

* qt: Add font weight settings to Appearance tab of OptionsDialog

Allows to set the weight for normal and bold text

* qt: Add font family setting to Appearance tab of OptionsDialog

Allows to choose between system default font or montserrat

* qt: GUIUtil - Maintain a map with supported weights for all fonts.

* qt: Introduce AppearanceWidget

A widget which just wraps all appearance related settings.

Also replaces Appearance settings in OptionsDialog with the introduced widget.

* qt: Introduce initial appearance setup dialog

This will pop up the first time the user starts the DashCore version with the new UI changes.

* qt: Load font related settings in GUIUtil::loadFonts

* qt: Make osDefaultFont global in GUIUtil to fix getFont()

Before getFont(FontFamily, ...) wasn't always able to return the correct font without the requested font family beeing set as application font upfront.

* qt: Improve supported weight helpers

Add conversion helpers. and let all of them depend on the currently selected font.

* qt: Default weights based on supported if not all weights are supported

For SystemDefault only because Montserrat has all supported weights.

* qt/test: Fix GUI tests

* Store normal/bold font GUI settings as "pure" (not "supported") values

* Rename supportedWeighti(To/From)Arg to supportedWeight(To/From)Index to better match the logic and avoid confusion with weight(To/From)Arg functions

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
xdustinface added a commit to xdustinface/dash that referenced this pull request Sep 1, 2020
* qt: Add "Appearance Tab" to OptionsDialog and move "Theme" into it

* qt: Add "Font scale" settings to Appearance Tab of OptionsDialog

Allows to scale the font in the same way like with -font-scale.

* qt: Add font weight settings to Appearance tab of OptionsDialog

Allows to set the weight for normal and bold text

* qt: Add font family setting to Appearance tab of OptionsDialog

Allows to choose between system default font or montserrat

* qt: GUIUtil - Maintain a map with supported weights for all fonts.

* qt: Introduce AppearanceWidget

A widget which just wraps all appearance related settings.

Also replaces Appearance settings in OptionsDialog with the introduced widget.

* qt: Introduce initial appearance setup dialog

This will pop up the first time the user starts the DashCore version with the new UI changes.

* qt: Load font related settings in GUIUtil::loadFonts

* qt: Make osDefaultFont global in GUIUtil to fix getFont()

Before getFont(FontFamily, ...) wasn't always able to return the correct font without the requested font family beeing set as application font upfront.

* qt: Improve supported weight helpers

Add conversion helpers. and let all of them depend on the currently selected font.

* qt: Default weights based on supported if not all weights are supported

For SystemDefault only because Montserrat has all supported weights.

* qt/test: Fix GUI tests

* Store normal/bold font GUI settings as "pure" (not "supported") values

* Rename supportedWeighti(To/From)Arg to supportedWeight(To/From)Index to better match the logic and avoid confusion with weight(To/From)Arg functions

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
xdustinface added a commit to xdustinface/dash that referenced this pull request Sep 1, 2020
* qt: Add "Appearance Tab" to OptionsDialog and move "Theme" into it

* qt: Add "Font scale" settings to Appearance Tab of OptionsDialog

Allows to scale the font in the same way like with -font-scale.

* qt: Add font weight settings to Appearance tab of OptionsDialog

Allows to set the weight for normal and bold text

* qt: Add font family setting to Appearance tab of OptionsDialog

Allows to choose between system default font or montserrat

* qt: GUIUtil - Maintain a map with supported weights for all fonts.

* qt: Introduce AppearanceWidget

A widget which just wraps all appearance related settings.

Also replaces Appearance settings in OptionsDialog with the introduced widget.

* qt: Introduce initial appearance setup dialog

This will pop up the first time the user starts the DashCore version with the new UI changes.

* qt: Load font related settings in GUIUtil::loadFonts

* qt: Make osDefaultFont global in GUIUtil to fix getFont()

Before getFont(FontFamily, ...) wasn't always able to return the correct font without the requested font family beeing set as application font upfront.

* qt: Improve supported weight helpers

Add conversion helpers. and let all of them depend on the currently selected font.

* qt: Default weights based on supported if not all weights are supported

For SystemDefault only because Montserrat has all supported weights.

* qt/test: Fix GUI tests

* Store normal/bold font GUI settings as "pure" (not "supported") values

* Rename supportedWeighti(To/From)Arg to supportedWeight(To/From)Index to better match the logic and avoid confusion with weight(To/From)Arg functions

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
@UdjinM6 UdjinM6 modified the milestones: 17, 16 Sep 4, 2020
gades pushed a commit to cosanta/cosanta-core that referenced this pull request Mar 3, 2022
* qt: Add "Appearance Tab" to OptionsDialog and move "Theme" into it

* qt: Add "Font scale" settings to Appearance Tab of OptionsDialog

Allows to scale the font in the same way like with -font-scale.

* qt: Add font weight settings to Appearance tab of OptionsDialog

Allows to set the weight for normal and bold text

* qt: Add font family setting to Appearance tab of OptionsDialog

Allows to choose between system default font or montserrat

* qt: GUIUtil - Maintain a map with supported weights for all fonts.

* qt: Introduce AppearanceWidget

A widget which just wraps all appearance related settings.

Also replaces Appearance settings in OptionsDialog with the introduced widget.

* qt: Introduce initial appearance setup dialog

This will pop up the first time the user starts the DashCore version with the new UI changes.

* qt: Load font related settings in GUIUtil::loadFonts

* qt: Make osDefaultFont global in GUIUtil to fix getFont()

Before getFont(FontFamily, ...) wasn't always able to return the correct font without the requested font family beeing set as application font upfront.

* qt: Improve supported weight helpers

Add conversion helpers. and let all of them depend on the currently selected font.

* qt: Default weights based on supported if not all weights are supported

For SystemDefault only because Montserrat has all supported weights.

* qt/test: Fix GUI tests

* Store normal/bold font GUI settings as "pure" (not "supported") values

* Rename supportedWeighti(To/From)Arg to supportedWeight(To/From)Index to better match the logic and avoid confusion with weight(To/From)Arg functions

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants