files icon indicating copy to clipboard operation
files copied to clipboard

Improve bulk rename UI

Open peteruithoven opened this issue 2 years ago • 7 comments

Problem

The new multiple / bulk rename feature is great but could use some improvements regarding it's UI.

For reference: Screenshot from 2023-05-07 18 58 20@2x Screenshot from 2023-05-07 18 56 09@2x Screenshot from 2023-05-07 18 55 54@2x Screenshot from 2023-05-07 18 55 45@2x

Some problems:

  1. After selecting a prefix/suffix types the button is replaced for a settings dropdown button
  2. People need to open the popup to find the settings while people might think the dropdown only contains the prefix/suffix types. It's not obvious that the dropdown button contains all the settings.
  3. It's not possible to easily switch between different prefix/suffix types.
  4. It's not possible to preview the effects of prefix/suffix options without pressing apply.
  5. One of the number sequence settings is outside of the popup.
  6. Better to use active language for basename options?
  7. Subjective but selecting the basename through a ModeButton might be more appropriate?
  8. Some input fields rely on only the placeholder for it's purpose, meaning that when the field has focus or has content it's purpose is hidden.
  9. The second dropdown in the Date dropdown does 2 things, describing format and whether to include time.

Proposal

Some quick ideas:

  • Use Modebutton for basename.
  • Use active language for basename options.
  • Using labels to describe purpose input fields.
  • If we only support 1 prefix and 1 postfix we might as well inline the settings. Enabling quicker intuitive access to the settings.
  • Separate Include time checkbox, which could be hidden when not appropriate.
Bulk renamer dialog Bulk renamer dialog2 Bulk renamer dialog3

Sketches in Figma

Prior Art (Optional)

No response

peteruithoven avatar May 07 '23 17:05 peteruithoven

If you want to support multiple prefixes / suffixes quickly I can also think about how we could put those settings into a dropdown in a intuitive way

peteruithoven avatar May 07 '23 17:05 peteruithoven

The use of modebuttons is definitely better and can be slotted in straight away. Popovers were used for changing the "default" options to avoid the dialog height changing and to hide some complexity if it was not needed but does have drawbacks. If height changing is not an issue then revealing detailed settings may be better.

jeremypw avatar May 07 '23 21:05 jeremypw

Popovers were used for changing the "default" options to avoid the dialog height changing and to hide some complexity if it was not needed.

That's a good point, I do feel like 2 out of 3 options need at least some settings.

  1. Number sequence can have a good default
  2. Date is tough, which date type is the default? If you make the suffix/prefix type "Creation date" it's not clear that you can select other types of dates. (Which is why I changed it for a more general "Date"
  3. Fixed text needs people to set the text

As long as the content under the user's cursor isn't moved unexpectedly I think changing the height of the dialog is an issue.

An alternative: Bulk renamer dialog popover Bulk renamer dialog popover2

peteruithoven avatar May 07 '23 22:05 peteruithoven

I wanted to drop this here and not just in Slack. The bulk rename interface in GNOME Files has a really elegant solution here by using a text entry and some special placeholders in brackets. This gives a ton of flexibility with formatting but the UI is super minimal and you can also copy/paste/save your regularly used rename strings, for example, with this method. Here's some screenshots from GNOME Files from the nightly flatpak remote:

Screenshot from 2023-05-16 10 43 12 Screenshot from 2023-05-16 10 40 10 Screenshot from 2023-05-16 10 39 35 Screenshot from 2023-05-16 10 38 36

danirabbit avatar May 16 '23 21:05 danirabbit

Another benefit here is that for Date and time strings for example, we could use GLib.DateTime formatting. So by default we could insert [Creation date] but maybe you can add a format string like [Creation date, "%Y:%m:%d %H:%M:%S"]

danirabbit avatar May 16 '23 22:05 danirabbit

I have given reasons against the Gnome design in Slack, but if we are going to clone that design then it would be better done in the Gtk4 port now as it would require a complete re-write.

jeremypw avatar May 17 '23 11:05 jeremypw

One thing that could be done now is to write a "Gnome Rename Syntax" parser and add an option for the user to enter a template in that language.

jeremypw avatar May 17 '23 11:05 jeremypw