Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
2025-06-01
| ||
16:07 | Optimize renderer. Fixes [c93d3a51f1a47877]. Leaf check-in: b6c0c95383 user: thomas tags: trunk | |
16:06 | Fix bug in PageScene.update_card_bleeds() Closed-Leaf check-in: 5ce698c6df user: thomas tags: optimize_rendering | |
16:03 | Add changelog entry check-in: 1c9ed266fc user: thomas tags: optimize_rendering | |
15:54 | Move conversion from Quantity to int up from the low level CardBleedItem class to PageScene.update_card_bleeds(). This moves the conversion out of the hot code path, reducing call count from 20000 to 8 for a page with 600 cards. check-in: d67a00f88a user: thomas tags: optimize_rendering | |
15:38 | PageScene: Cache the row and column counts as attributes. This saves multiple seconds in _compute_position_for_image() and _has_neighbors(). check-in: ccc0a7e590 user: thomas tags: optimize_rendering | |
14:53 | PageScene: Rewrite _has_neighbors() to use pure math instead of empirically testing for presence of elements. This is currently slower because of a call to page_layout.compute_page_column_count() check-in: c2e5371efb user: thomas tags: optimize_rendering | |
14:23 | CardItem: Pass a QModelIndex, instead of a Card to CardItem.__init__(), and adjust calling code. Remove old TODOs in test_page_scene.py for off-by-one errors that are now fixed with recent changes. check-in: ddfb134d0a user: thomas tags: optimize_rendering | |
11:51 | Cache conversions between pint quantities and raw float/int mm/pixels check-in: 544eaa976a user: thomas tags: optimize_rendering | |
11:05 | PageScene: Extract _distance_to_rounded_px() as a module function check-in: 9b897477e6 user: thomas tags: optimize_rendering | |
10:58 | CardBleeds: Introduce zero-mm constant, shaving off ~300ms/1000 invocations of from_card() by not parsing "0 mm" each invocation. check-in: a39bf46467 user: thomas tags: optimize_rendering | |
10:33 | PageScene: Cache results of _distance_to_rounded_px(), reducing runtime by 100ms/1000 invocations check-in: 4d3fde0115 user: thomas tags: optimize_rendering | |
09:51 | ActionLoadDocument: Optimize constructing the first page by batching cards. Minimizes the number of ActionAddCard instances and number of calls into the draw code. check-in: 3a582cc523 user: thomas tags: optimize_rendering | |
2025-05-31
| ||
11:50 | Dependencies: Capitalize the Pint library package name to match the case on PyPI. Also specify a version range for typing_extensions check-in: 244c5fdb16 user: thomas tags: trunk | |
2025-05-29
| ||
19:50 | Restrict acceptable paper sizes to ones that allow printing at least one oversized card in both portrait and landscape mode. Leaf check-in: 5fb761c701 user: thomas tags: enum_based_paper_size | |
19:29 | Add a comment check-in: 18f06e89cb user: thomas tags: enum_based_paper_size | |
16:42 | Introduce a lookup table for default paper sizes based on system location. When there is no default printer to query, use that as a fallback check-in: 73a489a3f5 user: thomas tags: enum_based_paper_size | |
2025-05-28
| ||
13:52 | Merge with trunk check-in: ec162d04f8 user: thomas tags: enum_based_paper_size | |
2025-05-26
| ||
16:15 | Release v0.32.0 Leaf check-in: 73d0989b15 user: thomas tags: port_pyside6 | |
16:09 | Release v0.32.0 check-in: 31d1829412 user: thomas tags: trunk, release, v0.32.0 | |
10:15 | Merge with trunk check-in: 2e4501ff9d user: thomas tags: port_pyside6 | |
10:07 | changelog.md: Add GitHub note. Fixed grammar issues. check-in: 1a0aaeee16 user: thomas tags: trunk | |
2025-05-23
| ||
22:08 | ImageDownloader: Fix unreachable code warning Leaf check-in: c9d1c92ca8 user: thomas tags: refactor_async_tasks | |
22:02 | ImageDownloader: Relay signal missing_image_obtained through the ImageDatabase to further encapsulate the Downloader class and not have random signal connections scattered around. Remove now obsolete ImageDownloader.connect_image_db_signals() method check-in: 1039f24c5b user: thomas tags: refactor_async_tasks | |
21:45 | Rename ImageDatabase Runner classes to Task classes, to reflect the use of the new AsyncTask API. check-in: d8f61c7721 user: thomas tags: refactor_async_tasks | |
21:41 | ImageDatabase: Remove old progress report relay signals check-in: e0691f1ba0 user: thomas tags: refactor_async_tasks | |
21:33 | ImageDownloader: Remove unused parameter in _load_from_disk() check-in: 908342a43e user: thomas tags: refactor_async_tasks | |
21:30 | ImageDownloader: Emit image_obtained only in one location. check-in: 327fe75bf8 user: thomas tags: refactor_async_tasks | |
16:38 | Use a Qt Signal/Slot connection to move downloaded images from the ImageDownloader into the ImageDatabase. This replaces a cross-thread dict key set. check-in: 5d97ddac19 user: thomas tags: refactor_async_tasks | |
15:59 | WIP Port the ImageDownloader classes to the new AsyncTask API. check-in: 76977194c6 user: thomas tags: refactor_async_tasks | |
2025-05-18
| ||
13:59 | Double the export card images dialog width to 600px. This shows more of the selected directory path. 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 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 | |