-
Notifications
You must be signed in to change notification settings - Fork 27
Add preferences page #65
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
base: master
Are you sure you want to change the base?
Conversation
This is very cool. I assume these settings would save between sessions? This might offer the ability to hide some properties from view in the objects that are rarely adjusted if they can be changed here. It feels a bit crowded in the bin properties at the moment. I am nearly done with #55. It is fully functional, and I just have to clean things up a bit. |
Yes, the preferences are saved between sessions. |
does saving between sessions mean per document or object? i would say most peoples grids would be the standard 42x42 but if you have independent grid sizes for some, changing that setting globally would feel weird vs changing it locally(nearest the actual object). |
@kinghat This would just set the default values for generation, it would still be a property of the gridfinity object once generated as it is now and you could change it to how you want. By per session I meant that if you adjusted these defaults and closed freeCAD they would remain the same next time. Once a bin is generated they would have no effect, such as opening a saved bin. What I meant by removing properties was things such as the label shelf dimensions or bin base profile dimenisons. things that 99% of people would never touch but if they did want to could adjust them in this settings page. Anything that is something I expect someone to want to change would remain in the properties where it is easily adjustable for each bin or baseplate. |
I don't think having some parameters customizable only in preferences page is a good idea. In that case when someone would want to create a single different bin with these changed, they would need to go to the preferences, change them, create the bin, and go to the preferences again to change them back to what they use normally. This is a bad workflow in terms of UX. "Preferences" are meant for the user to set how they "prefer" for the application to behave – not to operate on CAD objects. They should be set once and forgotten, unless what the user "prefers" change. However, I agree that the reduction of the number of parameters would be beneficial. Maybe there could be a checkbox "show complex parameters" or something like this, and less used parameters would appear in the panel only when it is checked? I don't know how this could be implemented though. |
I ported all constants to preferences pages and grouped them how it made sense for me. It should defeneatly be improved, main areas could be:
I think drawings would be really helpful (I included an example to show how including an image works). Maybe we could reuse somethink from Gridfinity-Documentation? I personally am not skilled in this area. I also created a script to translate |
These changes sound great and having a drawing next to some of the more confusing parameters would be a big benefit to users. Some of the names I admittedly did not think very hard about. I am traveling until the end of the week but I have seen some other cool PRs rolling in and will take a look when I get back. |
These changes look good.
For sorting parameters is submenus potentially something like this
This creates a separation from what is the gridfinity standard for compatibility and what simply user preference. There could potentially be a further breakdown between advanced and simple properties.
My knowledge in this area is just about zero so I will not be much help here. |
I have added the placeholder images. I thought that the values that are on the drawings could be named just I also rearranged the parameters in the way you suggested, please double check if everything is in its proper place (especially if all standard-breaking parameters are in Standard page, and nothing that doesn't break compatibility is there). |
Yes, it's really good! Now that I look at it, I agree that a property name is a good idea, I will add it back in a free time. |
No rush it will take a while to put these together, I could probably do it as well if needed. |
I added the names. By the way, you can check if it's possible to use SVGs directly in the |
This closes #19.
This is currently a proof of concept and does not have any effect on the workbench. The main idea is for this to replace most of
const.py
file. As I saw some significant changes to this file in #55, I suggest we move forward with the preferences page after it is merged. We can then discuss what should be the content, shape and wording of the preferences page(s). I will also go ahead and use the actual values in the source code.Developing
Full instructions on how to add preferences page can be found here.
The
.ui
fileThe
ui/preferences.ui
file contains the appearance of the preference page and can be opened in Qt Widgets Designer. It uses custom widgets (think "boxes") distributed with FreeCAD. In order for them to appear in the Designer, one needs to compile and install the FreeCAD plugin for the Designer. There are instructions for Linux and Windows.