This ignores E501 (line too long), some indentation related errors and
configures gettext functions as known builtins, which makes the error
list for most files very short.
Messages in the generated UI files are ignored as well.
This reduces the number of warnings from ~2300 to ~200.
For example, for an artist dialog, loading into picard is not suitable.
Each child class of `SearchDialog` will provide an `accept_event` method,
which will call appropriate handler function for that event.
The accept button needs to be disabled to allow searching on pressing
return. If not disabled, the dialog closes on return. In commit a44c375,
focus out event of the table was used to disable the load button. This
doesn't works as the button will be disabled when user moves the mouse
towards the button (focus moves out of the table).
To avoid this, capture focus in event of `search_edit` widget.
Some noticeable points:
* Disable search action when query field (search box) is empty.
* Return also triggers accept event. To avoid this, each time focus moves
out of table, disable the accept button. This would allow searching
without the dialog getting closed.
... with checkbox state changes.Updating the state and reopening the dialog
for it to actually affect the query seems counter intuitive. Also, no need to
save state when dialog closes, as the setting will already be updated.
The dialog is somewhat analogous to track search dialog. Some noticeable
points are:
* Allow searching for albums from clusters, by right clicking.
* Move save and restore state/size logic to individual classes, from parent
class `SearchDialog`. Both dialogs have different number of columns, and
elements.
... for purpose of extracting label information. Reason being, `count`
element isn't present in `label_info_list` element of search xml.
Checking for length of children has same effect as with checking count
element.
Three parts:
(1) The monkey patching of EncodedTextSpec to ignore encoding errors
when using latin1 as encoding.
This gets replaced with a new id3text function which makes sure
that any value passed to mutagen can be encoded with the selected
encoding
(2) MultiSpec monkey patch to not null terminate a list of strings.
While this is valid according to the spec mutagen decided to terminate
all strings (not only the text lists handled here). If this is a
problem it should be discussed upstream (mutagen).
(3) compatid3 which implemented id3v2.3 support and added some
additional frames.
This gets replaced with the id3v2.3 support implemented upstream.
The additional frames still get passed to mutagen and, to match
the previous implementation, update_to_v23() gets wrapped to
allow some v2.4 only frames.
The newly added id3v2.3 code depends on mutagen 1.22+