-
Notifications
You must be signed in to change notification settings - Fork 1.2k
qt: Some UI fixes and improvements #3500
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- 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
left a comment
There was a problem hiding this 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
left a comment
There was a problem hiding this 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
left a comment
There was a problem hiding this 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
UdjinM6
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-ACK
There was a problem hiding this 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
* 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
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.cssfile which should be used to put in layout/style changes shared by light and dark mode. Therefor i modified theGUIUtil::loadStyleSheetto first load thegeneral.cssif eitherDarkorLighttheme is selected. The goal is thatlight.cssanddark.csswill later only contain color changes. This will come in a later pull request.51ac6ac moves the loading of the
scrollbars.cssintoGUIUtil::loadStyleSheetto have all css loading in the same place. Also before thescrollbars.csswas 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.
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.