[Printing-architecture] Coding the Common Printing Dialog and its interface
Till Kamppeter
till.kamppeter at gmail.com
Thu May 1 10:59:53 PDT 2008
Lars Uebernickel wrote:
> Till Kamppeter wrote:
>> Lars Uebernickel wrote:
>>> Till Kamppeter wrote:
>>>>> In this case, storing the configs along with the dialog would be
>>>>> enough,
>>>>> as it would be cross-referenced against printer queue and application
>>>>> being used.
>>>>>
>>>>> You are right, perhaps the application would want to store it matching
>>>>> against the document being printed. But that could be handled by the
>>>>> dialog too, it would just be another field or even a matter of defining
>>>>> a format for that domain name I talked about, "app[/doc hash]"..
>>>> OpenOffice.org saves printing settings (selected print queue and
>>>> option settings) in its documents. To not require OOo to change the
>>>> feature with the introduction of the Common Printing Dialog we should
>>>> support this in our interface between application and dialog.
>>> I see two possibilities for this problem:
>>>
>>> (1) Applications can enable/disable the saving of the printing options
>>> via the dialog API. This would mean that OpenOffice can keep its own
>>> per document settings and other applications can take advantage of the
>>> dialogs capabilities for that. But, they need to explicitly tell the
>>> dialog to do so.
>>>
>>> (2) Options are always saved on a per application/document basis by
>>> the dialog. The saved options are applied _before_ any application
>>> settings take place. The application will not be notified. Afterwards,
>>> the application sets its own settings, effectively overwriting the
>>> saved ones. So OpenOffice's per document options would still work, and
>>> all other applications would gain the same feature transparently. It
>>> would also keep the API cleaner.
>> Support both possibilities in a switchable way. Let application
>> developers choose between option saving/remembering per
>>
>> - Document file (saved in document file)
>> - Document (saved in personal config directory of the dialog)
>> - Application (saved in personal config directory of the dialog)
>> - Globally per user (saved in ~/.cups/lpoptions)
>>
>> Only in the first case option settings which are not
>> application-specific have to be reported back to the application.
>
> What I was suggesting with (2), is that there is no need for
> applications to switch between those possibilities at all. Everything
> would be handled transparently.
>
> The dialog would _always_ store all options for the documents and
> applications. Applications like OpenOffice, which save the options in
> the documents themselves, would just overwrite the stored settings,
> because their settings would be applied after the stored ones.
>
> This way, we'd simplify the API, reducing the amount of work for
> application developers. Also, users could choose themselves whether they
> want options stored for applications/documents (IMHO, this shouldn't be
> decided by the applications anyway). They could even set standard
> options for specific applications or specific types of documents (eg. by
> mime type).
OK, you're right, let's do it this way. As long as OOo developers will
not complain ...
Till
More information about the Printing-architecture
mailing list