UI Redesign - Preferences

Just a ui idea, the detialed items should be defined carefully:

  • Which items should be listed here in the preferences window
  • How these items be grouped, organized

Looks great and amazing as always!
I thinkk document settings should be by their own but everything else here.

As rylleman says, it’s great. I’m going to I love using this!

There are global scope settings for document, which is applied when a new document created :wink:

Oh, you mean these settings are for new documents and then settings for currently open/active document is found elsewhere?
Then I’m happy.

Synfigs UI redesign is going to be excellent!

There are two major design styles in current main stream (graphics) applications for preferences :

  1. the sub-items is listed in vertical way at the left-hand side of window,
  2. the second one is used tab based interface, those tabs are placed at the top of window.

The second one will become clutter after the number of tabs reaches a certain number, and its flexibility is not good enough than the first one.
In the first design, you can have a tree view as well, and there is enough spaces to add more items later on when application is growing up.

There are two typical apps present these two UI designs, Gimp and Blender. The Gimp way wins from my point of view :slight_smile: Flexible and Elegant!

Currently we have:

[size=150]Setup[/size]

  • Gamma : gamma
  • Misc. : timestamp, unit system, recent file, auto back interval, browser command, visually linear color selection, restrict real-valued ducks to top right quadrant, scale new imported images to fit canvas
  • Document : new doc filename prefix, new doc X size, new doc Y size, new doc fps
  • Render : image sequence separator string, Use Cairo render on Navigator, Use Cairo render on workarea.

[size=150]Input Devices[/size]

  • Device : Virtual core XTEST pointer, pointer, pen, cursor, eraser
  • Mode : Disabled, Screen, Window
  • Axes : X, Y, Pressure, X tilt, Y tilt, Wheel
  • Keys

Nice to have:

  • Interface (application language, icon sets, font size of parameter list, tooltip on/off etc… )
  • Local Toolbars (here, user is able pre-defined which buttons are shown on their local toolbars)
  • Keyboard Shortcuts
  • Preview (preset options such as fps, quality etc…)
  • Display Quality for canvas window (This can be defined in Local Toolbars)
  • System (auto backup url, crash recover behaviors etc…)

I need someone help on these two items:
What are the “visually linear color selection”, and “restrict real-valued ducks to top right quadrant” for?

I expect that’s something to do with gamma correction:
http://en.wikipedia.org/wiki/Gamma_correction#Explanation

When enabled it is possible to set the radius to zero easily otherwise it is very difficult to make the radius to be zero using the mouse.

-G

If some of the enviroment variables can be set from within Synfig it would be nice to have settings for them also.

the one I’m thinking of right now is SYNFIG_SHOW_CANVAS_PARAM_WAYPOINTS which is very useful for replacement animation (see viewtopic.php?f=14&t=3512 for a discussion on this).

The below is my proposal for preferences items. For those environment variables, before we can find a better place one by one, lets just put them stay in advanced settings panel.

[Interface] : ui language, themes(icon sets, font of param list, tooltips on/off)
[Gamma] :
[Toolbas] : global toolbar, local toolbar for each sub-window
[Input Devices] :
[Keyboard Shortcuts] :
[Document] : filename prefix, size, fps
[Render] : image sequence separator string
[Preview] : fps, quality
[System] : timestamp, unit system, recent file, auto backup settings(time and backup folder), browser command, visually linear color selection, restrict real-valued ducks to top right quadrant, scale new imported images to fit canvas
[System]
|_[Advanced Settings] : wiki.synfig.org/wiki/Environment_Variables

If there is not any others interested to code, I would like to implement this after I finish my standard menu & toolbar branch for canvas window:

  1. add a language switcher founction
  2. merge setup and input devices as initial preferences window implementation
  3. add the rest parts, advanced settings (enviroment variables) for example, but toolbars not include since it belongs to new UI

I hope I can finish this task in 1~2 release cycles.

Please send pull request for each completed (or testing) area you want to be merged (or tested)
-G

And now, I have a screenshot to show :mrgreen:
[attachment=0]prefs-dialog.png[/attachment]

Looks fantastic!
-G

Thanks. There are still a lot of job has to be done. I’ve updated the mockup as well, which you can see in the first post of this thread, any feedback/comments are appreciated.

I see a search widget on the top left of the dialog. How would it work? Which are the tokens used to search?

I see that there is a “Summary of Changes” option before proceed. That’s fantastic! Have you designed how to handle that information in an smart way?

This is the preferences system I always wanted to have!
-G

Looks really good! Cool works!

I found one thing missing from the Document tab I’d like to see in Synfig. Not sure if it can be just added here in preferences or if the render system also needs to be changed.

  • Number of digits in image sequence. Useful when working with scripts, compositors, editors, etc.
    Is this doable by adding a settings option alone? (Or should I open a feature request?)