Commit Graph

1230 Commits

Author SHA1 Message Date
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