Skip to content

Conversation

@xdustinface
Copy link

This pull request includes some updates to the UI.

I noticed there are some places where default OS elements are used. Overall i guess we intend to have exactly the same look and feel for our Light/Dark theme no matter what OS you are using? At least thats how i would prefer to have it.. other opinions? 😄

And also some places where we just have bugs.. I decided to start fixing this stuff and thats the first PR for that. If this ends up being accepted i will work on more UI changes i have in mind in the spare time 🙂

Note: I only tested this changes on macOS so far. Will do tests for windows and linux once gitlab-ci presents me the binaries. But i also want to ask for more windows/linux testing from others here!

3fb6da7 introduces a general.css file which should be used to put in layout/style changes shared by light and dark mode. Therefor i modified the GUIUtil::loadStyleSheet to first load the general.css if either Dark or Light theme is selected. The goal is that light.css and dark.css will later only contain color changes. This will come in a later pull request.

51ac6ac moves the loading of the scrollbars.css into GUIUtil::loadStyleSheet to have all css loading in the same place. Also before the scrollbars.css was only applied to main window's stylesheet..means we had non-customised scrollbars in other windows. If that was by any purpose i will revert this one.. so please cry here if so 😅

9d68ce7 Adds new images for checkboxes and radio-buttons with differentiation between the states: Normal, Hover, Pressed, Indeterminate and Disabled. Also it brings custom radio-buttons and checkboxes to the coincontrol dialog where we had OS defaults before, see images below.

c3fc37f Adds new images for arrows for the states Normal, Hover, Pressed. Also there are two grey ones used for QHeaderView and one of them for the disabled state. It also (together with
6e3b2ea) fixes the issue with the branch arrows in the CoinControl which you can find in the images below.

Examples

Here you can see the CoinControl in the worst case i could force before and after. The "worst case" was just opened the CoinControl with not clicking the radio button in the top. This lead it to having the system accent color (green in my case). Selecting some inputs and select a child entry. To be fair the checkboxes look only that weird if the window has no focus but even if it has focus they are OS defaults.

CoinControl Before CoinControl Now

And here as another example the send screen where you can see that the disabled elements are not greyed out, that the arrows are partly blurry or that there are OS default radio-buttons.

Send Before Send Now

- Introduced new images for QCheckBox and QRadioButton
- Make use of Hover/Pressed/Disabled/Indeterminate states 
- Use customized Checkboxes and Radio-Buttons in CoinControlWidget
This looks weird in the dark theme. Will introduce new arrows here.
- Added new arrow images
- Make use of Hover/Pressed/Disabled states for QAbstractSpinBox and 
QComboBox
- Use custom arrows in QHeaderView
- Use custom arrows in QTreeWidget branch selectors
This way all windows will have the same scrollbars and not only the main 
window.
Use of margin here lead to a 2px vertical line at the left edge cause of 
the background below.
background-image lead to not showing the arrows here because it 
obviously was scaled incorrect with the higher resolution of the image 
files.
@UdjinM6 UdjinM6 added this to the 16 milestone May 26, 2020
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.

Nice! 👍

Looks good on mac and windows. There is one (potential) issue though.

UdjinM6
UdjinM6 previously approved these changes May 26, 2020
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.

👍

slightly tested ACK

@PastaPastaPasta PastaPastaPasta self-requested a review May 27, 2020 23:31
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.

one nit. Will actually test soon

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.

re-ACK

@UdjinM6 UdjinM6 requested a review from PastaPastaPasta June 2, 2020 16:57
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 on windows, ubuntu

tested light, dark, and traditional

@UdjinM6 UdjinM6 merged commit 048503b into dashpay:develop Jun 4, 2020
@xdustinface xdustinface deleted the pr-ui-improvements branch May 3, 2021 00:06
gades pushed a commit to cosanta/cosanta-core that referenced this pull request Feb 22, 2022
* qt: Updated loadStylesheet and added general.css for shared styles

* qt: Customized QRadioButton and QCheckBox

- Introduced new images for QCheckBox and QRadioButton
- Make use of Hover/Pressed/Disabled/Indeterminate states
- Use customized Checkboxes and Radio-Buttons in CoinControlWidget

* qt: Removed qtreeview_selected image

This looks weird in the dark theme. Will introduce new arrows here.

* qt: Redesigned arrows and their usage

- Added new arrow images
- Make use of Hover/Pressed/Disabled states for QAbstractSpinBox and
QComboBox
- Use custom arrows in QHeaderView
- Use custom arrows in QTreeWidget branch selectors

* qt: Slightly increased checkboxes and radio buttons

* qt: Move the scrollbars css loading into loadStyleSheet

This way all windows will have the same scrollbars and not only the main
window.

* qt: Use padding instead of margin for QTreeWidget::branch styles

Use of margin here lead to a 2px vertical line at the left edge cause of
the background below.

* qt: Use border-image for the scrollbar arrows and adjust the size.

background-image lead to not showing the arrows here because it
obviously was scaled incorrect with the higher resolution of the image
files.

* qt: Add missing grey arrows and make use of disabled states of scrollbar arrows

* qt: Adjust dashThemeActive and also use it in BitcoinGUI::createToolBars

* qt: Fixed copyright year in general.css
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