...
 
Commits (25)
[main]
host = https://www.transifex.com
[harbour-Papocchio.harbour-papocchiots]
file_filter = translations/harbour-papocchio-<lang>.ts
source_file = translations/harbour-papocchio.ts
source_lang = en
type = QT
......@@ -7,7 +7,6 @@ SOURCES += \
OTHER_FILES += \
qml/cover/CoverPage.qml \
translations/*.ts \
qml/pages/MainPage.qml \
qml/Papocchio.qml \
harbour-papocchio.desktop \
......@@ -17,5 +16,14 @@ OTHER_FILES += \
translations/*.ts
CONFIG += sailfishapp_i18n
TRANSLATIONS += translations/harbour-lyrics-it.ts \
translations/harbour-papocchio-cs.ts
TRANSLATIONS += \
translations/harbour-papocchio-cs.ts \
translations/harbour-papocchio-de.ts \
translations/harbour-papocchio-el.ts \
translations/harbour-papocchio-hu.ts \
translations/harbour-papocchio-it.ts \
translations/harbour-papocchio-nb_NO.ts \
translations/harbour-papocchio-nl.ts \
translations/harbour-papocchio-ru_RU.ts \
translations/harbour-papocchio-sr.ts \
translations/harbour-papocchio-sv.ts
# Papocchio
A free-hand draw application for [Sailfish OS](https://sailfishos.org).
[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=ascarpino&url=https://gitlab.com/ascarpino/harbour-Papocchio&title=Papocchio&language=&tags=jolla&category=software)
[Build status](https://build.merproject.org/package/live_build_log/home:ilpianista/harbour-papocchio/sailfish_latest_armv7hl/armv8el)
## Translations
Translations via [Transifex](https://www.transifex.com/organization/ascarpino-harbour/dashboard/harbour-Papocchio), thank you!
[![Translation status](https://hosted.weblate.org/widgets/harbour-papocchio/-/svg-badge.svg)](https://hosted.weblate.org/engage/harbour-papocchio/?utm_source=widget)
[Build status](https://build.merproject.org/package/live_build_log/home:ilpianista/harbour-papocchio/sailfish_latest_armv7hl/armv8el)
Translations via [Weblate](https://hosted.weblate.org/projects/harbour-papocchio/), thank you!
## Icon
The icon has been taken from [ICONSDB](http://www.iconsdb.com/royal-blue-icons/edit-5-icon.html).
## Donate
Donations via [Liberapay](https://liberapay.com/ilpianista) or Bitcoin (1Ph3hFEoQaD4PK6MhL3kBNNh9FZFBfisEH) are always welcomed, _thank you_!
## License
MIT
......@@ -31,22 +31,21 @@ Page {
Row {
id: menu
spacing: Theme.paddingSmall
spacing: Theme.paddingMedium
width: parent.width
// Workaround: we don't want the Slider animation to resize this!
height: Theme.itemSizeMedium
IconTextSwitch {
IconButton {
id: edit
checked: true
icon.source: "image://theme/icon-s-edit"
anchors.verticalCenter: parent.verticalCenter
width: 120
width: 50
// default value for the rubber
property real prevLineWidth: defaultRubberSize;
onCheckedChanged: {
onClicked: {
if (canvas.strokeStyle == defaultStrokeColor) {
icon.source = "image://theme/icon-camera-focus"
canvas.strokeStyle = defaultFillColor;
......@@ -62,6 +61,28 @@ Page {
}
}
IconButton {
id: save
icon.source: "image://theme/icon-m-image"
anchors.verticalCenter: parent.verticalCenter
width: 50
function pictureName() {
var dateTime = new Date();
return Qt.formatDateTime(dateTime, "yyyy-MM-dd-hh-mm-ss") + ".jpeg";
}
onClicked: {
remorseSave.execute(menu, qsTr("Saving the canvas…"), function() {
canvas.save(papocchioDir + pictureName());
}, 3000);
}
RemorseItem {
id: remorseSave
}
}
Slider {
id: size
minimumValue: 1
......@@ -69,8 +90,7 @@ Page {
stepSize: 1
value: defaultStrokeSize
valueText: value
width: parent.width - edit.width - save.width - clearBtn.width
width: parent.width - edit.width - save.width - clearBtn.width - quit.width - (Theme.paddingMedium * 4)
anchors.verticalCenter: parent.verticalCenter
// Don't waste space
......@@ -83,39 +103,36 @@ Page {
}
IconButton {
id: save
icon.source: "image://theme/icon-m-image"
id: clearBtn
icon.source: "image://theme/icon-m-clear"
anchors.verticalCenter: parent.verticalCenter
function pictureName() {
var dateTime = new Date();
return Qt.formatDateTime(dateTime, "yyyy-MM-dd-hh-mm-ss") + ".jpeg";
}
width: 50
onClicked: {
remorseSave.execute(menu, qsTr("Saving the canvas..."), function() {
canvas.save(papocchioDir + pictureName());
remorseClear.execute(menu, qsTr("Clearing the canvas…"), function() {
canvas.clear();
}, 3000);
}
RemorseItem {
id: remorseSave
id: remorseClear
}
}
IconButton {
id: clearBtn
icon.source: "image://theme/icon-m-clear"
id: quit
icon.source: "image://theme/icon-m-close"
anchors.verticalCenter: parent.verticalCenter
width: 50
onClicked: {
remorseClear.execute(menu, qsTr("Clearing the canvas..."), function() {
canvas.clear();
}, 3000);
remorseQuit.execute(menu, qsTr("Quitting…"), function() {
Qt.quit();
}, 1000);
}
RemorseItem {
id: remorseClear
id: remorseQuit
}
}
}
......
* Thu Jul 21 2016 Andrea Scarpino <me@andreascarpino.it> 1.4-1
- Restore Czech translation.
* Wed Jul 13 2016 Andrea Scarpino <me@andreascarpino.it> 1.3.1-1
- Add Serbian and Dutch translations.
* Fri Jun 03 2016 Andrea Scarpino <me@andreascarpino.it> 1.3-1
- Disable gestures.
- Add Czech translation.
* Sat Sep 12 2015 Andrea Scarpino <me@andreascarpino.it> 1.2-1
- Add Italian translation.
- Set clearing remorse action timeout to 3s.
......
......@@ -13,7 +13,7 @@ Name: harbour-papocchio
%{!?qtc_make:%define qtc_make make}
%{?qtc_builddir:%define _builddir %qtc_builddir}
Summary: Paint using your finger
Version: 1.2
Version: 1.4
Release: 1
Group: Qt/Qt
License: GPLv3
......
Name: harbour-papocchio
Summary: Paint using your finger
Version: 1.2
Version: 1.4
Release: 1
# The contents of the Group field should be one of the groups listed here:
# http://gitorious.org/meego-developer-tools/spectacle/blobs/master/data/GROUPS
......@@ -32,7 +32,7 @@ PkgConfigBR:
# Runtime dependencies which are not automatically detected
Requires:
- sailfishsilica-qt5 >= 0.10.9
- sailfishsilica-qt5 >= 0.10.9
# All installed files
Files:
......
/*
Copyright (C) 2014 Andrea Scarpino <me@andreascarpino.it>
Copyright (C) 2014-2016 Andrea Scarpino <me@andreascarpino.it>
All rights reserved.
This program is free software: you can redistribute it and/or modify
......@@ -27,7 +27,8 @@ int main(int argc, char *argv[])
QScopedPointer<QGuiApplication> app(SailfishApp::application(argc, argv));
QScopedPointer<QQuickView> view(SailfishApp::createView());
QCoreApplication::setApplicationName(QStringLiteral("Papocchio"));
QCoreApplication::setApplicationName(QStringLiteral("harbour-papocchio"));
QCoreApplication::setOrganizationDomain(QStringLiteral("andreascarpino.it"));
view->setSource(SailfishApp::pathTo("qml/Papocchio.qml"));
......@@ -37,6 +38,12 @@ int main(int argc, char *argv[])
view->setPersistentOpenGLContext(true);
view->setPersistentSceneGraph(true);
// Disable swipe gestures in proper way
view->setFlags(view->flags()|Qt::WindowOverridesSystemGestures);
// Make Qt.quit() work from QML
QObject::connect(view->engine(), &QQmlEngine::quit, app.data(), &QCoreApplication::quit);
view->rootContext()->setContextProperty("papocchioDir", papocchioDir());
view->show();
......@@ -52,7 +59,7 @@ int main(int argc, char *argv[])
QString papocchioDir()
{
const QDir papocchioDir(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation)
+ QDir::separator() + QCoreApplication::applicationName());
+ QDir::separator() + "Papocchio");
if (!papocchioDir.exists()) {
if (!papocchioDir.mkpath(papocchioDir.absolutePath())) {
......
......@@ -10,14 +10,19 @@
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="96"/>
<source>Saving the canvas...</source>
<translation>Ukládá se plátno...</translation>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Ukládá se plátno</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas...</source>
<translation>Vyprazdňuje se plátno...</translation>
<source>Clearing the canvas</source>
<translation>Vyprazdňuje se plátno</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation type="unfinished"/>
</message>
</context>
</TS>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS language="de" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Zeichnen!</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Speichern der Leinwand..</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation>Löschen der Leinwand</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation>Beenden</translation>
</message>
</context>
</TS>
<?xml version="1.0" ?><!DOCTYPE TS><TS language="el" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation type="unfinished"/>
</message>
</context>
</TS>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="et">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Joonista!</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Lõuendit salvestatakse</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation>Lõuendit puhastatakse</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation>Väljumine</translation>
</message>
</context>
</TS>
<?xml version="1.0" ?><!DOCTYPE TS><TS language="hu" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Rajzolhatsz!</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation type="unfinished"/>
</message>
</context>
</TS>
\ No newline at end of file
<?xml version='1.0'?>
<!DOCTYPE TS>
<TS version="2.1" language="it">
<?xml version="1.0" ?><!DOCTYPE TS><TS language="it" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location line="25" filename="../qml/cover/CoverPage.qml"/>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Disegna!</translation>
</message>
......@@ -12,14 +10,19 @@
<context>
<name>MainPage</name>
<message>
<location line="98" filename="../qml/pages/MainPage.qml"/>
<source>Saving the canvas...</source>
<translation>Sto salvando l'immagine...</translation>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Sto salvando l&apos;immagine</translation>
</message>
<message>
<location line="114" filename="../qml/pages/MainPage.qml"/>
<source>Clearing the canvas...</source>
<translation>Sto cancellando l'immagine...</translation>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation>Sto cancellando l&apos;immagine</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation>Sto uscendo</translation>
</message>
</context>
</TS>
</TS>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS language="nb_NO" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Tegn!</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Lagrer lerretet</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation>Tømmer lerretet</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation>Avslutter</translation>
</message>
</context>
</TS>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS language="nl" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Teken!</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Bezig met opslaan van canvas</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation>Bezig met wissen van canvas</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation>Bezig met afsluiten</translation>
</message>
</context>
</TS>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nl_BE">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Tekent!</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Bezig met opslaan van canvas</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation>Bezig met wissen van canvas</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation>Bezig met afsluiten</translation>
</message>
</context>
</TS>
<?xml version="1.0" ?><!DOCTYPE TS><TS language="ru_RU" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation type="unfinished"/>
</message>
</context>
</TS>
\ No newline at end of file
<?xml version="1.0" ?><!DOCTYPE TS><TS language="sr" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Једнако!</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Чување платна…</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation>Брисање платна…</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation>Одустајање…</translation>
</message>
</context>
</TS>
\ No newline at end of file
<?xml version="1.0" ?><!DOCTYPE TS><TS language="sv" version="2.1">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation>Rita!</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation>Sparar bilden</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation>Rensar ytan</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation>Avslutar</translation>
</message>
</context>
</TS>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_Hant">
<context>
<name>CoverPage</name>
<message>
<location filename="../qml/cover/CoverPage.qml" line="25"/>
<source>Draw!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>
......@@ -12,13 +12,18 @@
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="96"/>
<source>Saving the canvas...</source>
<location filename="../qml/pages/MainPage.qml" line="76"/>
<source>Saving the canvas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="112"/>
<source>Clearing the canvas...</source>
<source>Clearing the canvas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="129"/>
<source>Quitting</source>
<translation type="unfinished"></translation>
</message>
</context>
......