When fingerprinting is disabled and the user tries to use scan, Picard asks the user if they want to open the options to configure fingerprinting. After the user has enabled fingerprinting Picard is supposed to perform the action. This commit restores this functionaility which broke in f8eb755.
Since there is now a dedicated "Generate fingerprints" action the user can still choose to re-generate the fingerprints if needed. Also they can first use "Generate fingerprints" and do the lookup based on those fingerprints later.
This just fingerprints the files, without actually searching for matches. This allow users who just want to submit fingerprints to analyze already matched files or to analyze and match files manually.
Using checkable=True in QAction constructor is undocumented. It is working currently but might break in future versions similar to how QActionGroup(..., exclusive=...) broke with PyQt 5.14.
In PyQt 5.14 the exclusive parameter for QActionGroup is no longer available. Also QActionGroup is exclusive by default in Qt5, so there is no need to set this.
The version identifier was previously compared alphabetically, which fails for e.g. "dev" < "alpha".
Implement proper version comparison by introducing a Version class (inherited from tuple).
Elided text + automated word wrap does not work properly. Qt only wraps the text properly if it fits into the given height, otherwise it switches to manual line breaks.
Hence change the rendering to only use manual line breaks. This still gives better results for lyrics and comments without breaking the display.
Removed the separate input for the script name in the script editor and enabled inline editing in the script list. Added a context menu for the editing.
This omits the dot before the version identifier. Avoids setuptools warning about version normalization for alpha, beta and rc versions.
Note that it is still ".dev1", this is also according to PEP 440.
For Picard versions support the version identifiers 'alpha', 'beta' and 'rc' again (in addition to 'final' and 'dev'). This used to be supported, but got lost at some point
Long version strings will be e.g. 2.3.0beta2. If the shortened string is generated the idenfitiers for alpha and beta will be shortened to 'a' and 'b' (e.g. 2.3.0b2). This confirms to pre-release versioning is defined in PEP 440.
This reduces execution time for unicode_simplify_compatibility, unicode_simplify_punctuation and unicode_simplify_combinations to around ~54% - 75% of the previous time (depending on pathsave and win_compat parameters).
With this change backslashes can be used in filenames on systems other than Windows. Only if Windows compatibility is activated backslashes will be replaced as before.