MTGProxyPrinter

Timeline
Login

Timeline

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

50 most recent check-ins

2025-05-18
13:59
Double the export card images dialog width to 600px. This shows more of the selected directory path. Leaf check-in: 5c912b947e user: thomas tags: trunk
13:53
Implement exporting card images to a directory. check-in: adc58b9007 user: thomas tags: trunk
13:53
Update translations from Crowdin Leaf check-in: e2a128619d user: thomas tags: export_card_images
13:50
Needs to submit str literals to QDialog.tr() for translation to work. check-in: 7d3196be7c user: thomas tags: export_card_images
13:43
Implemented error reporting when exporting cards fails. check-in: 4a6bf04930 user: thomas tags: export_card_images
13:42
Fixed Card.is_custom_card check-in: cebad57e8c user: thomas tags: export_card_images
13:27
Update translations from Crowdin check-in: b95416f31f user: thomas tags: export_card_images
13:07
Fix crash in item delegates introduced in [e34871803fd1df70]. check-in: 2945c05ddc user: thomas tags: trunk
13:01
Additional fixes. Do not export the same custom card multiple times, if there are multiple copies. Do not try to export blank placeholders as official cards. check-in: e811c35a62 user: thomas tags: export_card_images
12:51
Support exporting custom cards check-in: 816a9285ab user: thomas tags: export_card_images
12:23
Actually honor the card selection check boxes. Document.get_all_image_keys_in_document() now only works with official cards. ExportCardImagesDialog() now uses the check boxes to enable the section for official cards and custom cards based on what is enabled. Custom card export is still TODOâ€. check-in: bfa529d95d user: thomas tags: export_card_images
12:11
Add changelog entry. check-in: 8ea042c4b0 user: thomas tags: export_card_images
11:53
ProgressBar: Ensure the instances are re-usable, by resetting the visibility of UI items in the begin_task slot Leaf check-in: 30c90c4622 user: thomas tags: refactor_async_tasks
11:46
ProgressBar: The task does not need to be wrapped in a weak ref. Changes in [2a5d0c374bfc67d8] made this unneccessary check-in: c9c321625b user: thomas tags: refactor_async_tasks
11:41
Remove bad, automatically added import. check-in: 63b1d7d1e2 user: thomas tags: refactor_async_tasks
11:40
Fully removed the CardInfoDownloader class. check-in: 761de06f4a user: thomas tags: refactor_async_tasks
2025-05-17
14:47
Dynamic progress bar creation via an API that takes AsyncTasks, creates a progress bar for them, and then runs the task in a thread. Automatic progress bar deletion when a task completes. check-in: 861b13b734 user: thomas tags: refactor_async_tasks
14:38
WIP removal of the CardInfoDownloader class. The API methods are no longer used. The code previously using the API now directly instantiate the AsyncTasks and request their execution. Closed-Leaf check-in: f18112f8c3 user: thomas tags: refactor_progress_bars
14:09
Ported additional progress reporting in the card data importer to the new API. Moved creation of the FileDownloadTask directly to the settings DebugPage, where the user selects the target directory. This avoids passing the selected path around multiple hops. Instead, the settings dialog passes the task to the main window for scheduled execution. check-in: 2b7a1992a6 user: thomas tags: refactor_progress_bars
13:53
Ported the high-level card data import/download tasks to the AsyncTask API. check-in: d303690a2f user: thomas tags: refactor_progress_bars
10:09
AsyncTask: Added attribute inner_task, containing a list of AsyncTask instances. These can be used for layered progress reports. Add method emit_delete_recursive(), that recursively emits all task_deleted signals of itself and all inner tasks. The AsyncTaskRunner calls this when the task returns from its run() method. check-in: 929c7e3bb2 user: thomas tags: refactor_progress_bars
09:49
Let AsyncTaskRunner emit the internal tasks task_deleted signal. This is way cleaner than trying to emit it via __del__() check-in: 2a5d0c374b user: thomas tags: refactor_progress_bars
00:27
Merge ProgressSignalContainer into AsyncTask. Port the card data file downloader to the new task API. check-in: b1e31531cc user: thomas tags: refactor_progress_bars
2025-05-16
23:26
Replaced all occurrences of old methods connect_*_progress with the new add_task() method . Add ProgressSignalContainer signal task_deleted, which is emitted in __del__(). This should support situations where a progress signal container is re-used multiple times as some inner progress bar. check-in: cd95ce110d user: thomas tags: refactor_progress_bars
22:35
Remove unused imports check-in: 63f2bcc7b7 user: thomas tags: refactor_progress_bars
22:33
Add tests for ProgressBarManager. Fixed progress bar removal on completion in the ProgressBarManager check-in: e59870f384 user: thomas tags: refactor_progress_bars
15:32
WIP rework of the progress bar handling. Class ProgressBar now holds a single progress bar and optional cancel button. Class ProgressBarManager takes tasks in form of ProgressSignalContainers, and adds a Progress bar for each task to its internal layout. check-in: 0e2609bd0e user: thomas tags: refactor_progress_bars
14:00
Clean unused imports check-in: e5a9a1025d user: thomas tags: refactor_async_tasks
12:32
Refactored DatabaseMigrationRunner and PrintingFilterUpdater to the new async task API. This drops multiple signals from the SettingsWindow and HidePrintingsPage. The latter no longer starts the printing filter update on it's own, but rather request the Application class to start the task. This removes several layers of signal relay. check-in: f145952d13 user: thomas tags: refactor_async_tasks
11:06
PNGRenderer: Remove now obsolete emit of signal set_progress. check-in: 50ee0520d2 user: thomas tags: refactor_async_tasks
11:05
Use a single progress bar for PDF export. It advances per exported page. This uses the new, internal state tracking of the ProgressBar class in order to not have to count the current page explicitly. check-in: fa01814841 user: thomas tags: refactor_async_tasks
10:56
ProgressBar: Implemented advancing progress via signals. This avoids having to track absolute progress on the signal sender side. check-in: a5243b7682 user: thomas tags: refactor_async_tasks
10:41
Implement progress reporting for PDF exports. check-in: e95b87a938 user: thomas tags: refactor_async_tasks
10:14
Convert PNGRenderer to the new AsyncTask API check-in: 9f64568b4e user: thomas tags: refactor_async_tasks
10:06
DatabaseMigrationRunner: Remove connect_main_window_signals() and connect_progress_signals(). Replace with functionality added to the ProgressBars class. check-in: 85aa1e90a2 user: thomas tags: refactor_async_tasks
10:01
Renamed progress signals: "begin_update" → "begin_task", "progress" → "set_progress", and "update_completed" → "task_completed" check-in: 129a1672bc user: thomas tags: refactor_async_tasks
09:50
Add classes AsyncTask(ProgressSignalContainer) and AsyncTaskRunner(Runnable). These are meant to implement a task that should be run in the background, and a QRunnable that executes these tasks. Background tasks should inherit from AsyncTask, and be scheduled in the global thread pool. check-in: c32b6cf1eb user: thomas tags: refactor_async_tasks
2025-05-15
18:26
Implemented the actual image export. This takes quite a while and needs to be handled by a background task. check-in: 21672ac46b user: thomas tags: export_card_images
16:23
Document: Update and rename get_all_card_keys_in_document() to return the items as ImageKey instances. check-in: ee7dd2af39 user: thomas tags: export_card_images
16:06
Show the card export dialog when triggering the export action in the main window. check-in: 9831368794 user: thomas tags: export_card_images
16:06
Improve type hinting in dialogs.py check-in: 98aff0a277 user: thomas tags: export_card_images
15:52
ExportCardImagesDialog: Add a path selector to the UI, so that the user can select the target directory within the dialog check-in: b4847a7f97 user: thomas tags: export_card_images
15:09
Add ExportCardImagesDialog class with UI file. It allows selecting which images in the document should be exported: Official cards and/or custom cards. check-in: 33e8d7164b user: thomas tags: export_card_images
12:31
Fixed action name check-in: 499c2ec889 user: thomas tags: export_card_images
12:28
Disable the action in the disabled ui state. check-in: 2ea7eee5a1 user: thomas tags: export_card_images
12:25
Add main window menu entry to export card images to a directory. Goal is implementing [a6736fd74a5abc89] check-in: ed2c818cf7 user: thomas tags: export_card_images
11:35
Implemented exporting documents as a sequence of PNG images check-in: 2d74fab949 user: thomas tags: trunk
09:43
Implement progress reporting for PNG sequence exports. Closed-Leaf check-in: 3029546d95 user: thomas tags: png_export
2025-05-13
16:35
Implemented a static, shared CardDatabase pytest fixture. This unfortunately doesn't work as expected, because somewhere, the document loader keeps a reference to the card database connection. Leaf check-in: 8980f3e954 user: thomas tags: static_cardb_fixture
2025-05-08
11:41
Create new branch named "static_cardb_fixture" check-in: cd3715f19f user: thomas tags: static_cardb_fixture