Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
2025-08-25
| ||
20:00 | Implemented rendering cut helper lines above or below the cards. Leaf check-in: f16ad94b27 user: thomas tags: configurable_cut_markers | |
19:37 | Merge with trunk check-in: 0956d2b3de user: thomas tags: configurable_cut_markers | |
19:24 | Concurrent UI file compilation: Use asyncio to compile the Qt UI files concurrently. This reduces the wall time used significantly, as above 90% of the runtime was in the compiler call. Leaf check-in: 5a5a04c99d user: thomas tags: trunk | |
18:21 | PageConfigWidget: Update the UI file. Add tooltips, fix Buddy relations, and fix display texts. Add a checkbox to enable drawing above cards. check-in: 26d0cfff4f user: thomas tags: configurable_cut_markers | |
18:04 | PageConfigWidget: Set titles for the color picker dialogs. check-in: fe68dfba78 user: thomas tags: configurable_cut_markers | |
17:15 | RenderLayers: Add layer for cut lines above cards. check-in: 57c0a73b1f user: thomas tags: configurable_cut_markers | |
17:13 | PageScene: Refactor cut lines to use a QPen, instead of a QColor. Update the cut line color when the settings change. That makes the renderer use the currently selected cut line color. check-in: f1b8c616bc user: thomas tags: configurable_cut_markers | |
16:37 | PageConfigWidget: Enable alpha channel selection via QColorDialog.getColor(). Set parent to the dialog, and check, if the returned value is valid before proceeding. check-in: 52d08764af user: thomas tags: configurable_cut_markers | |
16:27 | PageConfigWidget: Do not emit page_layout_changed multiple times during loading from another PageLayoutSettings check-in: f9b9029a74 user: thomas tags: configurable_cut_markers | |
16:24 | PageConfigWidget: Implement saving the cut marker color to the application settings. Implement loading the cut marker color from other PageLayoutSettings instances. check-in: 0ac008aa1a user: thomas tags: configurable_cut_markers | |
15:48 | PageConfigWidget: Fix _on_cut_marker_color_opacity_changed() updating the wrong attribute. Fix load_from_page_layout() check-in: 2b82b4f955 user: thomas tags: configurable_cut_markers | |
15:24 | CentralWidget: Restore all pages tab header of the Tabbed layout. check-in: 6154c28c19 user: thomas tags: trunk | |
15:08 | Deck import wizard: Reclaim some horizontal space. Also remove all <hints> from signal/slot connections defined in .ui files. check-in: d95e9a83b7 user: thomas tags: trunk | |
11:38 | WIP Untangle ImageDatabase and image download tasks. Push the AsyncTask creation into the widgets creating the ActionAddCard instances. This shall remove the cross dependency between the ImageDatabase and the image download tasks. Leaf check-in: c53ae04eda user: thomas tags: async_tasks_package | |
2025-08-24
| ||
20:26 | Replaced deprecated typing aliases with their newer counterparts. check-in: 7857431744 user: thomas tags: async_tasks_package | |
19:44 | Moved print_count_updater.py and printing_filter_updater.py into async_tasks check-in: 1376df5d25 user: thomas tags: async_tasks_package | |
19:35 | Moved downloader_base.py, decklist_downloader.py and update_checker.py into the async_tasks package. check-in: 520f05b04c user: thomas tags: async_tasks_package | |
12:47 | Moved card_info_downloader.py into the async_tasks package. check-in: 8a22070c4a user: thomas tags: async_tasks_package | |
12:39 | Moved the ImageDownloadTask and subclasses from imagedb.py to the new mtg_proxy_printer/async_tasks/image_downloader.py check-in: 5c932e34ac user: thomas tags: async_tasks_package | |
12:21 | Moved DocumentLoader from model to async_tasks package check-in: a6f4ef02f7 user: thomas tags: async_tasks_package | |
12:14 | Introduce package mtg_proxy_printer.async_tasks, and move AsyncTask from runner.py into the renamed base.py check-in: a41828670e user: thomas tags: async_tasks_package | |
11:38 | DocumentLoader: Improve type hinting Leaf check-in: 8ac981467e user: thomas tags: refactor_async_tasks | |
2025-08-23
| ||
20:47 | Removed unused import check-in: fe0976ee80 user: thomas tags: refactor_async_tasks | |
20:32 | ProgressBar: Remove two unused attributes check-in: 878ca73c9d user: thomas tags: refactor_async_tasks | |
20:23 | Restore jitter-free behavior when batch tasks constantly spawn/hide sub-task progress bars. check-in: aab90894cc user: thomas tags: refactor_async_tasks | |
20:11 | Hide the image download task progress bar when a deck list import task starts. check-in: 289654a210 user: thomas tags: refactor_async_tasks | |
09:08 | Fix AsyncTask.__str__() by removing the duplicate method definition. ProgressBar: Use a lambda to fetch the current task description when deleting the task. check-in: 90bf85ecfb user: thomas tags: refactor_async_tasks | |
09:05 | ActionAddCard: Add missing parameter to super().undo() call check-in: 5dc42bd9e5 user: thomas tags: refactor_async_tasks | |
08:55 | AsyncTask: implement __str__(). Track the current running state and task for logging purposes. check-in: a52d4c780e user: thomas tags: refactor_async_tasks | |
2025-08-21
| ||
12:58 | ActionMovePage: Fix double call of super()-implementations in apply() and undo(). check-in: 689bbf7967 user: thomas tags: refactor_async_tasks | |
12:52 | Merge with trunk check-in: 6f6d3bcd54 user: thomas tags: refactor_async_tasks | |
12:47 | Fix inconsistencies with the move page up/down buttons. Properly recreate the page index to row mapping in Document. This ensures that the selected page is properly updated. check-in: 62ecb2198e user: thomas tags: trunk | |
08:20 | ImageDownloadTask: Rename get_image_synchronous() ot fetch_and_set_image(). Also make _remove_outdated_low_resolution_image() remove the parent directory, if it is empty. check-in: 2d5ae6dc47 user: thomas tags: refactor_async_tasks | |
2025-08-20
| ||
22:15 | DocumentLoader: Use the new ImageDownloadTask class to fetch images during document loading. imagedb.py: Remove the new unused, old ImageDownloader. check-in: b2c257818f user: thomas tags: refactor_async_tasks | |
18:11 | Fixed progress bar behavior. This looks like a success. check-in: 8f3f73b8c6 user: thomas tags: refactor_async_tasks | |
18:02 | Distributed logic from ImageDownloader into the ImageDownloadTask class hierarchy. The batch tasks use the sub-tasks API of AsyncTask to create a download progress task. This should be flexible enough to easily extend to allow batch tasks to download images concurrently. check-in: 542949fa35 user: thomas tags: refactor_async_tasks | |
17:15 | Remove dead code from ImageDatabase. This was a first draft for masking corners transparent, that wasn't removed when the code was moved to card.py. check-in: c3060a7452 user: thomas tags: refactor_async_tasks | |
2025-08-19
| ||
21:29 | ImageDatabase: Rename ImageDbTask into ImageDownloadTask check-in: 16e03783bc user: thomas tags: refactor_async_tasks | |
12:48 | Fix a SegmentationFault during document loading, caused by the ActionLoadDocument being collected by the Python garbage collector. Use a BlockingQueuedConnection to keep the DocumentLoader task alive until the document has safely received the ActionLoadDocument. This keeps the task's reference to the DocumentAction alive until a new reference is stored in the Document instance. check-in: e1c8266870 user: thomas tags: refactor_async_tasks | |
11:53 | Fix double connection of ImageDatabase.request_run_async_task check-in: 89ac2f1096 user: thomas tags: refactor_async_tasks | |
11:18 | Add tests for DocumentAction base class behavior. check-in: ca64cba42a user: thomas tags: refactor_async_tasks | |
11:07 | DocumentAction: Update the _already_applied attribute in apply() and undo() check-in: 09f85fd0a3 user: thomas tags: refactor_async_tasks | |
11:04 | DocumentAction: Unify code: Add parent:QObject parameter to all __init__() methods. All apply() and undo() now call the super implementation. Also raise IllegalStateError when trying to apply() or undo() twice in a row. check-in: 35c282f7ab user: thomas tags: refactor_async_tasks | |
06:23 | MainWindow: Removed legacy signal loading_state_changed, which was previously controlling the UI locking. check-in: 8b045319ee user: thomas tags: refactor_async_tasks | |
2025-08-18
| ||
14:54 | PNGRenderer: Use an internal QThreadPool, instead of using the global one. This allows setting the pool size to the desired number of threads, while avoiding the use of semaphores for load throttling. This also allows for easy waiting on the running compressor tasks, and thus keeps the task running until all compression threads finish. check-in: b28e2520a8 user: thomas tags: refactor_async_tasks | |
14:22 | Implemented a counter-based UI lock mechanism for critical sections in async tasks. check-in: 7028160351 user: thomas tags: refactor_async_tasks | |
08:35 | Tests: Adjust tests for MeteredSeekableHTTPFile, which no longer emits io_begin, if the UI hint is empty. check-in: c39f8f2e44 user: thomas tags: refactor_async_tasks | |
08:30 | Tests: Fix CustomCard creation in tests/model/test_card_list.py. The custom cards now carry a valid PNG image of the correct size, instead of an empty bytes instance. check-in: e2dd970ec0 user: thomas tags: refactor_async_tasks | |
2025-08-17
| ||
20:26 | MainWindow: Reimplement re-enabling the card data download on network errors. Adjust the main window tests that test this behavior for the new AsyncTask API. check-in: dc37d8d78b user: thomas tags: refactor_async_tasks | |
2025-08-16
| ||
13:27 | Fixed bad bugs in code to allow the app to start again. Add the new document settings keys to the global application settings and validation. check-in: 51d2171220 user: thomas tags: configurable_cut_markers | |