Add setting to (not) consider additional formats

This commit is contained in:
Anton Thomasson 2020-06-07 14:54:15 +02:00
parent dae84a97c9
commit 8b3ffad513
4 changed files with 25 additions and 8 deletions

View file

@ -103,5 +103,12 @@ ApplicationWindow
key: "/apps/harbour-seaprint/settings/remove-redundant-raster-attributes"
defaultValue: true
}
ConfigurationValue
{
id: considerAdditionalFormatsSetting
key: "/apps/harbour-seaprint/settings/consider-additional-formats"
defaultValue: true
}
}

View file

@ -115,7 +115,7 @@ Page {
visible: false
property string name: printer.attrs["printer-name"].value != "" ? printer.attrs["printer-name"].value : qsTr("Unknown")
property bool canPrint: Utils.supported_formats(printer, ConvertChecker).mimetypes.indexOf(selectedFileType) != -1
property bool canPrint: Utils.supported_formats(printer, ConvertChecker, considerAdditionalFormatsSetting.value).mimetypes.indexOf(selectedFileType) != -1
Connections {
target: printer
@ -152,8 +152,6 @@ Page {
property int debugCount: 0
onClicked: {
console.log(Utils.supported_formats(printer, ConvertChecker).mimetypes, selectedFileType,
Utils.supported_formats(printer, ConvertChecker).mimetypes.indexOf(selectedFileType) != -1)
if(++debugCount == 5)
{
@ -231,7 +229,7 @@ Page {
id: format_label
color: selectedFile == "" ? Theme.secondaryColor : canPrint ? Theme.primaryColor : "red"
font.pixelSize: Theme.fontSizeExtraSmall
text: Utils.supported_formats(printer, ConvertChecker).supported
text: Utils.supported_formats(printer, ConvertChecker, considerAdditionalFormatsSetting.value).supported
}
}

View file

@ -118,8 +118,7 @@ Page {
prettyName: prettyName,
tag: tag,
valid: printer.attrs.hasOwnProperty(name+"-supported"),
choices: name == "document-format" ? printer.attrs[name+"-supported"].value.concat(printer.additionalDocumentFormats)
: printer.attrs[name+"-supported"].value,
choices: maybeSupplementChoices(name, printer.attrs[name+"-supported"].value),
default_choice: printer.attrs[name+"-default"].value,
mime_type: Mimer.get_type(selectedFile)
})
@ -127,6 +126,14 @@ Page {
}
}
function maybeSupplementChoices(name, choices)
{
if(name == "document-format" && considerAdditionalFormatsSetting.value)
{
return choices.concat(printer.additionalDocumentFormats)
}
return choices
}
}
VerticalScrollDecorator {}

View file

@ -1,6 +1,11 @@
function supported_formats(printer, ConvertChecker)
function supported_formats(printer, ConvertChecker, considerAdditionalFormats)
{
var formats = printer.attrs["document-format-supported"].value+printer.additionalDocumentFormats;
var formats = printer.attrs["document-format-supported"].value;
if(considerAdditionalFormats)
{
formats=formats+printer.additionalDocumentFormats;
}
var mimetypes = [];
var supported = [];
if(has(formats, "application/pdf") ||