darktable
darktable copied to clipboard
Add quick help/auto complete for available variables when building a directory naming pattern (in Copy & Import module)
Feature When editing the directory naming pattern in the Copy & Import module (and anywhere else for that matter, like the Export module) it would be great if there would be help for entering the variables which are available.
The documentation of darktable is really good, but when in the middle of some work I'd rather get help directly within darktable than interrupt my workflow and search for the information online.
Ideally, when entering some string a select box should pop up underneath the input field and intelligently suggest the matching variables.
Example: I type the letter 'y' and in the select box there should appear all available variables containing a 'y': 'y' $(YEAR) $(DAY) $(EXIF_YEAR) $(EXIF_DAY) $(CATEGORYn(category)) and so on... ... sorted by likelyhood (some intelligent guessing may be required)
When I add an 'e' to the 'y', the content of the select box should be updated: 'ye' $(YEAR) $(EXIF_YEAR)
When selecting an option it should be added to the input field at the position of the caret.
The help should only work on variable boundaries, meaning that if there is already a string like '$(YEAR)/$(YEAR)-', the next help should only appear when an additional letter is entered.
Example: '$(YEAR)/$(YEAR)-mo' $(MONTH) $(EXIF_MONTH) $(MODEL)
Alternatives An alternative (for not having the above) would be a link to the online documentation. That would at least save the user some time.
Additional context I am a PHP developer and I use PHPstorm IDE. The integrated intelligent help is incredible and really boosts productivity. That gave me the idea.
I absolutely agree, that this would be extremely helpful. Another option instead of auto-completion would be a '+add' button which opens a drop-down with all available variables (see image nr 3 in https://github.com/darktable-org/darktable/issues/9613#issuecomment-927370609)
This issue did not get any activity in the past 60 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.
Another approach would be some kind of 'path assembly tool'. A path for moving/renaming images could look like
/mnt/backup2/pictures/$(JOBCODE)/$(EXIF_YEAR)/$(EXIF_MONTH)/$(EXIF_YEAR)-$(EXIF_MONTH)-$(EXIF_DAY)/$(FILE_NAME)
That means a lot of typing variable names from memory.
Therefore I suggest some sort of path build tool, which allows for a path to be selected from the file system AND darktable variables to be added by selecting them with a mouse click.
It's just a different approach to the problem mentioned above. DT variables are a wonderful and very useful feature, just the UI could be made a bit more intuitive, especially when the input field is short and you see just part of the whole path.
In the import module the input field is in fact long enough. But the export module or the lua script 'rename images' would definitely benefit from an extra input window to edit the path. Lets call it a path assembly tool window.
I am sure the developers will come up with an elegant solution to this problem.
This issue did not get any activity in the past 60 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.
The export path entry box already seems to have part of this suggestion; when I type $( a list of supported variables appears (that is filter when I continue typing EXIT, for example.
So maybe this FR's title and OP could be clarified by specifying which further fields/dialogs this would be useful for. Thanks!
This issue did not get any activity in the past 60 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.
This issue was closed because it has been inactive for 300 days since being marked as stale. Please check if the newest release or nightly build has it fixed. Please, create a new issue if the issue is not fixed.