Skip to content

Add CPDB support to Qt Print Dialog (GSoC 2022 integration) #122

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from

Conversation

abrarnasirjaffari
Copy link

This PR integrates Gaurav's CPDB (Common Print Dialog Backends) support from GSoC 2022.

Key changes:

Testing completed:

  • Printer enumeration works correctly
  • IPP options are properly exposed
  • Print jobs submit with selected attributes
  • Verified against cpdb-text-frontend for consistency

The Common Print Dialog Backends (CPDB) concept has
GUI-toolkit-independent backends for each print technology (CUPS, Print
to File, cloud printing services, ...) and each print dialog (GTK, Qt,
Chromium, Firefox, ...) is supposed to use this backend, so that changes
in print technologies can be centrally and quickly covered by changing
the backends and everything new gets available in all print dialogs.

This commit provides Qt print dialog implementation which adds support
for the CPDB concept. It communincates with all the installed CPDB
backends and so gives support for all these print technologies to the Qt
print dialog.

To make use of CPDB, Qt should be configured with cpdb and cpdbjobwidget
enabled and other print technologies (eg. cups and cupsjobwidget)
disabled to prevent printer duplication.

Change-Id: Ic97c41979040adb6e9ffab540c09edadb6b5de3e
Scraped out CUPS & CPDB specific code from print dialog frontend,
and put it in their respective print plugin directories.

This allows the print dialog to be able to dynamically select
print backends at runtime instead of having to choose one at build time.

Change-Id: I8ae53d19d91aa9689ec327fd8077558744e4768b
Copy link

cla-assistant bot commented Aug 16, 2025

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants