MTGProxyPrinter

Timeline
Login

Timeline

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

75 check-ins using file mtg_proxy_printer/print.py version c68e5ac818

2025-04-06
18:02
Add changelog entry Leaf check-in: fc938eff47 user: thomas tags: custom_card_import_dialog
17:45
Set the dialog window size to 900x500. check-in: d8bb73a742 user: thomas tags: custom_card_import_dialog
17:44
CustomCardImportDialog: Add spinbox to specify the target copy count when clicking the set copies button. check-in: 5e5ef08041 user: thomas tags: custom_card_import_dialog
17:31
Implemented setting all copy values to 1 and clearing the custom card table when clicking the delete button check-in: cd2a7d62f7 user: thomas tags: custom_card_import_dialog
17:29
MainWindow: Unify handling of dialogs and wizards. check-in: 88be39f16f user: thomas tags: custom_card_import_dialog
11:34
Implemented opening the custom card import wizard from an action in the main window check-in: 03c67497e2 user: thomas tags: custom_card_import_dialog
11:18
CustomCardImportDialog: Implemented adding images via a button and file selector. check-in: 1bc680fd48 user: thomas tags: custom_card_import_dialog
2025-04-04
12:46
Implement CustomCardImportDialog.accept(). Request applying an ActionImportDeckList when accepting the dialog. Connect that to document.apply(). Accepting the custom card import dialog now adds the imported custom cards to the document. check-in: d09f174082 user: thomas tags: custom_card_import_dialog
12:15
Add delegate class CardSideSelectionDelegate. This improves display of sides when editing the Side column check-in: a07615fedc user: thomas tags: custom_card_import_dialog
12:04
Rename SpinboxItemDelegate to BoundedCopiesSpinboxDelegate which better reflects the use of the class. check-in: a60db985d0 user: thomas tags: custom_card_import_dialog
11:36
CardListModel now uses get_image_for_tooltip_display() to show images of custom cards via tooltips when hovering over the card name column check-in: 84283babeb user: thomas tags: custom_card_import_dialog
11:35
Moved get_image_for_tooltip_display() from cache_cleanup_wizard.py to common.py check-in: 48c7027eb5 user: thomas tags: custom_card_import_dialog
11:02
Initialize the custom card name to the file name stem. check-in: 96ff305bc5 user: thomas tags: custom_card_import_dialog
10:58
Add additional Card attributes to the object hash. Includes the Image URI which also holds the file path for custom cards. This allows the model to deduplicate cards based on the file path. check-in: 0574a81d27 user: thomas tags: custom_card_import_dialog
09:53
Extend the CardListModel to allow editing columns of custom cards. check-in: b5540b8327 user: thomas tags: custom_card_import_dialog
2025-04-03
15:35
Move the creation of the sort model into the CardListTableView. Use the CardListTableView class in the CustomCardImportDialog. That ensures that the copies column is in a valid range. check-in: ddf5312527 user: thomas tags: custom_card_import_dialog
15:23
Add CardListTableView class, subclassing QTableView. This encapuslates the logic used to manage a card list in a class. Replace the plain QTableView in the deck list import wizard with the new class. check-in: a99a0cbbcd user: thomas tags: custom_card_import_dialog
14:20
Remove unused attributes in the PageConfigWidget and PageConfigContainer classes. Leaf check-in: 2cbbc31007 user: thomas tags: trunk
2025-04-02
22:24
Adjusted internals of the CustomCardImportDialog. It now has an actual model class to hold the cards, and displays them via the connected table view. check-in: f3099f5e2d user: thomas tags: custom_card_import_dialog
22:19
Implemented showing the CustomCardImportDialog when dropping images onto the main window. check-in: 31735059ed user: thomas tags: custom_card_import_dialog
2025-04-01
20:51
Merge with trunk. check-in: d8a4c9160d user: thomas tags: custom_card_import_dialog
13:36
Break long lines in README.md check-in: a0bb946382 user: thomas tags: trunk
12:39
Implemented saving custom cards in the native save file format. Major improvement for custom card support check-in: 3467478e43 user: thomas tags: trunk
12:37
Add changelog entry Closed-Leaf check-in: 9b8e196b3f user: thomas tags: save_custom_cards
12:24
Reworked creation of requirements*.txt files. Run the creation in parallel, reducing runtime from ~17s to ~7s. check-in: 61bfa050ae user: thomas tags: trunk
11:22
Perform additional database validation steps when opening document save files. Don't run PRAGMA integrity_check on the CardDatabase file, as that can take 30s, balooning application startup time. check-in: 6ada69b429 user: thomas tags: save_custom_cards
10:55
Remove MIN_SUPPORTED_SQLITE_VERSION constants in the code base. Remove SQLite library version checks from database validation logic. Centralize the version check in sqlite_helpers.py and run it during module import. This reduces complexity. check-in: e665f1db06 user: thomas tags: save_custom_cards
10:42
Support loading empty documents. check-in: 5e84be640d user: thomas tags: save_custom_cards
2025-03-31
10:28
Fix test_unknown_save_version_raises_exception() check-in: c5b964d0f2 user: thomas tags: save_custom_cards
2025-03-29
14:33
Fixed outdated mock path, fixing most of the failing document loader tests. check-in: a6733d995f user: thomas tags: save_custom_cards
14:23
Further fixes for the test suite. check-in: 3bfed0b5c5 user: thomas tags: save_custom_cards
12:11
Adjusted test cases check-in: e3325f9751 user: thomas tags: save_custom_cards
08:06
Implemented saving empty slots. Required relaxing the constraints on the scryfall_id and custom_card_id in the Card table check-in: 6b3e3ab95f user: thomas tags: save_custom_cards
2025-03-28
23:34
Implemented loading empty cards. check-in: efe940969f user: thomas tags: save_custom_cards
14:57
Merge with trunk check-in: ce96e05fe9 user: thomas tags: save_custom_cards
14:48
Extracted the page card table view into a dedicated class. This moves most of the logic out of CentralWidget, as most of the present logic dealt with the table custom context menu. check-in: 67360d8140 user: thomas tags: trunk
13:22
Restore connection from delete_selected_images_button to page_card_table_view.delete_selected_images. Closed-Leaf check-in: 94178036d9 user: thomas tags: extract_page_card_table_view_class
13:16
Fix segmentation fault happening when clicking a row in the PageCardTableView. Connect the selectionChanged signal to a Slot method instead of a lambda, which resolves the crash. And an additional bit of code cleanup. check-in: 3851dc7bd8 user: thomas tags: extract_page_card_table_view_class
12:56
Dev environment: create_development_environment scripts now echo that creating requirements.txt will take a while before generating them. check-in: 5ac4445565 user: thomas tags: extract_page_card_table_view_class
12:55
Minor clean-up in WizardBase._set_default_size() check-in: 6e2775b89b user: thomas tags: extract_page_card_table_view_class
12:11
Move tests for the PageCardTableView into a dedicated module. Remove dependency on the main_window fixture for these tests, which speeds up the execution. check-in: 8ba7aebe03 user: thomas tags: extract_page_card_table_view_class
11:24
Use functools.cache for cached_dedent(), if it is available. check-in: 14030e571e user: thomas tags: extract_page_card_table_view_class
11:16
Run PRAGMA integrity_check during validate_database_schema() check-in: 656e6c5f26 user: thomas tags: save_custom_cards
2025-03-27
22:39
Use the new PageCardTableView class in the CentralWidget UI files. Fix a @Slot() decorator check-in: 3d696d39ae user: thomas tags: extract_page_card_table_view_class
22:28
Moved additional components. Add the page_card_table_view.py module that should have been added in the last check-in. check-in: f7157d11eb user: thomas tags: extract_page_card_table_view_class
22:13
Extract the PageCardTableView as a dedicated class. Most of the CentralWidget logic is related to setting up the page card table view, and its custom context menu. Encapsulate all that in a dedicated class. check-in: 436980c684 user: thomas tags: extract_page_card_table_view_class
14:49
Adjust test_save_migration() and schema validation testing for the proper target schema version check-in: e27771c553 user: thomas tags: save_custom_cards
14:26
Fix the registered adapter for TIMESTAMP. Fixes Python warning. check-in: 8ac57a45c5 user: thomas tags: save_custom_cards
14:24
Fix card database migration code. Replace the implicit and deprecated SQL TIMESTAMP converter with an explicit one. Adjust the code to handle getting datetime instances directly from the database. check-in: 9b2b20c59b user: thomas tags: save_custom_cards
2025-03-26
19:14
Implemented loading document-v7, including custom cards. The implementation is not yet tested and hardened against bad save data. A first round-trip save/load cycle worked. check-in: fb701aeb1e user: thomas tags: save_custom_cards
19:12
Schema change: Declare boolean columns with type BOOLEAN_INTEGER and register a converter to bool. check-in: e5a4811447 user: thomas tags: save_custom_cards
13:45
DocumentLoader: Use from imports for typing imports check-in: 65dc5fdea9 user: thomas tags: save_custom_cards
12:55
Only VACUUM the save file, if the number of free database pages exceed 10% of the total page count. check-in: a11d99e3d7 user: thomas tags: save_custom_cards
2025-03-25
18:47
Tests: Validate that save file migration scripts set the user_version pragma to the correct value check-in: 05f4f9695e user: thomas tags: save_custom_cards
18:38
Implemented saving document version 7, including custom cards. check-in: 440b2139f7 user: thomas tags: save_custom_cards
18:37
Fixed _migrate_6_to_7() not updating the user_version field. check-in: c1f731a4cc user: thomas tags: save_custom_cards
2025-03-23
16:12
Add table Page to the document save file. Allows storing the image size of the page, to support sizes of blanks check-in: 0cf4256c7d user: thomas tags: save_custom_cards
16:02
MagicWorkstationDeckListParser: Improve parser compatibility, by also allowing single space characters between the sideboard note and the number of copies. Ensures compatibility with mwDeck files obtained from [https://mtgen.net] check-in: 639a73228d user: thomas tags: trunk
15:45
README: Fix link to the XMage homepage, as the project switched the domain check-in: 9ac5254edf user: thomas tags: trunk
13:05
Partial, complete rewrite of the document loader logic. The document save file format needs additional amendments to support storing size information for pages. As of now, blank slots cause issues, because they don't contain image size information, and thus cannot be loaded. check-in: b28103889c user: thomas tags: save_custom_cards
2025-03-22
23:09
Partial implementation for loading document settings from document-v7 save files. check-in: 9af679f0dc user: thomas tags: save_custom_cards
22:43
Written save file migration code from document-v6 to document-v7 check-in: fcffce34ff user: thomas tags: save_custom_cards
22:42
Save file schema: The DocumentSettings value column must allow empty strings to support empty document titles. check-in: e6ad8fccd3 user: thomas tags: save_custom_cards
13:50
Save file schema: Add missing type column to the Card table. This is still required to distinguish regular cards from DFC check cards check-in: d0787d4316 user: thomas tags: save_custom_cards
12:56
Import unit tests from trunk check-in: 7fe861fc68 user: thomas tags: save_custom_cards
12:52
Implement test for _migrate_5_to_6(). Cleaned up imports. check-in: 516971ed14 user: thomas tags: trunk
11:38
Add test module tests/test_save_file_migrations.py. Contains tests verifying the correctness of the save file migration. Currently validates database schema. Partially validates data migration. check-in: 13b830d80f user: thomas tags: trunk
09:26
Ignore the translation sources file, which is automatically generated by the translation tools check-in: 9956d1c88c user: thomas tags: trunk
09:24
Add draft for a custom card import dialog. It is supposed to allow setting data like number of copies, card name, etc when dropping images. And also allow loading images to make the feature accessible without drag&drop by adding a menu entry for it. check-in: 8255a732f1 user: thomas tags: custom_card_import_dialog
09:21
Improve save schema comments and constraint descriptions. check-in: 93d7c47220 user: thomas tags: save_custom_cards
2025-03-21
14:29
Add draft for document save file version 7. It allows storing custom cards in a table, together with metadata like set, name, etc for future use. Document settings are set to TEXTual column type affinity to avoid coercing document tiles like "01.0" to "1". Dimensional settings, like margings are moved into the DocumentDimensions table, which will be converted to pint Quantities on the fly. check-in: 23395ea245 user: thomas tags: save_custom_cards
13:17
Move ImageKey and CacheContent dataclasses from imagedb.py into a separate module. This avoids a cyclic import work-around. check-in: bf9caa9e7d user: thomas tags: trunk
2025-03-20
14:42
MeteredSeekableHTTPFile: Fix a few static analysis warnings. Add comments explaining whence flag values in the code. check-in: 0444b622e8 user: thomas tags: trunk
14:25
Moved document saving logic from a Document method into a dedicated save Action class to encapsulate the functionality. Moved the PageLayoutSettings from document_loader.py into a dedicated module to reduce the interdependencies. This reduces the likelihood of cyclic imports. check-in: 1b919d949b user: thomas tags: trunk
14:09
Moved the PageLayoutSettings class from document_loader.py into a dedicated module. This decouples the class from the document loader and reduces import graph complexity. Closed-Leaf check-in: 0bd41d28f3 user: thomas tags: document_save_action