Which options are which:

First of all, all of the printer options from the default set (i.e. the
"*-default" ones from getPrinterAttributes() when there are no admin-set
options) are put into the glade file.  We know in advance their types
and (usually) supported values, either from a "*-supported" attribute or
from CUPS documentation, and these are set in GUI.__init__.

Next, any "generally useful" options were also chosen and put into the
glade file.  These include things like the text options, lpi and cpi.
All of the options (and many of their choices) in the glade file have
user-presentable names that may be localized.

That leaves special case options, infrequently needed options, poorly
documented options, and third-party filters options, any of which can be
specified by option name.

As for determining type, possible choices and ranges, to a large degree
this is given to us in the "*-supported" attribute corresponding to each
option.  For example, if it is of type IPP_TAG_RANGE then it tells us
the end-points (pycups represents this as a 2-tuple).  Of course, many
options don't have a corresponding "*-supported" attribute, so we have
to handle those as text.

I don't agree that if any option may be dynamic then it must.  From a
user interface perspective I think it makes a lot more sense to have
commonly used options already there in the dialog. (This was in fact
Mike Sweet's suggestion in the first place.)

-- 
system-config-printer.py crashed with ValueError in reinit()
https://bugs.launchpad.net/bugs/140887
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to