dd19333c81
It will be converted ro \r\n linebraks, but still has lowest prio for printing plaintext input due to unreliable rendering.
164 lines
4.8 KiB
QML
164 lines
4.8 KiB
QML
import QtQuick 2.6
|
|
import Sailfish.Silica 1.0
|
|
import QtQuick.LocalStorage 2.0
|
|
import Nemo.Notifications 1.0
|
|
import Nemo.Configuration 1.0
|
|
import seaprint.mimer 1.0
|
|
import seaprint.settings 1.0
|
|
|
|
import "pages"
|
|
import "components"
|
|
|
|
ApplicationWindow
|
|
{
|
|
id: appWin
|
|
|
|
property bool expectCalligra: true
|
|
|
|
initialPage: Component { FirstPage { selectedFile: Qt.application.arguments[1] ? Qt.application.arguments[1] : "" } }
|
|
cover: Qt.resolvedUrl("cover/CoverPage.qml")
|
|
allowedOrientations: Orientation.All
|
|
|
|
property string busyMessage: ""
|
|
property string progress: ""
|
|
|
|
WifiChecker {
|
|
id: wifi
|
|
}
|
|
|
|
Item {
|
|
id: db
|
|
property var db_conn
|
|
|
|
Component.onCompleted: {
|
|
db_conn = LocalStorage.openDatabaseSync("SeaprintDB", "1.0", "Seaprint storage", 100000)
|
|
db_conn.transaction(function (tx) {
|
|
tx.executeSql('CREATE TABLE IF NOT EXISTS Favourites (ssid STRING, url STRING)');
|
|
tx.executeSql('CREATE TABLE IF NOT EXISTS JobSettings (uuid STRING, type STRING, data STRING)');
|
|
});
|
|
}
|
|
|
|
function addFavourite(ssid, url) {
|
|
if(isFavourite(ssid, url))
|
|
return;
|
|
db_conn.transaction(function (tx) {
|
|
tx.executeSql('INSERT INTO Favourites VALUES(?, ?)', [ssid, url] );
|
|
});
|
|
}
|
|
|
|
function getFavourites(ssid) {
|
|
var favs = [];
|
|
db_conn.transaction(function (tx) {
|
|
var res = tx.executeSql('SELECT * FROM Favourites WHERE ssid=?', [ssid]);
|
|
for (var i = 0; i < res.rows.length; i++) {
|
|
favs.push(res.rows.item(i).url);
|
|
}
|
|
});
|
|
return favs
|
|
}
|
|
|
|
function isFavourite(ssid, url) {
|
|
var isfav = false;
|
|
db_conn.transaction(function (tx) {
|
|
var res = tx.executeSql('SELECT * FROM Favourites WHERE ssid=? AND url=?', [ssid, url]);
|
|
if (res.rows.length > 0) {
|
|
isfav = true;
|
|
}
|
|
});
|
|
return isfav
|
|
}
|
|
|
|
function removeFavourite(ssid, url) {
|
|
db_conn.transaction(function (tx) {
|
|
tx.executeSql('DELETE FROM Favourites WHERE ssid=? AND url=?', [ssid, url] );
|
|
});
|
|
}
|
|
|
|
function simplifyType(mimetype) {
|
|
if(Mimer.isImage(mimetype))
|
|
{
|
|
return {simple: "image", translatable: qsTr("images")};
|
|
}
|
|
else if(mimetype == Mimer.Plaintext)
|
|
{
|
|
return {simple: "plaintext", translatable: qsTr("plaintext")};
|
|
}
|
|
else
|
|
{
|
|
return {simple: "document", translatable: qsTr("documents")};
|
|
|
|
}
|
|
}
|
|
|
|
function setJobSettings(uuid, mimetype, settings) {
|
|
var type = simplifyType(mimetype).simple;
|
|
db_conn.transaction(function (tx) {
|
|
tx.executeSql('DELETE FROM JobSettings WHERE uuid=? AND type=?', [uuid, type] );
|
|
tx.executeSql('INSERT INTO JobSettings VALUES(?, ?, ?)', [uuid, type, settings] );
|
|
});
|
|
}
|
|
|
|
function getJobSettings(uuid, mimetype) {
|
|
var type = simplifyType(mimetype).simple;
|
|
var settings = "{}";
|
|
db_conn.transaction(function (tx) {
|
|
var res = tx.executeSql('SELECT * FROM JobSettings WHERE uuid=? AND type=?', [uuid, type]);
|
|
if (res.rows.length)
|
|
{
|
|
settings = res.rows.item(0).data
|
|
}
|
|
});
|
|
return settings
|
|
}
|
|
|
|
function removeJobSettings(uuid, mimetype) {
|
|
var type = simplifyType(mimetype).simple;
|
|
db_conn.transaction(function (tx) {
|
|
tx.executeSql('DELETE FROM JobSettings WHERE uuid=? AND type=?', [uuid, type] );
|
|
});
|
|
}
|
|
}
|
|
|
|
Notification {
|
|
id: notifier
|
|
|
|
expireTimeout: 4000
|
|
|
|
function notify(data) {
|
|
body = data
|
|
previewBody = data
|
|
publish()
|
|
}
|
|
}
|
|
|
|
ConfigurationValue
|
|
{
|
|
id: nagScreenSetting
|
|
key: "/apps/harbour-seaprint/settings/nag-screen"
|
|
defaultValue: 0
|
|
property int expectedValue: expectCalligra ? 2 : 1
|
|
}
|
|
|
|
ConfigurationValue
|
|
{
|
|
id: considerAdditionalFormatsSetting
|
|
key: "/apps/harbour-seaprint/settings/consider-additional-formats"
|
|
defaultValue: true
|
|
}
|
|
|
|
ConfigurationValue
|
|
{
|
|
id: ignoreSslErrorsSetting
|
|
key: SeaPrintSettings.ignoreSslErrorsPath
|
|
defaultValue: SeaPrintSettings.ignoreSslErrorsDefault
|
|
}
|
|
|
|
ConfigurationValue
|
|
{
|
|
id: debugLogSetting
|
|
key: SeaPrintSettings.debugLogPath
|
|
defaultValue: SeaPrintSettings.debugLogDefault
|
|
}
|
|
|
|
}
|
|
|