Comments (26)
I'm in favor still dropping the Behave theme. Otherwise anyone can do a PR and add his own theme to FreeCAD and it gets bloated fast. So 3 official ones, easier to maintain and anyone is free to create one by himself and distribute it through the addon manager.
Otherwise I could change one color of dark slightly, make a PR with the theme and call it Darker and if more people do this we end up at the situation we have in the stable.
@FreeCAD/design-working-group any feedback on this?
from freecad.
And there are still two dark themes. Behave has to be deleted too, you can only choose between two on the start page.
from freecad.
I'm in favor of adding FreeCAD
prefix to "official" themes. Going with "Light" / "Dark" / "System" would be fine if we would not provide ability to create custom themes. With custom themes it will help distinguish the official themes from 3rd party ones.
from freecad.
Fixed the overlay icons as mentioned by @kadet1090
Although only for the light theme atm.
from freecad.
@MisterMakerNL thanks. Do you think it would be possible to submit a draft PR, so that we can help with testing the changes?
#14749
The lag fix is btw from kadet #14820
from freecad.
Selection colors are wrong when overlay is not set to transparent:
https://forum.freecad.org/posting.php?mode=reply&t=88509
from freecad.
from freecad.
This needs to be implemented
#14592
from freecad.
Tested with Qt6 and Fusion as Qt Style.
-
Hard to read text in hovered menu entries due to low contrast:
-
Controls could use a bit more horizontal padding to look better and be more readable (https://medium.com/@manonpiette.pro/margins-and-padding-e4e9d0efa65d):
-
Checkboxes are quite small - it would be wise to make them a bit bigger.
-
Hovering over treeview in overlay mode hovers whole row (probably Qt6 issue, see: #13760):
-
Yellow for marking "clicked" button in overlay panels seems very odd:
from freecad.
And there are still two dark themes. Behave has to be deleted too, you can only choose between two on the start page.
from freecad.
Thank you for the work in simplifying and upgrading the default themes. Some things I've noticed:
- Toolbar separators are too dark on the Light theme. They might also need some horizontal padding (this might be the same as @kadet1090's point no. 19):
- Notification window is clipped horizontally:
- Active button highlight is nearly invisible. In this example, Cancel is active. The default Qt theme overlays a transparent color over the button's body to make it more clear:
- Unnecessarily colored checkbox when using keyboard navigation and highlighting the active checkbox. This also applies to checking a checkbox (the checkbox itself is blue when clicking on it):
- Misplaced downward chevron on the TabBar's "plus" button:
- I got this error on the Tasks panel when unfolding one of the widgets:
Could not create pixmap from qss:images_classic/Qsint_header_UnfoldOver_Blue-light.png
- To be consistent with the "Classic" naming, the new themes should drop the "Theme" suffix from their name, resulting in "Light" and "Dark". It is clear that they are themes by the "Theme:" label next to them.
- Active toggle button's background color in the commands toolbar makes icons less legible. It also raises visual attention unnecessarily. The Classic theme's dark gray is more neutral and addresses both issues (for the light theme at least)
- When pressing a toggle button to make it checked, its right padding increases, displacing all subsequent buttons to the right:
- Toggle buttons in the status toolbar (e.g. for the Draft Workbench) move when hovering over them:
- Toggle buttons in the status toolbar (e.g. for the Draft Workbench, snap lock commands) with a chevron to expand have the chevron misplaced:
- Unnecessary horizontal bar underneath buttons in the status toolbar:
- Tooltips are surrounded by a (light gray? white?) frame that makes up for a strange effect in the transition between tooltip background color and tooltip shadow
from freecad.
- The drop-down button arrow disappears at hover.
- Menus don’t have a shadow.
- Themes are still lagging, although it’s far better now.
OS: Ubuntu 23.10 (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.37819 (Git) AppImage
Build type: Release
Branch: main
Hash: 2ca9b6ef8036d5fd808f01205b66eb0424059e21
Python 3.11.9, Qt 5.15.13, Coin 4.0.2, Vtk 9.2.6, OCC 7.7.2
Locale: French/France (fr_FR)
Installed mods:
* BillOfMaterials-WB 0.0.7
* CosmeticThread3D
* OpenTheme 2024.5.16
* Curves 0.6.39
* CurvedShapes 1.0.9
* sheetmetal 0.4.18
from freecad.
Seems to be that the overlay isn't correct in classic/no-stylesheet.
https://forum.freecad.org/viewtopic.php?p=766453#p766453
from freecad.
Although it's gonna be annoying to do but I want to suggest renaming the theme's too:
- Freecad Dark
- Freecad Light
- Freecad Classic
I made this up myself and definitely didn't steal this idea from Blender.
from freecad.
I'd agree, for consistency. Although please consider also:
- Classic
- Dark
- Light
Why:
- Simpler, shorter, straightforward to translate
- It already conveys the essential information about the theme
- Adding the "FreeCAD" prefix does not convey any additional necessary information. The user is using FreeCAD and changing the preferences to switch themes, so it's already clear to them that they are looking at a FreeCAD-specific theme.
This is of course just my opinion, feel free to disagree!
It might be worth looking at a couple of other pieces of software that have these 3 basic themes to see how they handle it for comparison.
Update:
from freecad.
I can see why Blender did it. You say adding Freecad doesn't add any information, but it actually says it parts of Freecad.
And with the option to mix in theme's from addons, it is useful to give this information.
from freecad.
Seems to be that the overlay isn't correct in classic/no-stylesheet. https://forum.freecad.org/viewtopic.php?p=766453#p766453
Fixed it by setting an overlay stylesheet 84391e2
from freecad.
Also in favor of dropping the theme. FreeCAD should concentrate on two carefully designed ones and the classic theme (at least in medium term for this one).
from freecad.
Applying a stylesheet need sometimes a repaint action, I've discovered when fiddling with them, at least on Qt5, I have published on FreeCAD forum a post some time ago with python code that will trigger the repaint action.
Sadly not at my PC for some time to post here the relevant code (three lines in Python).
Maybe in a couple of days I will post here these lines.
from freecad.
88ae90e
Radio buttons reported by @kadet1090 should be fixed now, I boosted all icons sizes since I saw artifacts on lower resolution.
Only the Qsint icons stay the same.
Should look like this now:
from freecad.
Fixed the spinbox buttons in light
from freecad.
from freecad.
@MisterMakerNL thanks. Do you think it would be possible to submit a draft PR, so that we can help with testing the changes?
from freecad.
Hello, I've found the code now:
This function will do the magic when applying "role" to labels, i.e a dynamic property as described in:
Customizing Using Dynamic Properties¶
def set_wd_prop(wid, prop, val):
"""Set Qt Widget property."""
wid.setProperty(prop, val)
wid.style().unpolish(wid)
wid.style().polish(wid)
set_wd_prop(label, "role", "edit")
With this stylesheet (I have many of them for different 'roles')
"QLabel[role='edit'] {"
" font-weight: bold;"
" font-style: normal;"
" text-decoration: none;"
" border: 2px outset gray;"
" border-radius: 5px;"
" padding: 5px;"
"}"
The point is that the property change is not applied so you have to force it, with this part of the above code:
wid.style().unpolish(wid)
wid.style().polish(wid)
Maybe the same is not working on some other things.
Sadly, an accident in my computer, has deleted all my saved Firefox bookmarks, so I can't present the saved links from where I have taken the code.
Hope it maybe help in some cases.
Kind regards
Carlo D.
from freecad.
Text select seems to be broken.
Text select in task window turns white.
Both seems to be an overlay issue.
from freecad.
I renamed the theme's too Freecad Dark/Light/classic.
Also re-ordered startpage so the active theme is first doesn't fix this issue but improves it: #14819
from freecad.
Related Issues (20)
- Sketcher: appearance of 3D models should be improved HOT 6
- Sketcher: Dimension tool sometimes unnecessarily enters construction mode HOT 3
- Highlight of selected faces poorly visible when camera is aligned HOT 11
- Gui: System icons on Linux can be not-readable with themes
- Sketcher Rotate use for 360-degree patterns is unintuitive HOT 1
- draft shape 2d view generates extra lines HOT 2
- Tree View problems HOT 1
- sketch add text HOT 2
- Attachment position of ShapeString not relative to edge bounding box. HOT 3
- ShapeString .Shape.BoundBox.XLength is zero for ShapeStrings positioned along YZ plane HOT 4
- Sketcher: new BSpline tool: Degree setting is buggy and confusing HOT 1
- Freecad does not honor the property `Allow duplicate object labels in one Document` when pasting a `'Part::Feature'` HOT 2
- FreeCAD crashes when reading material Preferences HOT 2
- Assembly: Insert Component shows items hidden in the Tree view HOT 2
- Assembly: cannot move components to group - FreeCAD crash HOT 3
- Default material is defined by the theme HOT 4
- App::PropertyEnumeration returns a string if addressed through an App::PropertyLink HOT 4
- Update View option- is the model supposed to update as we change it? HOT 1
- Status bar toolbar names are not translatable HOT 3
- [Part] Sweep does not correctly pull elements with holes HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freecad.