MTGProxyPrinter

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

120 check-ins using file build_MTGProxyPrinter_packages.sh version b45e0413dc

2024-05-18
11:43
AddCardWidget: Honor any card name filter when switching the selected language. Fixes [0ead0455412fe659] Leaf check-in: 7c05a95a15 user: thomas tags: trunk
11:29
Improve print switching. Fixes [549fa41374aa99fa] and [91a01402742ea685]. check-in: 1709ec68e3 user: thomas tags: trunk
2024-05-17
14:06
Changelog: Re-worded an entry. Leaf check-in: 82c2a9cdd8 user: thomas tags: fix_print_switching
13:10
Fix crash when switching the card language, if all printings in the source language are hidden by card filters. check-in: a0b4fefcfa user: thomas tags: fix_print_switching
11:27
Properly round-trip data of hidden printings in get_available_sets_for_card() and get_available_sets_for_card() check-in: e9b25b7721 user: thomas tags: fix_print_switching
2024-05-16
08:30
WIP attempt at designing a query that round-trips the data of hidden printings, in case those are present in the document. check-in: aeab82e433 user: thomas tags: fix_print_switching
07:37
tests: Add helper update_database_printing_filters(), which implements updating the printing filters of the given card database to provided values. check-in: 08ca847ca6 user: thomas tags: fix_print_switching
2024-05-15
15:48
Add changelog entry. check-in: 50ae206700 user: thomas tags: fix_print_switching
14:57
Sort the returned set codes by release date. check-in: 2b89f47729 user: thomas tags: fix_print_switching
14:56
Fix another typo in test data. check-in: 25d5bedbbe user: thomas tags: fix_print_switching
14:54
Fix an error in test data. A JSON sample was loaded twice, instead of loading two distinct samples. check-in: d5199f7860 user: thomas tags: fix_print_switching
14:51
Properly handle card language, and de-duplicate results. check-in: 486c5a2d26 user: thomas tags: fix_print_switching
14:42
CardDatabase: Add WIP methods get_available_sets_for_card() and get_available_collector_numbers_for_card_in_set(). First returns the sets the given card is available in, the second returns the collector numbers the printing is available in within it's own set. check-in: 0a2f54fabd user: thomas tags: fix_print_switching
13:57
Add three JSON samples for Spirit tokens, that will be used in test cases. check-in: 3cc40b4577 user: thomas tags: fix_print_switching
2024-05-14
12:04
CardDatabase: Improve docstring for find_related_cards, updating it to the new semantics. check-in: 655d6af3bb user: thomas tags: trunk
2024-05-09
15:49
Add new card filter for Art Series cards. check-in: a0a2162a5a user: thomas tags: trunk
15:07
Improve the related card search: The search now finds token cards created by Dungeons. check-in: 4336a63d4e user: thomas tags: trunk
14:03
Removed instance tracking of MeteredSeekableHTTPFile instances. check-in: d99a0d7769 user: thomas tags: trunk
11:19
Use a dict to store instances in the Runner base class. check-in: 5cea0b88aa user: thomas tags: trunk
09:32
Add a few comments to the card info downloader. check-in: 310d05bbfd user: thomas tags: trunk
07:39
Merge bugfix from v0.28.x branch check-in: c3064fb3be user: thomas tags: trunk
2024-05-07
17:23
Release version 0.28.2 Leaf check-in: 651a2ce3c0 user: thomas tags: release, v0.28.x, v0.28.2
15:59
Implement fully automatic basic land removal in the deck import setting, and a settings option to enable/disable this. Implements [b2f3c8206d645eb6]. check-in: 138dc9d107 user: thomas tags: trunk
13:18
settings: validation and migration functions updated to use a different parameter name that does not shadow the settings object from module scope. check-in: 99cc4706b8 user: thomas tags: trunk
13:08
Add a label showing the last database update to the About dialog. Implements [380e741c5de8624d]. check-in: 6ebf65c941 user: thomas tags: trunk
2024-05-06
11:49
Release version 0.28.1 check-in: d8bad16b5c user: thomas tags: trunk, release, v0.28.1
11:21
tests/test_document.py: Replace use of TemporaryDirectory context manager with the tmp_path PyTest fixture. This mitigates permission denied errors in the test suite on Win10. check-in: ac7cdaf56f user: thomas tags: trunk
10:53
tests/ui/test_page_scene.py: Remove all unused qtbot fixture uses. check-in: 176a3efad3 user: thomas tags: trunk
10:41
Actually use the ijson use_float API parameter to enable use of faster float() numbers. It seems to have been dropped previously, somehow. check-in: 3067d19708 user: thomas tags: trunk
07:39
scripts/compile_ui_files.py: Fix DeprecationWarning. check-in: 40a840ba4f user: thomas tags: trunk
07:24
Rework requirements compilation script. Leaf check-in: fbdc5d77ec user: thomas tags: recompile_requirements
06:31
Move compilation of requirements*.txt files into a dedicated script for reusability. check-in: f60659ea00 user: thomas tags: recompile_requirements
06:06
Also install the packaging tools into the development virtual environments. check-in: 29c29d008a user: thomas tags: trunk
06:04
create_development_environment.sh: Use the venv module to create the virtual environment, instead of virtualenv. check-in: 2736ca37f0 user: thomas tags: trunk
2024-05-05
19:21
Fix [3d7336c562aa18f7]. Downloading images via the MissingImagesManager properly emits the document dataChanged signals, causing the PageScene to update as intended. check-in: f80a76e87f user: thomas tags: trunk
18:47
Improve wording in the changelog. check-in: add7ebd38b user: thomas tags: trunk
18:00
Add changelog entry. check-in: e28d339eb5 user: thomas tags: trunk
17:57
Implement fix for [ad0d4560d70f7d04], including unit tests. check-in: 8e9d7275b6 user: thomas tags: trunk
17:54
Implement fix for [ad0d4560d70f7d04], including unit tests for card bleeds with two images. Closed-Leaf check-in: fa94deabdb user: thomas tags: fix_card_bleed
16:39
Tests: Add test case verifying that the CardItem origin point is equal to the origin of the contained card pixmap item. Also a few cleanups in another test. check-in: 221ea7ec8c user: thomas tags: fix_card_bleed
16:05
Tests: Add test_card_bleed_with_single_card test case verifying the card bleed rendering with a single card on the page. check-in: 53c6e3a340 user: thomas tags: fix_card_bleed
12:18
Add tests for sharp corner rendering. check-in: 4cfb5c524b user: thomas tags: fix_card_bleed
2024-05-02
12:59
Implement crude "round corners" for generated pixmaps. check-in: 6ddb0532bb user: thomas tags: fix_card_bleed
12:42
Tests: Replace boolean oversized parameter in create_card_with_pixmap() helper with a size parameter taking in a CardSize instance. check-in: 6f9be8556d user: thomas tags: fix_card_bleed
2024-05-01
14:28
Tests: Simplify and unify action application in tests/ui/test_page_scene.py. Always use document.apply(action). Also stop using the wait_signal() context manager, since action application is fully synchronous. check-in: 2746000e7a user: thomas tags: trunk
14:11
pyproject.toml: Add Python 3.12 to the supported versions classifier list. check-in: 37e46c7abd user: thomas tags: trunk
14:05
Dependencies: Require ijson 3.2.1 when running on Python 3.12. Also preemptively exclude "ijson.benchmark" from built packages, which will be included in future ijson versions. check-in: c6e1b9ab9f user: thomas tags: trunk
13:53
Dependencies: Bump minimum required version of PyHamcrest to 2.0.0. Tests already required it, so running the application only on 2.0 or later is reasonable. check-in: 8ad0978325 user: thomas tags: trunk
13:50
Add dependency on typing_extensions, when running under Python 3.10 or older. It was previously a transitive dependency of pint. Use typing_extensions for Self and NotRequired, instead of hacking something together. check-in: f578ec5ec9 user: thomas tags: trunk
2024-04-27
13:01
Fix a typo in a variable name check-in: 7774985a79 user: thomas tags: trunk
2024-04-26
13:39
test_page_scene: Refactor create_card_with_pixmap() helper. Remove the document parameter. Make the pixmap color configurable, defaulting to transparent. Use the CardSize enum to determine the image size, instead of hard-coding the dimensions in pixels for oversized cards. check-in: b4e0cecc45 user: thomas tags: trunk
2024-04-23
07:04
Merge fork Leaf check-in: 1057bac760 user: thomas tags: enum_based_paper_size
2024-04-22
09:11
WIP test loading various page layout settings from a save file. check-in: 7e45dc12dc user: thomas tags: enum_based_paper_size
2024-04-21
18:58
Sync with trunk check-in: dcacf3ca39 user: thomas tags: enum_based_paper_size
18:40
Mostly whitespace changes to reduce the diff between trunk and the port_pyside6 branch check-in: b925736397 user: thomas tags: trunk
18:29
Use the proper Qt enums in HoverEventFilter.eventFilter() check-in: 5c09339851 user: thomas tags: trunk
18:28
Pull Ui compiler improvements and class name / ui class name alignment improvements from branch [port_pyside6]. check-in: 55b69bba3a user: thomas tags: trunk
18:19
Merge fork. check-in: 9e133072a2 user: thomas tags: enum_based_paper_size
11:47
test_document_loader.py: Further reduced boilerplate code. All tests now use helper functions _load_from_memory_database_expecting_success() or _load_from_memory_database_expecting_failure() to load data from an in-memory database. check-in: 0fa534983b user: thomas tags: enum_based_paper_size
11:19
test_document_loader: Decompose a complex test into 3 separate tests. Refactor common code into re-usable functions to reduce boilerplate code. One test is still WIP. check-in: 6d155b36ad user: thomas tags: enum_based_paper_size
11:16
test_document_loader: Reduce verbosity in test parameter generation. check-in: 256b338409 user: thomas tags: enum_based_paper_size
2024-04-19
13:23
Use the correct PageSizeId for "Custom" paper sizes, instead of using -1. check-in: ada8ebbc94 user: thomas tags: enum_based_paper_size
13:22
settings: Attempt at reading the default paper size from the default printer, instead of hard-coding it to A4. check-in: c42ccb2ecf user: thomas tags: enum_based_paper_size
13:21
units_and_sizes.py: Extract the test if a page size is acceptable into a re-usable function. check-in: 4ed219c92d user: thomas tags: enum_based_paper_size
12:47
units_and_sizes.py: Fix style warnings check-in: fcee8f673f user: thomas tags: enum_based_paper_size
10:15
Use localized paper size names when displaying them to the user in the PageConfigWidget check-in: d3e883b2cd user: thomas tags: enum_based_paper_size
10:08
Revert last change. The reverted code used potentially localized names as entries in the configuration file/save file, making both non-portable. check-in: 683811de76 user: thomas tags: enum_based_paper_size
2024-04-18
18:05
Add changelog entry. check-in: be31f5895f user: thomas tags: enum_based_paper_size
15:56
Use the paper size names obtained from QPageSize.name() as the string-representation of paper sizes. check-in: 3702a96bb0 user: thomas tags: enum_based_paper_size
15:44
Move page size and orientation enum dicts from settings.py to units_and_sizes.py. check-in: 7278a372ee user: thomas tags: enum_based_paper_size
10:22
PageConfigWidget: Implemented saving the page orientation to application settings, and highlighting the ui element when changed. check-in: dbf1d06107 user: thomas tags: enum_based_paper_size
10:17
PageConfigWidget: Populate the orientation combo box, and implement loading the current state from the application or document settings. check-in: 0d66526b29 user: thomas tags: enum_based_paper_size
2024-04-17
21:33
Settings: Add key paper-orientation to the documents setting. It stores if the document is in Portrait or Landscape mode. PageLayoutSettings: Add property page_orientation. Handle portrait/landscape handling in the page_height/page_width properties. check-in: a85dcd97a6 user: thomas tags: enum_based_paper_size
20:57
DEFAULT_SETTINGS: Lookup the A4 paper size from the PageSizeReverse dict, instead of hard-coding the string value. check-in: ef86234f90 user: thomas tags: enum_based_paper_size
20:51
settings: Refactor enum-reading code: Split logic for reading arbitrary enums inside PyQt classes from the post-processing code needed for the QPageSizeId enum. check-in: a6b5f1e0e1 user: thomas tags: enum_based_paper_size
19:56
settings: Remove paper sizes that cannot fit a single oversized card. check-in: d4f31b50d2 user: thomas tags: enum_based_paper_size
19:41
PageConfigWidget: Actually update the paper_size property in _on_paper_size_changed() check-in: 2af4de2732 user: thomas tags: enum_based_paper_size
19:30
PageLayoutSettings: Use the static QPageSize.size() in the page_height and page_width properties. check-in: a5cfaea8af user: thomas tags: enum_based_paper_size
19:29
PageLayoutSettings.to_page_size(): Add two logging lines. check-in: 4d083dbd11 user: thomas tags: enum_based_paper_size
19:22
Actually validate and update the paper size setting when changed by the combo box in the settings UI. check-in: 849dec4ec2 user: thomas tags: enum_based_paper_size
2024-04-11
14:41
PageLayoutSettings.to_page_layout(): Implement two code paths. One for predefined paper sizes and one for custom paper sizes. check-in: 925a1cf0e5 user: thomas tags: enum_based_paper_size
14:39
settings: The PageSize lookup dicts now use QPageSize.PageSizeId, instead of QPrinter.PageSize. Both are semantically the same, but the type system requires the first. check-in: a9273cb70d user: thomas tags: enum_based_paper_size
14:38
PageConfigWidget: Rename the custom page size widgets in the Ui class by adding the "custom_" prefix. check-in: 78b661a353 user: thomas tags: enum_based_paper_size
14:04
PageLayoutSettings now returns the paper dimensions for non-custom paper sizes by querying the Qt QPageSize class. check-in: 6331013c55 user: thomas tags: enum_based_paper_size
13:56
Update the verification logic when loading settings from a document to check the custom page dimension fields for valid values. check-in: 895a845bc5 user: thomas tags: enum_based_paper_size
13:54
PageLayoutSettings: Rename page_height to custom_page_height and page_width to custom_page_width. Add properties page_height and page_width with setters, delegating to the custom values. check-in: e18dae2cdd user: thomas tags: enum_based_paper_size
13:38
Add paper_size attribute to the PageLayoutSettings class. check-in: 9fa3c4bc86 user: thomas tags: enum_based_paper_size
13:28
settings.py now uses the TypeVar from units_and_sizes.py check-in: ee79d80a1d user: thomas tags: enum_based_paper_size
13:27
Add a generic type variable to units_and_sizes.py check-in: e84a0f8702 user: thomas tags: enum_based_paper_size
13:09
Settings: Add "paper-size" to the default document settings. Move the QPrinter.PageSize enum parsing into settings.py. Setting "paper-size" defaults to "A4". If not "Custom", it will take precedence over the paper-height-mm and paper-width-mm settings. Validation checks, if the value is one of the known constants. check-in: dd67b7958f user: thomas tags: enum_based_paper_size
09:49
Add a drop-down to the PageConfigWidget, listing all known, common paper sizes. The paper size table is filled by iterating over QPrinter. See [https://stackoverflow.com/questions/39676200] check-in: 040ac4fab7 user: thomas tags: enum_based_paper_size
09:01
Remove two debug logging lines in the PageConfigWidget. check-in: 19b91df610 user: thomas tags: trunk
2024-04-10
18:44
Improvements to the compilation scripts. Improve module docstrings, and type annotations. check-in: 924cf956c2 user: thomas tags: trunk
2024-04-09
21:24
Reorder imports in scripts/compile_resources.py and use from-imports for pathlib.Path check-in: 455fdc9f68 user: thomas tags: trunk
21:08
Add a landscape bug workaround to the PDF and printer settings. If enabled, PDF exports / direct prints of landscape documents are rotated by 90° internally. check-in: f00db60353 user: thomas tags: trunk
21:06
Add changelog entry. Closed-Leaf check-in: 5302908350 user: thomas tags: landscape_workaround
20:42
Reword the PDF landscape workaround tooltip in the settings window. check-in: 985a3a2b73 user: thomas tags: landscape_workaround
20:13
Implemented rotating direct printouts when landscape workaround in the printer settings is enabled. check-in: cb96d6c46f user: thomas tags: landscape_workaround
18:13
Add landscape workaround setting to the printer settings. Add checkbox for toggling this to the printer settings UI. check-in: 5ca45a7a17 user: thomas tags: landscape_workaround
18:05
Add a checkbox toggle to the PDF settings to change the landscape workaround for PDF exports. check-in: 9c515bfde3 user: thomas tags: landscape_workaround
17:44
Add boolean setting "landscape-compatibility-workaround" to the pdf-export settings section. If set to True and the document is in landscape format, the PDF export is rotated 90°. check-in: c89cdae748 user: thomas tags: landscape_workaround
17:36
Merge with trunk. check-in: ad8f614d2b user: thomas tags: landscape_workaround
17:25
Refactor settings: Move PDF-export related settings into their own config section named "pdf-export". check-in: cf5b51e82d user: thomas tags: trunk
16:50
hasgetter.py: Improve type hinting, according to [https://github.com/hamcrest/PyHamcrest/pull/209]. check-in: 13edcea509 user: thomas tags: trunk
2024-04-01
13:51
Use Path.with_name()/Path.with_stem() where appropriate. check-in: 7686c43c12 user: thomas tags: trunk
2024-03-31
19:53
Dependencies: Fix dependency specification on pint: Use pint < 0.22 on Python 3.8. Do not compare the platform, so that Windows builds using newer Python can also use newer pint versions. check-in: 45d635eec1 user: thomas tags: trunk
18:52
MANIFEST.in: Fix path to doc/ThirdPartyLicenses.md check-in: f6bf63b29d user: thomas tags: trunk
2024-03-29
19:57
WIP port to typed-config. Still incomplete! Leaf check-in: b85ca6947c user: thomas tags: typed_config
2024-03-28
17:41
Dependencies: Bump typed-config to >= 1.4, which adds boolean_cast to typedconfig.casts, implementing support for boolean configuration values. check-in: 1183f78180 user: thomas tags: typed_config
12:16
Rename settings objects: The legacy settings and default settings are now named with suffix _old/_OLD. The new typed config took the previous names. check-in: 1588f467fb user: thomas tags: typed_config
11:49
settings.migrate_settings() now returns a boolean. Returns True, if at least one migration script performed a transformative action, False otherwise. check-in: 98f8413c7a user: thomas tags: typed_config
11:22
Add a copy of the application settings using typed-config. check-in: 7bf03fd3f8 user: thomas tags: typed_config
09:08
Add dependency "typed-config" [https://pypi.org/project/typed-config/]. check-in: eee92673d5 user: thomas tags: typed_config
00:24
Update the build system and cleaned up the repository root a bit. check-in: c3d963bc18 user: thomas tags: trunk
00:22
tox.ini: Use the same one-liner also on Linux. With this, drop the dependency on external commands move (Windows) and mv (Linux). Closed-Leaf check-in: 846094c302 user: thomas tags: refactor_build_system
00:16
tox.ini: Windows move command seems to not work, so use a Python one-liner instead. check-in: b29dcbe5d7 user: thomas tags: refactor_build_system
2024-03-27
23:45
Fix moving the resources directory on Windows. check-in: 85553db8ba user: thomas tags: refactor_build_system
23:45
Move ThirdPartyLicenses.md into the doc directory. check-in: bba9f64356 user: thomas tags: refactor_build_system
23:29
tox.ini: Move the raw resources out of tree after compiling them. Move them back into place in teardown code. With this, the unit tests running under the "compiled" factor do not have access to the raw resource/UI files, mimicking the state inside a frozen application bundle. check-in: 0a0c68be84 user: thomas tags: refactor_build_system
22:57
The packaging scripts now only use the native Python 3 version to package, and not any additional versions that may be around. check-in: 882e6bf7d5 user: thomas tags: refactor_build_system