Giter Site home page Giter Site logo

Comments (26)

maxwxyz avatar maxwxyz commented on July 4, 2024 3

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.

maxwxyz avatar maxwxyz commented on July 4, 2024 1

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.

kadet1090 avatar kadet1090 commented on July 4, 2024 1

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.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024 1

Fixed the overlay icons as mentioned by @kadet1090
image
Although only for the light theme atm.

from freecad.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024 1

@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.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

Selection colors are wrong when overlay is not set to transparent:
https://forum.freecad.org/posting.php?mode=reply&t=88509

from freecad.

maxwxyz avatar maxwxyz commented on July 4, 2024

from freecad.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

This needs to be implemented
#14592

from freecad.

kadet1090 avatar kadet1090 commented on July 4, 2024

Tested with Qt6 and Fusion as Qt Style.

  1. Disappearing down arrow icon in toolbars:
    image

  2. Unnecessary padding for toolbar icons:
    image

  3. Hard to read text in hovered menu entries due to low contrast:
    image

  4. No padding for tool buttons in the status area:
    image

  5. Unnecessary border for toolbars in QStatusBar and QMenuBar:
    image
    image

  6. hovering over table rows highlights only cell:
    image

  7. Unreadable Combo Box list due to low contrast:
    image

  8. Controls could use a bit more horizontal padding to look better and be more readable (https://medium.com/@manonpiette.pro/margins-and-padding-e4e9d0efa65d):
    image

  9. Checkboxes are quite small - it would be wise to make them a bit bigger.
    image

  10. Radio buttons are not rendered well:
    image

  11. Spacing for buttons in spinboxes is uneven:
    image

  12. Hovering over treeview in overlay mode hovers whole row (probably Qt6 issue, see: #13760):
    image

  13. Buttons in task panel have broken laoyut:
    image

  14. Expression icon is not aligned vertically:
    image

  15. Scrollbar border is uneven (look at top button):
    image

  16. Yellow for marking "clicked" button in overlay panels seems very odd:
    image

  17. Icon for expanding tree branch is too big:
    image

  18. Images for theme selection buttons are not centered:
    image

  19. Strange black bar close to few drop-down toolbar buttons:
    image

from freecad.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

And there are still two dark themes. Behave has to be deleted too, you can only choose between two on the start page.

#13772 (comment)

from freecad.

furgo16 avatar furgo16 commented on July 4, 2024

Thank you for the work in simplifying and upgrading the default themes. Some things I've noticed:

  1. 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):
    image
  2. Notification window is clipped horizontally:
    image
  3. 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:
    image
  4. 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):
    image
  5. Misplaced downward chevron on the TabBar's "plus" button:
    image
  6. 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
  7. 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.
    image
  8. 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)
    Captura de pantalla de 2024-06-18 18-19-38
  9. When pressing a toggle button to make it checked, its right padding increases, displacing all subsequent buttons to the right:
    Captura de pantalla de 2024-06-18 18-23-08
  10. Toggle buttons in the status toolbar (e.g. for the Draft Workbench) move when hovering over them:
    image
  11. Toggle buttons in the status toolbar (e.g. for the Draft Workbench, snap lock commands) with a chevron to expand have the chevron misplaced:
    image
  12. Unnecessary horizontal bar underneath buttons in the status toolbar:
    image
  13. 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
    image

from freecad.

pierreporte avatar pierreporte commented on July 4, 2024
  1. The drop-down button arrow disappears at hover.
  2. Menus don’t have a shadow.
  3. 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.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

Seems to be that the overlay isn't correct in classic/no-stylesheet.
https://forum.freecad.org/viewtopic.php?p=766453#p766453

from freecad.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

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.

furgo16 avatar furgo16 commented on July 4, 2024

I'd agree, for consistency. Although please consider also:

  • Classic
  • Dark
  • Light

Why:

  1. Simpler, shorter, straightforward to translate
  2. It already conveys the essential information about the theme
  3. 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:

  • GitHub Desktop: image
  • Visual Studio:
    Captura de pantalla de 2024-06-18 19-22-29
  • Blender:
    image
  • GIMP:
    image

from freecad.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

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.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

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.

pierreporte avatar pierreporte commented on July 4, 2024

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.

onekk avatar onekk commented on July 4, 2024

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.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

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:
image

image

from freecad.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

Fixed the spinbox buttons in light
image

from freecad.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

Some small fixes:
image

from freecad.

furgo16 avatar furgo16 commented on July 4, 2024

@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.

onekk avatar onekk commented on July 4, 2024

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.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

Text select seems to be broken.
Text select in task window turns white.
Both seems to be an overlay issue.

from freecad.

MisterMakerNL avatar MisterMakerNL commented on July 4, 2024

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
image

from freecad.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.