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 | |