On 04/28/2017 05:59 AM, Caolán McNamara wrote:
The main question for me is what format/mechanism is provided by the
user of the backend as the print transport format/mechanism, e.g. if
it's simply (like cups) "give me the pdf to print" then it's relatively
easy. If it's (like GtkPrintOperation) "here's a cairo context, render
onto it what you want printed", then its not easy.
The backends simply need the PDF to be printed and the key/value-pair
list of the option settings, nothing more. So integration should be easy.
- Would it be a good idea to modify the inner workings (not the GUI)
of the LibreOffice print dialog to talk to the printing
system(s)/printer(s) through a modular backend so that easily new
print technologies can be added or changes for the existing ones
being supplied?
Assuming that we can just supply a final pdf to the print backend then
this sounds sensible to me. Relatively not difficult to add new
parallel support for retrieving printer lists and printer info and
sending print jobs alongside our existing ones.
So as the backends will simply take the job in PDF and spreadsheet
printing support is too complex to get into external print dialogs, let
us go the way of making LO's original print dialog ready for the backends.
The dialog will have to look up the available backends and then do
1. On each dialog call the function to list the available printers, then
show the list of all printers found via ll backends.
2. If the user chooses a printer to display its options (or get any
detailed properties of it) call the function to query properties and
options of the backend the printer comes from.
3. If the user sends off the job for printing, call the send-job
function of the backend the printer comes from. Supply the print job in
PDF and the option settings as key/value pairs.
4. If LO provides some kind of job monitoring, use the backend's list
jobs functions (does LO do a thing like that?)
What I need from you is help in mentoring the student or even someone
fully mentoring the student (this would be the best). Google says that
mentoring a student will take around 5 hours/week.
I also need help where to find the relevant code to modify (ideally so
that it can make it into Ubuntu 17.10 with Feature Freeze mid-August),
how to most efficiently test-build (not needing to build the whole LO
after each little change), coding policy guidelines, how to provide
patches for upstream inclusion, ...
Till
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.