Laurent Monin
1c75c82eea
Move update_metadata_images() from imagelist to MetadataItem.metadataitem_update_metadata_images()
...
The long name is to avoid conflicts with existing update_metadata_images() in Album/Cluster
2024-05-23 10:05:22 +02:00
Laurent Monin
df8fa5f330
Move add_metadata_images() to MetadataItem
2024-05-23 10:05:22 +02:00
Laurent Monin
6db8ae5382
Move remove_metadata_images() from imagelist to MetadataItem
...
- it doesn't belong here anyway
- it depends on an object passed as obj -> self
- transitional: local imports
2024-05-23 10:05:22 +02:00
Laurent Monin
ad2753cacc
Make CoverArtImage sortable + matching tests
2024-05-20 18:30:20 +02:00
Laurent Monin
6bddf8e1b4
normalized_types(): return a tuple (hashable)
2024-05-20 18:30:20 +02:00
Laurent Monin
86736c5cc1
normalized_types(): ensure front type is first and the rest sorted
...
It fixes a minor issue where back cover could appear before front cover in dialogs showing those
2024-05-19 17:31:22 +02:00
Laurent Monin
6a1d568152
Test if methods listed in MetadataBox.LOOKUP_TAGS are valid FileLookup methods
2024-05-17 17:11:00 +02:00
Philipp Wolfer
5c366fd387
Simplified formats.open_
2024-05-14 13:57:37 +02:00
Philipp Wolfer
52635c7782
PICARD-2897: Try to guess format for files with unknown extension
2024-05-14 13:57:37 +02:00
Laurent Monin
e06667dad6
Introduce Columns, Column, IconColumn, and more classes
2024-05-13 17:40:13 +02:00
Philipp Wolfer
d61e10b26f
PICARD-2896: Support .ogx extension for Ogg container
2024-05-13 08:21:58 +02:00
Laurent Monin
a406ac9267
Add a config upgrade hook to avoid any issue with saved header state and lock
...
- if the header state was saved during lock it was actually saving the state sets by locking itself
- new code avoids this, and always save the state before locking
2024-05-10 21:53:15 +02:00
Laurent Monin
cbfda11da6
Move script functions extension point to extension_points
2024-05-10 10:56:19 +02:00
Laurent Monin
52c01f36d3
test_script: use mock.patch and drop hacky copy/restore/reset of ScriptParser._function_registry
2024-05-10 10:38:16 +02:00
Philipp Wolfer
be78939bcb
Removed deprecated webservice methods
2024-05-08 12:51:46 +02:00
Laurent Monin
02a023b5c5
Move MainAction to new picard.ui.enums
...
- prevent circular imports
- no need to initialize mainwindow module when only imported this enum
- move mainwindow/create.py to mainwindow/actions.py (it makes more sense)
- drop local imports that were added to prevent circular imports
2024-05-05 11:46:08 +02:00
Laurent Monin
048c22c28c
action_enabled() -> enable_action()
...
Suggested by outsidecontext
2024-05-05 11:04:46 +02:00
Laurent Monin
1995a4b66d
Move mainwindow.py to mainwindow/__init__.py, and mainwindow_actions to mainwindow/actions.py
2024-05-04 18:08:18 +02:00
Laurent Monin
4a1e98d07d
submit_acoustid_action -> MainAction.SUBMIT_ACOUSTID
2024-05-04 17:00:29 +02:00
Laurent Monin
7db474cc46
MainWindow: Drop action-specific enable_submit(), in favor of action_enabled()
2024-05-03 22:23:09 +02:00
Philipp Wolfer
870e6afbe7
PICARD-2882: Support OAuth2 PKCE
2024-05-03 16:43:36 +02:00
Philipp Wolfer
6b0933f7fa
PICARD-2880: Ensure ratecontrol.set_minimum_delay stores the delay as int
2024-05-01 12:13:42 +02:00
Philipp Wolfer
5d7295057c
Run Windows-1251 EAC log test only if charset-normalizer or chardet are available
2024-05-01 11:59:53 +02:00
Laurent Monin
6aa68cfd0e
Merge pull request #2442 from phw/datetime-utcnow-deprecation
...
Replace deprecated datetime.utcnow() with datetime.now(datetime.UTC)
2024-04-30 12:36:21 +02:00
Philipp Wolfer
5f76d9285c
Always detect_file_encoding ASCII as UTF-8
...
This ensures partially analyzed documents that are detected as ASCII
but contain UTF-8 encodings later in the file still get loaded. Also
it standardizes charset detection between chardet and charset_normalizers,
which previously differed on the \00 test case.
2024-04-30 11:38:49 +02:00
Philipp Wolfer
0cf178cd5d
PICARD-2879: macOS: Extend all paths in filebrowser with /Volumes/
...
This ensures that selected starting directory gets resolved correctly,
as the filebrowser only supports paths under /Volumes/, not directly under
/. On saving drop the /Volumes/ prefix for paths on the root volume.
2024-04-30 11:37:41 +02:00
Philipp Wolfer
8891f9cea2
Replace deprecated datetime.utcnow() with datetime.now(datetime.UTC)
...
datetime.utcnow is deprecated since Python 3.12
2024-04-30 11:30:51 +02:00
Laurent Monin
fbab1f1884
Add tests for picard.util.macos functions
...
Suggested by phw
2024-04-29 17:44:12 +02:00
Laurent Monin
e24d4f7e8a
Move remaining DEFAULT_* constants to const.defaults
...
Some imports are made locally to avoid circular import issues (mainly in `util` module)
2024-04-26 18:11:51 +02:00
Laurent Monin
34b046fe31
Drop class UserProfileGroups, use module level methods
2024-04-26 16:54:54 +02:00
Laurent Monin
5540f2fa0e
More consistent naming
2024-04-26 16:22:08 +02:00
Laurent Monin
5edad5d440
SettingDesc.fields -> SettingDesc.highlights, more consistent
2024-04-26 16:21:51 +02:00
Laurent Monin
784fae9c59
Fix up and add tests for UserProfileGroups
2024-04-26 15:06:45 +02:00
Laurent Monin
380f67093f
Get rid of register_profile_highlights()
...
Use UserProfileGroups.append_to_group() directly
2024-04-26 12:36:03 +02:00
Laurent Monin
7a0658d72c
Rework UserProfileGroups and fix tests
2024-04-25 19:26:39 +02:00
Laurent Monin
a6fb5ef647
Fix tests
2024-04-25 19:26:39 +02:00
Philipp Wolfer
89a75828f2
Fix upgrade hooks re-declaring options
...
Options must only be registered once. This includes upgrade hooks,
which must only access declared options or for removed options
access their raw value.
2024-04-25 17:42:08 +02:00
Laurent Monin
d7bb9dc0a2
Drop remaining bits of QtCore.QObject.config and QtCore.QObject.log
2024-04-24 07:01:45 +02:00
Philipp Wolfer
3b6b90d6a6
Fix unit tests after removal of QObject.tagger
2024-04-22 17:59:57 +02:00
Laurent Monin
10d2992253
import _ -> import gettext as _
2024-04-22 10:42:49 +02:00
Laurent Monin
fada4f0a40
Import gettext-related methods, instead of monkeypatching builtins
2024-04-21 23:24:03 +02:00
Philipp Wolfer
7251071435
Fixed debug opt test cases not being run
...
Fixed the naming of the test class so it actually gets collected and run
2024-04-21 17:48:44 +02:00
Bob Swift
495736a369
Include zip file in short path. Improve tests regarding plugin paths.
2024-04-15 12:47:16 -06:00
Bob Swift
44b1d028a8
Revert change removing the leading "plugins/"
2024-04-15 11:05:06 -06:00
Bob Swift
e827942a5a
Remove leading "path/". Start all absolute paths with "/".
2024-04-15 09:36:29 -06:00
Bob Swift
28f9f930af
Update plugin path shortening logic
2024-04-13 22:58:58 -06:00
Bob Swift
c74e6975f0
Merge pull request #2397 from zas/debug_opt_short_plugin_path
...
PICARD-2856: Introduce DebugOpt.PLUGIN_FULLPATH and shorten plugin paths in logs
2024-04-13 16:00:46 -06:00
Laurent Monin
fac0ed5155
Add support for title to Option.add_if_missing()
2024-04-13 18:20:36 +02:00
Laurent Monin
13b8fe1132
Remove titles from profiles
2024-04-13 14:09:30 +02:00
Laurent Monin
006944294e
Add option.get_title() method
...
Similar to Option.get_default()
2024-04-13 14:09:30 +02:00