Feedback/ideas needed: "Themes" (now "Preference Packs") User Interface

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
onekk
Veteran
Posts: 6208
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Feedback/ideas needed: "Themes" User Interface

Post by onekk »

Good proposal, a theme manager or maybe a "customisation panel" on which a user could choose the colors if needed, to make custom theme, that could be saved using a name and retrieved or set as a "default theme" for the user will be a good thing.


+1 for me.

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Feedback/ideas needed: "Themes" User Interface

Post by ickby »

Ui wise I also think putting it into the normal preferences is a bit strange. Basically what it does is to set certain preferences to certain values, over all categories or preference panels. Something like this already exists: the reset button in the bottom button row. So my idea is based in that similarity in function:

Make a drop-down list left to the reset button, and call reset apply. The dropdown list includes all themes. The full freecad preference reset is just another preference theme, called default, choosable from this list. At the end of the list, or beginning, is a special entry "manage themes".

Imho this is intuitive, the user understands what it does just out of context.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Feedback/ideas needed: "Themes" User Interface

Post by sgrogan »

I think this is a "Configuration Manager" or "Preferences Manager"
The manager is adding an often requested automation to > Edit preferences.
I like ickby's idea of a dropdown. I would call the configs presets, rather than reset.
reset = load default preset
Just my 2 cents.

I think this is very good work, it addresses a lot of topics that come up frequently.
i.e. FreeCAD flavors. There could be Arch/BIM dark, MCAD/green etc.
"fight the good fight"
User avatar
chennes
Veteran
Posts: 3910
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Feedback/ideas needed: "Themes" User Interface

Post by chennes »

Those are excellent ideas, I had not considered how from a user perspective this is similar to the "Reset" option. I actually can't use this system to do a "reset" because the "manager" can only set preferences, it can't remove them. I'll have to think on if there is a good way to integrate the ideas.

Here's another go at the original UI based on some of the up-topic discussion:
Screenshot 2021-04-30 134223_final.png
Screenshot 2021-04-30 134223_final.png (64.23 KiB) Viewed 2896 times

This one requires a "preference pack" to declare itself as an "Appearance", "Behavior", or "Combination" pack -- this will be done automatically for user-saved packs based on which templates they choose to use during the save. Theme authors distributing packs are responsible for ensuring their package uses the "<type>appearance</type>" property in the package.xml file.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3910
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Feedback/ideas needed: "Themes" User Interface

Post by chennes »

OK, for anyone willing to help review the PR, it's now available for testing:
https://github.com/FreeCAD/FreeCAD/pull/4787
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
AKielhorn
Posts: 24
Joined: Wed Jul 01, 2020 9:38 am

Re: Feedback/ideas needed: "Themes" User Interface

Post by AKielhorn »

chennes wrote: Fri Apr 30, 2021 6:52 pm This one requires a "preference pack" to declare itself as an "Appearance", "Behavior", or "Combination" pack -- this will be done automatically for user-saved packs based on which templates they choose to use during the save. Theme authors distributing packs are responsible for ensuring their package uses the "<type>appearance</type>" property in the package.xml file.
There is currently a discussion about Sketcher keyboard shortcuts.

https://forum.freecadweb.org/viewtopic ... 4#p516324

One of the questions I asked was how to distribute a set of shortcuts.
This seems to be the solution.

One could distribute a sc-sketcher theme and a sc-draft theme and users can apply the theme they need.
User avatar
chennes
Veteran
Posts: 3910
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Feedback/ideas needed: "Themes" User Interface

Post by chennes »

AKielhorn wrote: Wed Jul 21, 2021 8:50 am One of the questions I asked was how to distribute a set of shortcuts.
This seems to be the solution.
Yes, absolutely, that sounds like a great idea, and would be very easy to implement using Preference Packs.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
bleber
Posts: 259
Joined: Thu Jun 30, 2016 5:12 pm

Re: Feedback/ideas needed: "Themes" (now "Preference Packs") User Interface

Post by bleber »

Ilike to test these PR, there are a totorial to make these?
User avatar
chennes
Veteran
Posts: 3910
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Feedback/ideas needed: "Themes" (now "Preference Packs") User Interface

Post by chennes »

bleber wrote: Mon Jul 26, 2021 9:33 pm Ilike to test these PR, there are a totorial to make these?
You'll want to start here: https://wiki.freecadweb.org/Compiling
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
bleber
Posts: 259
Joined: Thu Jun 30, 2016 5:12 pm

Re: Feedback/ideas needed: "Themes" (now "Preference Packs") User Interface

Post by bleber »

I test the PR and i t works ok to put data in parameters. I need more testing.

One tnig that is hard to me is the PreferencePackTemplates files. For me the easyest way is if I can select these parameters sirectly in the "create new preference pack" window if Y can see the freecad parameter streucture with a checkbox in front of every parameter. and using the templates for preset checkboxes.
Post Reply