Resource Control

Objective

Improve the usability and data saving of resources and Tool Presets in Artbox.

Key Concepts and Definitions

  • Resources: Tool Presets, Patterns, Gradients, Brushes, Palettes, and Dynamics.
  • Tool Options: The set of adjustable parameters presented to the user for each Tool in Artbox.
  • Tool Presets: A saved set of Tool Options, with an embedded filter that can be configured in the Tool Preset Editor.

Related Links

Revised Preferences

  • Preferences -> Folders
    • Show the Copy Resource Location menu item
    • Save resource changes on exit

Design Revisions

RevisionCurrent DesignIssuesChanges
1. Deactivate automatic resource savingSaves are done when GIMP exitsTweaks to resources in session can corrupt carefully set up tools with unwanted changes.A Preference to ‘Save resource changes on exit’
2. Save specific resource changes immediatelySaves are done when GIMP exitsChanges to resources are lost if GIMP crashes or exits with a crash.Save immediately when clicked
3. Save AsSaves are done with default namingThe name of the saved resource is not the same as the filename, this is confusing.Save immediately with a naming option, Save As…
4. Save AllIf saves are done by the user on demand, as described in (2) or (3), a new issue arisesChanges to resources may be forgotten during the session. Saving one by one is error prone and time consumingAdd ‘Save all the active tool assets’ button and a ‘Save all changes’ button on the Preset Editor
5. Simpler MenuMenu item ‘Copy Resource Location’ exists in several menusNot used by most users, creates menu clutterA Preference to ‘Show Copy Resource Location menu item’
6. Button Bar and Menu RevisedSee menu items and Button Bar GUI in GIMPConfusing item placement, Button Bar GUI out of step with updates from (1-5)Apply a consistent menu item position, and arrange Button Bars to support the changes
7. Edit Brush deals with Parametric and Image typesSee Brushes Menu itemsConfusion over brush typesDouble clicking an image type opens the image for editing, Double clicking a parametric type opens the Brush Editor
8. Inform the user about locked resourcesFolder locked resources can not be editedUser confusionAn informative message is displayed in the Brush Editor if the resource is locked
9. Copy and Paste as New BrushNew FeatureCreate a brush from the active drawableAdded to the Brushes Menu via a Script-Fu plug-in
9. Tool Preset Name in Tool Options TitleNew FeatureSee the active Tool Preset name requires the Tool Preset Editor to be open or the Tool Preset selector to be in list modeAdded the active Tool Preset name after the Tool name in the Tool Options title. Tool Name

MR Description

This merge request improves the usability and data-saving mechanisms for resources and Tool Presets in Artbox. Below is a summary of the key changes made to enhance the user experience with resources, including active tool presets, and their associated assets:

Changes

  1. Resource Saving Preferences:

    • Introduced a new preference to toggle automatic resource saving on exit, preventing unwanted overwriting of user-set Tool Options during a session. This allows users to disable automatic saving and manually save specific changes when needed.
  2. Immediate Resource Saving:

    • Added functionality to save specific resource changes immediately upon request, ensuring that any modifications are persisted, even if the session ends unexpectedly. This avoids data loss in case of a crash.
  3. Save As:

    • A ‘Save As’ feature was added, allowing users to name and save resources with custom filenames, enhancing clarity and preventing confusion between resource names and file names.
  4. Save All:

    • Introduced a ‘Save All’ option to the Preset Editor, enabling users to save all active changes across tool presets, brushes, palettes, and other resources, reducing the need for manual per-resource saves.
  5. Simplified Menus and Button Bar:

    • Cleaned up the interface by providing an option to hide the ‘Copy Resource Location’ menu item, which was seldom used, thereby reducing menu clutter.
    • Rearranged the Button Bar to reflect the new saving behaviors and align with the revised menus for consistency.
  6. Brush Editor Enhancements:

    • Adjusted the behavior for brush types so that double-clicking on image-type brushes opens the image for editing, while double-clicking on parametric brushes opens the Brush Editor. This resolves the confusion around brush types.
  7. Locked Resource Notification:

    • When a resource is locked (due to folder permissions), the user will now receive an informative message in the Brush Editor, improving clarity on why the resource cannot be modified.
  8. Create New Brush from Drawable:

    • Added the ability to copy and paste a drawable as a new brush via a Script-Fu plug-in, accessible from the Brushes Menu.
  9. Save Active Tool Assets:

    • Introduced a ‘Save All Active Tool Assets’ feature, allowing users to save all the active tool assets (brush, gradient, palette, dynamics) in a session for easier resource management. Note: the concept of saving a ’tool package’ is not yet implemented.
  10. Tool Preset Name in Tool Options Title:

  • Added the active Tool Preset name after the Tool name in the Tool Options title. Tool Name | Tool Preset Name. We can see which Tool Preset is active from the Tool Options Title.

Benefit

These changes aim to provide better control over resources and presets, allowing users to manage their assets more intuitively and prevent unintended modifications.