Read the Cups options set in the Printer Properties window and the KDE

Cups Page and Job Options tabs, and pass these on to lpr.

CCBUG: 160381

This needs to be backported to 4.0 but I don't have a checkout.

svn path=/trunk/KDE/kdegraphics/okular/; revision=817393
This commit is contained in:
John Layt 2008-06-05 23:06:21 +00:00
parent 830fcef561
commit c262ebf0bf
2 changed files with 19 additions and 0 deletions

View File

@ -417,6 +417,8 @@ QStringList FilePrinter::cupsOptions( QPrinter &printer )
optionList << optionCollateCopies( printer );
}
optionList << optionCupsProperties( printer );
return optionList;
}
@ -541,3 +543,19 @@ QStringList FilePrinter::optionCollateCopies( QPrinter &printer )
return QStringList("-o") << "Collate=False";
}
QStringList FilePrinter::optionCupsProperties( QPrinter &printer )
{
QStringList dialogOptions = printer.printEngine()->property(QPrintEngine::PrintEnginePropertyKey(0xfe00)).toStringList();
QStringList cupsOptions;
for ( int i = 0; i < dialogOptions.count(); i = i + 2 ) {
if ( dialogOptions[i+1].isEmpty() ) {
cupsOptions << "-o" << dialogOptions[i];
} else {
cupsOptions << "-o" << dialogOptions[i] + "=" + dialogOptions[i+1];
}
}
return cupsOptions;
}

View File

@ -161,6 +161,7 @@ protected:
QStringList optionDoubleSidedPrinting( QPrinter &printer );
QStringList optionPageOrder( QPrinter &printer );
QStringList optionCollateCopies( QPrinter &printer );
QStringList optionCupsProperties( QPrinter &printer );
};
}