Merge pull request #1 from molan-git/master

Updated from original project
This commit is contained in:
Carmen F. B 2020-05-09 18:13:41 +02:00 committed by GitHub
commit ce832ca8d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
62 changed files with 1958 additions and 618 deletions

View file

@ -3,11 +3,21 @@
## About
Tooter is Mastodon client for Sailfish OS. It is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication.
This is a fork of dysk0/harbour-tooter. The app can by downloaded here: https://openrepos.net/content/molan/tooter-fork.
This fork is being used to further develop and maintain the Tooter app by dysko (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being for merge requests with the original repository. Releases by dysko can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter
Releases from this forked repository (branch 'master') can be found here: https://openrepos.net/content/molan/tooter-fork.
## Build
Clone / download this repository and import it in your SailfishOS IDE using the harbour-tooter.pro project file. No additional configuration needed.
## Repository branches:
- master: default (Beta release version)
- develop: commits WIP
- upstream: commits for Tooter release
## Contributions
Contributions to this project are very welcome, since I don't have the resources and time to implement and fix everything Tooter still misses or lacks. Thank you!
## Screenshots
<img width="200" title="Page Home" src="https://telegra.ph/file/710bba46d9f818e0f88ab.png"> <img width="200" title="Page Profile" src="https://telegra.ph/file/c5b504f637c874861eeee.png"> <img width="200" title="Page Conversation" src="https://telegra.ph/file/c9584f8d68c89827c53e5.png">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -1,5 +0,0 @@
appIcon=/usr/share/harbour-tooter/config/icon-lock-harbour-tooter.png
x-nemo-icon=/usr/share/harbour-tooter/config/icon-lock-harbour-tooter.png
x-nemo-priority=120
x-nemo-feedback=sms_exists
x-nemo-led-disabled-without-body-and-summary=false

View file

@ -0,0 +1,5 @@
appIcon=/usr/share/harbour-tooterb/config/icon-lock-harbour-tooterb.png
x-nemo-icon=/usr/share/harbour-tooterb/config/icon-lock-harbour-tooterb.png
x-nemo-priority=120
x-nemo-feedback=sms_exists
x-nemo-led-disabled-without-body-and-summary=false

View file

@ -1,9 +1,9 @@
[Desktop Entry]
Type=Application
X-Nemo-Application-Type=silica-qt5
Icon=harbour-tooter
Exec=harbour-tooter
Name=Tooter
Icon=harbour-tooterb
Exec=harbour-tooterb
Name=Tooter β
# translation example:
# your app name in German locale (de)
#

View file

@ -10,7 +10,7 @@
# - translation filenames have to be changed
# The name of your application
TARGET = harbour-tooter
TARGET = harbour-tooterb
CONFIG += sailfishapp
@ -24,22 +24,23 @@ DEFINES += "APPVERSION=\\\"$${SPECVERSION}\\\""
DEFINES += "APPNAME=\\\"$${TARGET}\\\""
!exists( src/dbusAdaptor.h ) {
system(qdbusxml2cpp config/ba.dysko.harbour.tooter.xml -i dbus.h -a src/dbusAdaptor)
system(qdbusxml2cpp config/ba.dysko.harbour.tooterb.xml -i dbus.h -a src/dbusAdaptor)
}
config.path = /usr/share/$${TARGET}/config/
config.files = config/icon-lock-harbour-tooter.png
config.files = config/icon-lock-harbour-tooterb.png
notification_categories.path = /usr/share/lipstick/notificationcategories
notification_categories.files = config/x-harbour.tooter.activity.*
notification_categories.files = config/x-harbour.tooterb.activity.*
dbus_services.path = /usr/share/dbus-1/services/
dbus_services.files = config/ba.dysko.harbour.tooter.service
dbus_services.files = config/ba.dysko.harbour.tooterb.service
interfaces.path = /usr/share/dbus-1/interfaces/
interfaces.files = config/ba.dysko.harbour.tooter.xml
interfaces.files = config/ba.dysko.harbour.tooterb.xml
SOURCES += src/harbour-tooter.cpp
SOURCES += \
src/harbour-tooterb.cpp
SOURCES += src/imageuploader.cpp
SOURCES += src/filedownloader.cpp
SOURCES += src/notifications.cpp
@ -52,7 +53,10 @@ HEADERS += src/notifications.h
HEADERS += src/dbusAdaptor.h
HEADERS += src/dbus.h
DISTFILES += qml/harbour-tooter.qml \
DISTFILES += qml/harbour-tooterb.qml \
config/icon-lock-harbour-tooterb.png \
qml/images/tooterb.svg \
qml/pages/components/VisualContainer.qml \
qml/pages/components/MiniStatus.qml \
qml/pages/components/MiniHeader.qml \
qml/pages/components/ItemUser.qml \
@ -67,23 +71,25 @@ DISTFILES += qml/harbour-tooter.qml \
qml/pages/LoginPage.qml \
qml/pages/Conversation.qml \
qml/pages/components/Toot.qml \
qml/pages/Browser.qml \
qml/pages/Profile.qml \
qml/pages/Settings.qml \
qml/lib/API.js \
qml/images/notification.svg \
qml/images/verified.svg \
qml/images/tooter.svg \
qml/images/boosted.svg \
qml/images/emojiselect.svg \
qml/images/icon-m-profile.svg \
qml/images/icon-l-profile.svg \
qml/lib/Mastodon.js \
qml/lib/Worker.js \
config/icon-lock-harbour-tooter.png \
config/x-harbour.tooter.activity.conf \
qml/pages/components/VisualContainer.qml \
rpm/harbour-tooter.changes \
rpm/harbour-tooter.changes.run.in \
rpm/harbour-tooter.spec \
rpm/harbour-tooter.yaml \
config/x-harbour.tooterb.activity.conf \
rpm/harbour-tooterb.changes \
rpm/harbour-tooterb.changes.run.in \
rpm/harbour-tooterb.spec \
rpm/harbour-tooterb.yaml \
translations/*.ts \
harbour-tooter.desktop
harbour-tooterb.desktop
SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172
@ -95,16 +101,17 @@ CONFIG += sailfishapp_i18n
# planning to localize your app, remember to comment out the
# following TRANSLATIONS line. And also do not forget to
# modify the localized app name in the the .desktop file.
TRANSLATIONS += translations/harbour-tooter-de.ts
TRANSLATIONS += translations/harbour-tooter-el.ts
TRANSLATIONS += translations/harbour-tooter-es.ts
TRANSLATIONS += translations/harbour-tooter-fi.ts
TRANSLATIONS += translations/harbour-tooter-fr.ts
TRANSLATIONS += translations/harbour-tooter-nl.ts
TRANSLATIONS += translations/harbour-tooter-nl_BE.ts
TRANSLATIONS += translations/harbour-tooter-oc.ts
TRANSLATIONS += translations/harbour-tooter-pl.ts
TRANSLATIONS += translations/harbour-tooter-ru.ts
TRANSLATIONS += translations/harbour-tooter-sr.ts
TRANSLATIONS += translations/harbour-tooter-sv.ts
TRANSLATIONS += translations/harbour-tooter-zh_CN.ts
TRANSLATIONS += translations/harbour-tooterb-de.ts
TRANSLATIONS += translations/harbour-tooterb-el.ts
TRANSLATIONS += translations/harbour-tooterb-es.ts
TRANSLATIONS += translations/harbour-tooterb-fi.ts
TRANSLATIONS += translations/harbour-tooterb-fr.ts
TRANSLATIONS += translations/harbour-tooterb-nl.ts
TRANSLATIONS += translations/harbour-tooterb-nl_BE.ts
TRANSLATIONS += translations/harbour-tooterb-oc.ts
TRANSLATIONS += translations/harbour-tooterb-pl.ts
TRANSLATIONS += translations/harbour-tooterb-ru.ts
TRANSLATIONS += translations/harbour-tooterb-sr.ts
TRANSLATIONS += translations/harbour-tooterb-sv.ts
TRANSLATIONS += translations/harbour-tooterb-zh_CN.ts
TRANSLATIONS += translations/harbour-tooterb-it.ts

799
harbour-tooterb.pro.user Normal file
View file

@ -0,0 +1,799 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.9.1, 2020-05-06T15:39:14. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{1eb0406f-b7ad-49c3-808f-08b8e70e23f1}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">SailfishOS-3.2.1.20-i486 (in Sailfish OS Build Engine)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">SailfishOS-3.2.1.20-i486 (in Sailfish OS Build Engine)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">SailfishOS-3.2.1.20-i486</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">1</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">3</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">3</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">3</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">RPM</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmBuildStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">RPM Validation</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmValidationStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build RPM Package For Manual Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerMb2RpmBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Prepare Target</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerPrepareTargetStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Rsync</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRsyncDeployStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy By Copying Binaries</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRSyncDeployConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.2">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Prepare Target</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerPrepareTargetStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">RPM</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmDeployStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy As RPM Package</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="QString" key="MerRunConfiguration.QmlLiveBenchWorkspace">C:/Users/XPAM/Github/harbour-tooter-master</value>
<value type="bool" key="MerRunConfiguration.QmlLiveEnabled">false</value>
<value type="int" key="MerRunConfiguration.QmlLiveIpcPort">-1</value>
<value type="int" key="MerRunConfiguration.QmlLiveOptions">3</value>
<value type="QString" key="MerRunConfiguration.QmlLiveTargetWorkspace"></value>
<value type="int" key="PE.EnvironmentAspect.Base">1</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">harbour-tooterb (on Sailfish OS Emulator 3.2.1.20)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRunConfiguration:C:/Users/XPAM/Github/harbour-tooter-master/harbour-tooterb.pro</value>
<value type="int" key="RemoteLinux.EnvironmentAspect.Version">1</value>
<value type="QString" key="RemoteLinux.RunConfig.AlternateRemoteExecutable"></value>
<value type="bool" key="RemoteLinux.RunConfig.UseAlternateRemoteExecutable">false</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.1</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">SailfishOS-3.2.1.20-armv7hl (in Sailfish OS Build Engine)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">SailfishOS-3.2.1.20-armv7hl (in Sailfish OS Build Engine)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">SailfishOS-3.2.1.20-armv7hl</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">3</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">3</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">3</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Start Build Engine</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Mer.MerSdkStartStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">RPM</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmBuildStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">RPM Validation</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmValidationStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build RPM Package For Manual Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerMb2RpmBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Prepare Target</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerPrepareTargetStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Rsync</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRsyncDeployStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy By Copying Binaries</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRSyncDeployConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.2">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Prepare Target</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerPrepareTargetStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">RPM</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmDeployStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy As RPM Package</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="QString" key="MerRunConfiguration.QmlLiveBenchWorkspace">C:/Users/XPAM/Github/harbour-tooter-master</value>
<value type="bool" key="MerRunConfiguration.QmlLiveEnabled">false</value>
<value type="int" key="MerRunConfiguration.QmlLiveIpcPort">-1</value>
<value type="int" key="MerRunConfiguration.QmlLiveOptions">3</value>
<value type="QString" key="MerRunConfiguration.QmlLiveTargetWorkspace"></value>
<value type="int" key="PE.EnvironmentAspect.Base">1</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">harbour-tooterb (on Sailfish OS Emulator 3.2.1.20)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRunConfiguration:C:/Users/XPAM/Github/harbour-tooter-master/harbour-tooterb.pro</value>
<value type="int" key="RemoteLinux.EnvironmentAspect.Version">1</value>
<value type="QString" key="RemoteLinux.RunConfig.AlternateRemoteExecutable"></value>
<value type="bool" key="RemoteLinux.RunConfig.UseAlternateRemoteExecutable">false</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">2</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">21</value>
</data>
<data>
<variable>Version</variable>
<value type="int">21</value>
</data>
</qtcreator>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -58,7 +58,7 @@ CoverBackground {
verticalAlignment: Image.AlignBottom
fillMode: Image.PreserveAspectFit
source: "../images/tooter.svg"
source: "../images/tooterb.svg"
}
Timer {
id: timer
@ -95,7 +95,7 @@ CoverBackground {
rightMargin: Theme.paddingLarge
verticalCenter: iconNot.verticalCenter
}
text: "Tooter"
text: "Tooter β"
color: Theme.primaryColor
}

View file

@ -36,6 +36,7 @@ import "./lib/API.js" as Logic
ApplicationWindow
{
id: appWindow
//initialPage: Component { FirstPage { } }
cover: Qt.resolvedUrl("cover/CoverPage.qml")
allowedOrientations: defaultAllowedOrientations
Component.onCompleted: {
@ -58,6 +59,9 @@ ApplicationWindow
pageStack.push(Qt.resolvedUrl("./pages/MainPage.qml"), {})
});
//
//
//pageStack.push(Qt.resolvedUrl("./pages/Conversation.qml"), {})
} else {
pageStack.push(Qt.resolvedUrl("./pages/LoginPage.qml"), {})
}

16
qml/images/boosted.svg Normal file
View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 36 36" enable-background="new 0 0 36 36" xml:space="preserve">
<g>
<g>
<path fill="#FFFFFF" d="M28.8,12.5c-1.8,0-4.6,0-6.3,0c-0.5,0-1.5,0-0.8-1.1c1-1.9,3-5.9,4.3-8.1c0.7-1.1,0.8-1.8-0.4-1.8
c-2.7,0-9.1,0-12,0c-1.1,0-1.6,0.5-2.1,1.6c-1.4,3.5-4.7,12.1-5.9,15.7c-0.4,1.2,0.3,1.7,1.2,1.7c1.8,0,5,0,6.7,0
c0.6,0,1.2,0.1,0.8,1.4c-0.8,2.3-2,7-2.8,9.7c0,0-0.8,3.7,2.4,0.8C18.1,28.2,25.4,17.7,29,14C29.7,13.4,29.7,12.5,28.8,12.5z
M20.7,21.1c-2.2,2.8-4.4,5.7-6.3,7.8c0.1-0.2,0.1-0.5,0.2-0.7c0.6-2.1,1.2-4.3,1.7-5.7l0,0l0,0c0.3-1.2,0.2-2.1-0.3-2.9
c-0.5-0.7-1.4-1.1-2.4-1.1H7.9c1.3-3.7,3.9-10.4,5.2-13.8l0.3-0.8c0.1-0.2,0.2-0.3,0.2-0.4c0,0,0,0,0,0h10
c-1.2,2.2-2.7,5.2-3.6,6.9c-0.7,1.3-0.5,2.2-0.2,2.8c0.7,1.3,2.2,1.3,2.7,1.3h3.4C24.4,16.3,22.6,18.6,20.7,21.1z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 96 96" style="enable-background:new 0 0 96 96;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;fill:#FFFFFF;}
.st1{fill:#FFFFFF;}
.st2{opacity:0.75;fill:#FFFFFF;}
</style>
<g>
<rect x="0.5" y="0" class="st0" width="95" height="95"/>
</g>
<path class="st1" d="M48,52.5c-9.7,0-17.6-7.9-17.6-17.6S38.3,17.3,48,17.3s17.6,7.9,17.6,17.6S57.7,52.5,48,52.5z M48,19.3
c-8.6,0-15.6,7-15.6,15.6s7,15.6,15.6,15.6c8.6,0,15.6-7,15.6-15.6S56.6,19.3,48,19.3z"/>
<path class="st2" d="M78.8,76.4h-2v-1.6c0-7.6-6.2-13.8-13.8-13.8H33c-7.6,0-13.8,6.2-13.8,13.8v1.6h-2v-1.6
c0-8.7,7.1-15.8,15.8-15.8h30c8.7,0,15.8,7.1,15.8,15.8V76.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 936 B

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;fill:#FFFFFF;}
.st1{fill:#FFFFFF;fill-opacity:0;}
.st2{opacity:0.6;fill:#FFFFFF;enable-background:new ;}
.st3{fill:#FFFFFF;}
</style>
<g id="Layer_2">
<rect y="0" class="st0" width="64" height="64"/>
</g>
<g id="Layer_1">
<g id="icon-m-contact">
<rect id="icon-m-contact_1_" y="0" class="st1" width="64" height="64"/>
<g>
<path class="st2" d="M22,41.5h20c5,0,9,4,9,9c0,0.3,0,0.7-0.1,1h2c0-0.3,0-0.7,0-1c0-6.1-4.9-11-11-11H22c-6.1,0-11,4.9-11,11
c0,0.3,0,0.7,0,1h2c0-0.3-0.1-0.7-0.1-1C13,45.5,17,41.5,22,41.5z"/>
<path class="st3" d="M32,35.5c-6.6,0-12-5.4-12-12s5.4-12,12-12s12,5.4,12,12S38.6,35.5,32,35.5z M32,13.5c-5.5,0-10,4.5-10,10
s4.5,10,10,10s10-4.5,10-10S37.5,13.5,32,13.5z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

38
qml/images/tooterb.svg Normal file
View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 227.9 240.1" style="enable-background:new 0 0 227.9 240.1;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;fill:#FFFFFF;enable-background:new ;}
.st1{opacity:0.2;}
.st2{fill:#FFFFFF;}
.st3{opacity:0.2;enable-background:new ;}
.st4{opacity:0.5;enable-background:new ;}
</style>
<g>
<path class="st0" d="M107.5,117.4c0.8-6.7,7-11.5,13.7-10.7c6.7,0.8,11.5,7,10.7,13.7v0.4c0,0-0.1,0.4-0.2,1.2
c-0.1,0.7-0.3,1.8-0.5,3.2c-0.4,2.8-1.1,6.6-2.2,11.2c-2.2,9.1-5.7,21.1-11.6,32.3c-1.5,2.8-3.2,5.5-4.9,8.1
c-1.8,2.5-3.7,5-5.8,7.1c-1,1.1-2.1,2.1-3.2,3c-1,1-2.2,1.8-3.3,2.6c-2.3,1.6-4.6,2.7-6.8,3.6c-2.2,0.8-4.2,1.4-6.1,1.6
c-1.8,0.4-3.4,0.3-4.7,0.4c-2.7-0.2-4.1-0.3-4.1-0.3s1.4-0.3,3.9-0.8c1.2-0.4,2.8-0.7,4.3-1.5c1.6-0.6,3.3-1.6,5-2.8
c1.6-1.3,3.3-2.7,4.8-4.5c0.8-0.9,1.5-1.8,2.2-2.8c0.8-1,1.4-2.1,2-3.2c1.2-2.2,2.3-4.6,3.2-7.1s1.7-5.1,2.3-7.8
c2.4-10.7,2.7-21.9,2.5-30.2c-0.1-4.2-0.4-7.6-0.6-10c-0.1-1.2-0.2-2.1-0.3-2.7s-0.1-0.9-0.1-0.9
C107.5,119.6,107.5,118.5,107.5,117.4z"/>
<g class="st1">
<path class="st2" d="M201.8,4.7c-14.1,0.8-21.2,3.5-24.8,5.5c3.1,1,6.2,2,9.2,3.1C189.5,8.7,201.8,4.7,201.8,4.7z"/>
<path class="st2" d="M87.9,169.3c-2.4,0-6,0-9.7,0v33.4c1,5.8,3.4,11.8,9.7,11.8c-2.4,0-6,0-9.7,0v16.4c3.1,0,7.2,0,11.5,0
c27.7,0,32.3-77.8,32.3-77.8v93.7h20h19.6h14h128.1V136.9l-31.6-31.6c-0.3-2-0.5-4.1-0.9-6.1c1.4-4.8,2.2-10,2.2-15.3
c0-30.9-25.1-55.9-55.9-55.9c-0.6,0-1.3,0.1-2,0.1c-17.3-9.3-45-22-72.8-22c0,0,19.4,5.5,30.7,13.8c-0.6,0-1.2,0-1.8,0
c-11-3.3-25.5-5.9-43.2-5.2c0,0,14.5,2.4,26.5,7.4c-7.2,1.6-14.3,4-21.2,7.3c-33.6,16.1-53.6,48.9-55.1,83.7c1,5.5,3.5,11,9.5,11
c-2.4,0-6,0-9.7,0v33.4C79.3,163.3,81.8,169.3,87.9,169.3z"/>
</g>
<path class="st3" d="M130.7,128.9c2.3-2.7,3.8-6.1,3.8-9.9c0-8.2-6.6-14.8-14.8-14.8s-14.8,6.6-14.8,14.8c0,3.6,1.3,6.8,3.4,9.4
c-0.1-1.6-0.2-3-0.3-4.1c-0.1-1.2-0.2-2.1-0.3-2.7s-0.1-0.9-0.1-0.9c-0.1-1.1-0.1-2.2,0-3.3c0.8-6.7,7-11.5,13.7-10.7
c6.7,0.8,11.5,7,10.7,13.7v0.4c0,0-0.1,0.4-0.2,1.2c-0.1,0.7-0.3,1.8-0.5,3.2C131.1,126.2,130.9,127.5,130.7,128.9z"/>
<path class="st3" d="M142.3,75.3c26.1-18.5,54.9,10.2,36.4,36.4c-0.5,0.7-1.2,1.4-1.9,1.9c-26.2,18.5-54.9-10.3-36.4-36.4
C140.9,76.5,141.5,75.8,142.3,75.3z"/>
<circle class="st0" cx="155.2" cy="84.3" r="13.8"/>
<circle class="st4" cx="151.9" cy="84.3" r="6.4"/>
<path class="st3" d="M201.7,137.5c7.4,4.7,16.2,7.4,25.6,7.4c26.9,0,48.6-21.8,48.6-48.6c0-5.5-1-10.8-2.7-15.9
c0.1,1.2,0.2,2.3,0.2,3.5c0,30.9-25.1,55.9-55.9,55.9C212,139.8,206.7,138.9,201.7,137.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -1,7 +1,7 @@
.pragma library
.import QtQuick.LocalStorage 2.0 as LS
var db = LS.LocalStorage.openDatabaseSync("tooter", "", "harbour-tooter", 100000);
var db = LS.LocalStorage.openDatabaseSync("tooterb", "", "harbour-tooterb", 100000);
var conf = {};
var mediator = (function(){
var subscribe = function(channel, fn){
@ -118,17 +118,17 @@ var notificationGenerator = function(item){
var notification;
switch (item.urgency){
case "normal":
notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { category: "x-harbour.tooter.activity"; appName: "Tooter"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooter", "path": "/", "iface": "ba.dysko.harbour.tooter", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Normal; }', Qt.application, 'InternalQmlObject');
notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { category: "x-harbour.tooterb.activity"; appName: "Tooter β"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooterb", "path": "/", "iface": "ba.dysko.harbour.tooterb", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Normal; }', Qt.application, 'InternalQmlObject');
break;
case "critical":
notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { appName: "Tooter"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooter", "path": "/", "iface": "ba.dysko.harbour.tooter", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Critical; }', Qt.application, 'InternalQmlObject');
notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { appName: "Tooter β"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooterb", "path": "/", "iface": "ba.dysko.harbour.tooterb", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Critical; }', Qt.application, 'InternalQmlObject');
break;
default:
notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { category: "x-harbour.tooter.activity"; appName: "Tooter"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooter", "path": "/", "iface": "ba.dysko.harbour.tooter", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Low; }', Qt.application, 'InternalQmlObject');
notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { category: "x-harbour.tooterb.activity"; appName: "Tooter β"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooterb", "path": "/", "iface": "ba.dysko.harbour.tooterb", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Low; }', Qt.application, 'InternalQmlObject');
}
console.log(JSON.stringify(notification.remoteActions[0].arguments))
//Notifications.notify("Tooter", "serverinfo.serverTitle", " new activity", false, "2015-10-15 00:00:00", "aaa")
//Notifications.notify("Tooter β", "serverinfo.serverTitle", " new activity", false, "2015-10-15 00:00:00", "aaa")
notification.timestamp = item.timestamp
notification.summary = item.summary

View file

@ -150,8 +150,8 @@ function parseNotification(data){
switch (item['type']){
case "mention":
if (!data.status) {
break;
}
break;
}
item = parseToot(data.status)
item['typeIcon'] = "image://theme/icon-s-retweet"
@ -160,8 +160,8 @@ function parseNotification(data){
break;
case "reblog":
if (!data.status) {
break;
}
break;
}
item = parseToot(data.status)
item = parseAccounts(item, "reblog_", data["account"])

View file

@ -1,6 +1,6 @@
import QtQuick 2.0
import Sailfish.Silica 1.0
import harbour.tooter.Uploader 1.0
import harbour.tooterb.Uploader 1.0
import "../lib/API.js" as Logic
import "./components/"
@ -157,7 +157,6 @@ Page {
Rectangle {
id: progressBar
width: toot.text.length ? panel.width * (toot.text.length / tootMaxChar) : 0
height: Theme.itemSizeSmall * 0.05
color: Theme.highlightBackgroundColor
opacity: 0.7
@ -179,6 +178,7 @@ Page {
}
autoScrollEnabled: true
labelVisible: false
font.pixelSize: Theme.fontSizeSmall
placeholderText: qsTr("Write your warning here")
placeholderColor: palette.highlightColor
color: palette.highlightColor
@ -198,8 +198,8 @@ Page {
top: warningContent.bottom
topMargin: Theme.paddingMedium
left: parent.left
right: parent.right
rightMargin: Theme.paddingMedium
right: parent.right
rightMargin: Theme.paddingLarge * 2
}
autoScrollEnabled: true
labelVisible: false
@ -209,8 +209,9 @@ Page {
0) == '#') ? description + ' ' : ''
height: Math.max(270, Math.min(900, implicitHeight))
//height: implicitHeight
horizontalAlignment: Text.AlignLeft
horizontalAlignment: Text.AlignLeft
placeholderText: qsTr("What's on your mind?")
font.pixelSize: Theme.fontSizeSmall
EnterKey.onClicked: {
//tweet()
}
@ -242,6 +243,7 @@ Page {
right: parent.right
rightMargin: Theme.paddingSmall
}
opacity: 0.8
icon.source: "../../qml/images/emojiselect.svg" + (pressed ? Theme.highlightColor : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
onClicked: pageStack.push(firstWizardPage)
}
@ -305,7 +307,8 @@ Page {
id: btnContentWarning
anchors {
verticalCenter: privacy.verticalCenter
top: toot.bottom
topMargin: -Theme.paddingSmall * 1.5
left: parent.left
leftMargin: Theme.paddingMedium
}
@ -317,7 +320,8 @@ Page {
id: btnAddImage
enabled: mediaModel.count < 4
anchors {
verticalCenter: privacy.verticalCenter
top: toot.bottom
topMargin: -Theme.paddingSmall * 1.5
left: btnContentWarning.right
leftMargin: Theme.paddingSmall
}
@ -363,7 +367,7 @@ Page {
id: privacy
anchors {
top: toot.bottom
topMargin: -Theme.paddingSmall * 2
topMargin: -Theme.paddingSmall * 1.5
left: btnAddImage.right
right: btnSend.left
}
@ -389,6 +393,7 @@ Page {
+ (pressed ? Theme.highlightColor : Theme.primaryColor)
anchors {
top: toot.bottom
topMargin: -Theme.paddingSmall * 1.5
right: parent.right
rightMargin: Theme.paddingSmall
}

View file

@ -37,6 +37,7 @@ import "../lib/API.js" as Logic
Page {
id: loginPage
// The effective value will be restricted by ApplicationWindow.allowedOrientations
allowedOrientations: Orientation.All
@ -67,7 +68,8 @@ Page {
width: parent.width
validator: RegExpValidator { regExp: /^(ftp|http|https):\/\/[^ "]+$/ }
EnterKey.enabled: instance.acceptableInput;
EnterKey.iconSource: "image://theme/icon-m-enter-next"
EnterKey.highlighted: instance.acceptableInput;
EnterKey.iconSource: "image://theme/icon-m-accept"
EnterKey.onClicked: {
Logic.api = new Logic.MastodonAPI({ instance: instance.text, api_user_token: "" });
Logic.api.registerApplication("Tooter",
@ -109,13 +111,14 @@ Page {
anchors {
left: parent.left
right: parent.right
leftMargin: Theme.paddingLarge
rightMargin: Theme.paddingLarge
topMargin: Theme.paddingMedium
leftMargin: Theme.horizontalPageMargin
rightMargin: Theme.horizontalPageMargin
}
width: parent.width
wrapMode: Text.WordWrap
color: Theme.secondaryHighlightColor
color: Theme.highlightColor
font.pixelSize: Theme.fontSizeExtraSmall
text: qsTr("Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.")
}

View file

@ -9,6 +9,7 @@ Page {
property string display_name : "";
property string username : "";
property string profileImage : "";
property string discoverable : "";
property int user_id;
property int statuses_count;
property int following_count;
@ -19,7 +20,6 @@ Page {
property string profile_background: "";
property string note: "";
property string url: "";
property bool locked : false;
property date created_at;
property bool following : false;
@ -29,6 +29,7 @@ Page {
property bool muting : false;
property bool domain_blocking : false;
WorkerScript {
id: worker
source: "../lib/Worker.js"
@ -71,7 +72,7 @@ Page {
// line below was commented out, reason unknown
// username = messageObject.data
break;
case 'locked':m
case 'locked':
locked = messageObject.data
break;
case 'created_at':
@ -133,14 +134,12 @@ Page {
}
}
MyList {
id: list
header: ProfileHeader {
id: header
title: display_name
description: '@'+username
description: username
image: profileImage
}
@ -250,7 +249,6 @@ Page {
Text {
x: Theme.horizontalPageMargin
width: parent.width - ( 2 * Theme.horizontalPageMargin )
id: txtnote
text: note
font.pixelSize: Theme.fontSizeExtraSmall
color: Theme.secondaryColor
@ -273,23 +271,19 @@ Page {
return check;
}));
send(link)
} else if (test.length === 4 && test[3][0] === "@" ) {
tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2])
slideshow.positionViewAtIndex(4, ListView.SnapToItem)
navigation.navigateTo('search')
} else {
Qt.openUrlExternally(link);
}
}
}
Column {
spacing: Theme.paddingMedium
anchors.horizontalCenter: parent.horizontalCenter
Button {
id: btnUrl
text: qsTr("Open Profile in Browser")
onClicked: {
Qt.openUrlExternally(url);

View file

@ -1,6 +1,5 @@
import QtQuick 2.0
import Sailfish.Silica 1.0
import "../lib/API.js" as Logic
Page {
@ -25,8 +24,8 @@ Page {
IconTextSwitch {
id: removeAccount
text: Logic.conf['login'] ? qsTr("Remove Account") : qsTr("Add Account")
description: Logic.conf['login'] ? qsTr("Deauthorize this app and remove your account") : qsTr("Authorize this app to use your Mastodon account in your behalf")
icon.source: Logic.conf['login'] ? "image://theme/icon-m-people" : "image://theme/icon-m-add"
description: Logic.conf['login'] ? qsTr("Deauthorize this app and remove your account") : qsTr("Authorize this app to access your Mastodon account")
icon.source: Logic.conf['login'] ? "image://theme/icon-m-contact" : "image://theme/icon-m-add"
onCheckedChanged: {
@ -57,49 +56,30 @@ Page {
IconTextSwitch {
//enabled: false
checked: typeof Logic.conf['loadImages'] !== "undefined" && Logic.conf['loadImages']
text: qsTr("Load Images in Toots")
text: qsTr("Load images in toots")
description: qsTr("Disable this option if you want to preserve your data connection")
icon.source: "image://theme/icon-m-mobile-network"
icon.source: "image://theme/icon-m-image"
onClicked: {
Logic.conf['loadImages'] = checked
}
}
// IconTextSwitch {
// text: qsTr("Translate")
// description: qsTr("Use Transifex to help with app translation to your language")
// icon.source: "image://theme/icon-m-presence"
// onCheckedChanged: {
// busy = true;
// checked = false;
// Qt.openUrlExternally("https://www.transifex.com/dysko/tooter/");
// timer2.start()
// }
// Timer {
// id: timer2
// interval: 4700
// onTriggered: parent.busy = false
// }
// }
IconTextSwitch {
text: qsTr("Translate")
description: qsTr("Use Transifex to help with app translation to your language")
icon.source: "image://theme/icon-m-font-size"
onCheckedChanged: {
busy = true;
checked = false;
Qt.openUrlExternally("https://www.transifex.com/dysko/tooter/");
timer2.start()
}
Timer {
id: timer2
interval: 4700
onTriggered: parent.busy = false
}
}
}
SectionHeader {
text: qsTr("About")
}
Text {
x: Theme.horizontalPageMargin
width: parent.width - ( 2 * Theme.horizontalPageMargin )
text: qsTr("This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href=\'https://github.com/molan-git/harbour-tooter'>GitHub</a>.")
font.pixelSize: Theme.fontSizeExtraSmall
color: Theme.secondaryColor
linkColor: Theme.secondaryHighlightColor
wrapMode: Text.Wrap
anchors {
horizontalCenter: parent.horizontalCenter
}
onLinkActivated: Qt.openUrlExternally(link)
}
SectionHeader {
text: qsTr("Credits")
}
@ -113,12 +93,6 @@ Page {
}
Repeater {
model: ListModel {
ListElement {
name: "molan"
desc: qsTr("Maintainer of this release")
mastodon: ""
mail: "mol_an@sunrise.ch"
}
ListElement {
name: "Duško Angirević"
desc: qsTr("UI/UX design and development")
@ -131,6 +105,12 @@ Page {
mastodon: ""
mail: "micotakis@gmail.com"
}
ListElement {
name: "Molan"
desc: qsTr("Development and translations")
mastodon: ""
mail: "mol_an@sunrise.ch"
}
ListElement {
name: "Quentin PAGÈS / Quenti ♏"
desc: qsTr("Occitan & French translation")
@ -150,10 +130,10 @@ Page {
mail: "https://twitter.com/meneer"
}
ListElement {
name: "Carlos Gonzalez / Caballlero"
name: "CarmenFdez"
desc: qsTr("Spanish translation")
mastodon: ""
mail: "carlosgonz@protonmail.com"
mail: ""
}
ListElement {
name: "Mohamed-Touhami MAHDI"
@ -172,7 +152,7 @@ Page {
verticalCenter: parent.verticalCenter
right: parent.right
}
icon.source: "image://theme/" + (model.mastodon !== "" ? "icon-m-person" : "icon-m-mail") + "?" + (pressed
icon.source: "image://theme/" + (model.mastodon !== "" ? "icon-m-contact" : "icon-m-mail") + "?" + (pressed
? Theme.highlightColor
: Theme.primaryColor)
onClicked: {

View file

@ -12,7 +12,11 @@ Item {
left: parent.left
leftMargin: Theme.paddingMedium
}
text: account_display_name
text:
if (account_display_name === "") {
account_username.split('@')[0]
}
else account_display_name
width: contentWidth > parent.width /2 ? parent.width /2 : contentWidth
truncationMode: TruncationMode.Fade
font.weight: Font.Bold

View file

@ -122,7 +122,6 @@ SilicaListView {
}
}
onContentYChanged: {
if (Math.abs(contentY - scrollOffset) > Theme.itemSizeMedium) {
openDrawer(contentY - scrollOffset > 0 ? false : true )
scrollOffset = contentY

View file

@ -7,7 +7,7 @@ Item {
property string title: "";
property string description: "";
property string image: "";
property string bg: "";
//property string bg: "";
width: parent.width
height: icon.height + Theme.paddingLarge*2
/*Image {
@ -37,7 +37,12 @@ Item {
asynchronous: true
width: description === "" ? Theme.iconSizeMedium : Theme.iconSizeLarge
height: width
source: image
source:
if (icon.status === Image.Error)
source = "../../images/icon-l-profile.svg?" + (pressed
? Theme.highlightColor
: Theme.primaryColor)
else image
}
Column {
anchors {
@ -49,9 +54,13 @@ Item {
}
Label {
id: ttl
text: title
text:
if (title === "") {
description.split('@')[0]
}
else title
height: contentHeight
color: Theme.primaryColor
color: Theme.highlightColor
font.pixelSize: Theme.fontSizeLarge
font.family: Theme.fontFamilyHeading
horizontalAlignment: Text.AlignRight
@ -61,7 +70,7 @@ Item {
Label {
height: description === "" ? 0 : contentHeight
text: description
color: Theme.primaryColor
color: Theme.secondaryHighlightColor
font.pixelSize: Theme.fontSizeSmall
font.family: Theme.fontFamilyHeading
horizontalAlignment: Text.AlignRight

View file

@ -4,6 +4,7 @@ import QtGraphicalEffects 1.0
BackgroundItem {
signal send (string notice)
id: delegate
//property string text: "0"
width: parent.width

View file

@ -46,7 +46,7 @@ BackgroundItem {
visible: true
onStatusChanged: {
if (avatar.status === Image.Error)
source = "image://theme/icon-m-person?" + (pressed
source = "../../images/icon-m-profile.svg?" + (pressed
? Theme.highlightColor
: Theme.primaryColor)
}
@ -133,11 +133,11 @@ BackgroundItem {
return check;
}));
send(link)
// temporary solution for access to user profiles via toots
} else if (test.length === 4 && test[3][0] === "@" ) {
tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2])
slideshow.positionViewAtIndex(4, ListView.SnapToItem)
navigation.navigateTo('search')
} else {
Qt.openUrlExternally(link);
}
@ -146,7 +146,7 @@ BackgroundItem {
linkColor : Theme.highlightColor
wrapMode: Text.WordWrap
textFormat: Text.StyledText
font.pixelSize: Theme.fontSizeSmall
font.pixelSize: Theme.fontSizeExtraSmall
color: (pressed ? Theme.highlightColor : (!highlight ? Theme.primaryColor : Theme.secondaryColor))
Rectangle {
anchors.fill: parent

View file

@ -1,4 +1,14 @@
* Thu Feb 03 2020 molan <mol_an@sunrise.ch> 1.0.3-7
*Wed May 06 2020 molan <mol_an@sunrise.ch> 1.0.4-2
- Beta release
* Thu Apr 16 2020 Dusko Angirevic <dysko@me.com> 1.0.4-1
- Merge with molan code
* Tue Feb 04 2020 molan <mol_an@sunrise.ch> 1.0.3-8
- Fix for broken translations
- Updated Spanish translation
* Mon Feb 03 2020 molan <mol_an@sunrise.ch> 1.0.3-7
- Updated translations for new language strings
* Thu Jan 30 2020 molan <mol_an@sunrise.ch> 1.0.3-6

View file

@ -1,6 +1,6 @@
#!/bin/bash
#
# Rename this file as harbour-tooter.changes.run to let mb2 automatically
# Rename this file as harbour-tooterb.changes.run to let mb2 automatically
# generate changelog from well formatted Git commit messages and tag
# annotations.

View file

@ -3,7 +3,7 @@
# Generated by: spectacle version 0.27
#
Name: harbour-tooter
Name: harbour-tooterb
# >> macros
# << macros
@ -12,14 +12,14 @@ Name: harbour-tooter
%{!?qtc_qmake5:%define qtc_qmake5 %qmake5}
%{!?qtc_make:%define qtc_make make}
%{?qtc_builddir:%define _builddir %qtc_builddir}
Summary: Tooter
Version: 1.0.3
Release: 7
Summary: Tooter β
Version: 1.0.4
Release: 2
Group: Qt/Qt
License: LICENSE
URL: http://example.org/
Source0: %{name}-%{version}.tar.bz2
Source100: harbour-tooter.yaml
Source100: harbour-tooterb.yaml
Requires: sailfishsilica-qt5 >= 0.10.9
BuildRequires: pkgconfig(sailfishapp) >= 1.0.2
BuildRequires: pkgconfig(Qt5Core)
@ -29,7 +29,7 @@ BuildRequires: pkgconfig(nemonotifications-qt5)
BuildRequires: desktop-file-utils
%description
Tooter is native client for Mastodon network instances.
Tooter Beta is a native client for Mastodon network instances.
%prep

View file

@ -1,7 +1,7 @@
Name: harbour-tooter
Summary: Tooter
Version: 1.0.3
Release: 7
Name: harbour-tooterb
Summary: Tooter β
Version: 1.0.4
Release: 2
# The contents of the Group field should be one of the groups listed here:
# https://github.com/mer-tools/spectacle/blob/master/data/GROUPS
Group: Qt/Qt
@ -12,7 +12,7 @@ License: LICENSE
Sources:
- '%{name}-%{version}.tar.bz2'
Description: |
Tooter is native client for Mastodon network instances.
Tooter Beta is a native client for Mastodon network instances.
Configure: none
# The qtc5 builder inserts macros to allow QtCreator to have fine
# control over qmake/make execution

View file

@ -7,7 +7,7 @@ Dbus::Dbus(QObject *parent) :
QObject(parent)
{
m_dbusRegistered = false;
new TooterAdaptor(this);
new TooterbAdaptor(this);
registerDBus();
}

View file

@ -5,7 +5,7 @@
#include <QtDBus/QtDBus>
#include "dbusAdaptor.h"
#define SERVICE_NAME "ba.dysko.harbour.tooter"
#define SERVICE_NAME "ba.dysko.harbour.tooterb"
class QDBusInterface;
class Dbus : public QObject

View file

@ -18,30 +18,30 @@
#include <QtCore/QVariant>
/*
* Implementation of adaptor class TooterAdaptor
* Implementation of adaptor class TooterbAdaptor
*/
TooterAdaptor::TooterAdaptor(QObject *parent)
TooterbAdaptor::TooterbAdaptor(QObject *parent)
: QDBusAbstractAdaptor(parent)
{
// constructor
setAutoRelaySignals(true);
}
TooterAdaptor::~TooterAdaptor()
TooterbAdaptor::~TooterbAdaptor()
{
// destructor
}
void TooterAdaptor::openapp()
void TooterbAdaptor::openapp()
{
// handle method call ba.dysko.harbour.tooter.openapp
// handle method call ba.dysko.harbour.tooterb.openapp
QMetaObject::invokeMethod(parent(), "openapp");
}
void TooterAdaptor::showtoot(const QStringList &key)
void TooterbAdaptor::showtoot(const QStringList &key)
{
// handle method call ba.dysko.harbour.tooter.showtoot
// handle method call ba.dysko.harbour.tooterb.showtoot
QMetaObject::invokeMethod(parent(), "showtoot", Q_ARG(QStringList, key));
}

View file

@ -27,12 +27,12 @@ QT_END_NAMESPACE
/*
* Adaptor class for interface com.kimmoli.harbour.maira
*/
class TooterAdaptor: public QDBusAbstractAdaptor
class TooterbAdaptor: public QDBusAbstractAdaptor
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "ba.dysko.harbour.tooter")
Q_CLASSINFO("D-Bus Interface", "ba.dysko.harbour.tooterb")
Q_CLASSINFO("D-Bus Introspection", ""
" <interface name=\"ba.dysko.harbour.tooter\">\n"
" <interface name=\"ba.dysko.harbour.tooterb\">\n"
" <method name=\"showtoot\">\n"
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Method.NoReply\"/>\n"
" <arg direction=\"in\" type=\"as\" name=\"key\"/>\n"
@ -41,8 +41,8 @@ class TooterAdaptor: public QDBusAbstractAdaptor
" </interface>\n"
"")
public:
TooterAdaptor(QObject *parent);
virtual ~TooterAdaptor();
TooterbAdaptor(QObject *parent);
virtual ~TooterbAdaptor();
public: // PROPERTIES
public Q_SLOTS: // METHODS

View file

@ -27,7 +27,7 @@ int main(int argc, char *argv[])
FileDownloader *fd = new FileDownloader(engine);
view->rootContext()->setContextProperty("FileDownloader", fd);
qmlRegisterType<ImageUploader>("harbour.tooter.Uploader", 1, 0, "ImageUploader");
qmlRegisterType<ImageUploader>("harbour.tooterb.Uploader", 1, 0, "ImageUploader");
Notifications *no = new Notifications();
view->rootContext()->setContextProperty("Notifications", no);
@ -36,7 +36,7 @@ int main(int argc, char *argv[])
Dbus *dbus = new Dbus();
view->rootContext()->setContextProperty("Dbus", dbus);
view->setSource(SailfishApp::pathTo("qml/harbour-tooter.qml"));
view->setSource(SailfishApp::pathTo("qml/harbour-tooterb.qml"));
view->show();
return app->exec();
}

View file

@ -24,14 +24,14 @@ void Notifications::notify(QString appName, QString summary, QString body, bool
{
notif.setPreviewSummary(summary);
notif.setPreviewBody(body);
notif.setCategory("x-harbour.tooter.activity");
notif.setCategory("x-harbour.tooterb.activity");
if (issuekey.isEmpty())
{
remoteactions << Notification::remoteAction("default",
QString(),
"ba.dysko.habour.tooter",
"ba.dysko.habour.tooterb",
"/",
"ba.dysko.habour.tooter",
"ba.dysko.habour.tooterb",
"openapp",
QVariantList());
}
@ -42,12 +42,12 @@ void Notifications::notify(QString appName, QString summary, QString body, bool
notif.setSummary(summary);
notif.setBody(body);
notif.setItemCount(1);
notif.setCategory("x-harbour.tooter.activity");
notif.setCategory("x-harbour.tooterb.activity");
remoteactions << Notification::remoteAction("app",
QString(),
"ba.dysko.habour.tooter",
"ba.dysko.habour.tooterb",
"/",
"ba.dysko.habour.tooter",
"ba.dysko.habour.tooterb",
"openapp",
QVariantList());
}
@ -64,9 +64,9 @@ void Notifications::notify(QString appName, QString summary, QString body, bool
remoteactions << Notification::remoteAction("default",
QString(),
"ba.dysko.habour.tooter",
"ba.dysko.habour.tooterb",
"/",
"ba.dysko.habour.tooter",
"ba.dysko.habour.tooterb",
"showtoot",
args);
}

View file

@ -5,15 +5,15 @@
<name>API</name>
<message>
<source>favourited</source>
<translation>favorisiert</translation>
<translation>hat favorisiert</translation>
</message>
<message>
<source>followed you</source>
<translation>sind dir gefolgt</translation>
<translation>folgt dir</translation>
</message>
<message>
<source>boosted</source>
<translation>geboostet</translation>
<translation>hat geteilt</translation>
</message>
<message>
<source>said</source>
@ -40,7 +40,7 @@
</message>
<message>
<source>Write your warning here</source>
<translation>Füge eine Inhaltswarnung hinzu</translation>
<translation>Inhaltswarnung</translation>
</message>
<message>
<source>Public</source>
@ -52,15 +52,15 @@
</message>
<message>
<source>Followers-only</source>
<translation>Nur Follower</translation>
<translation>Nur für Folgende</translation>
</message>
<message>
<source>Direct</source>
<translation>Direkt</translation>
<translation>Direktnachricht</translation>
</message>
<message>
<source>What&apos;s on your mind?</source>
<translation>Was möchtest du mitteilen?</translation>
<translation>Was gibt&apos;s Neues?</translation>
</message>
</context>
<context>
@ -87,6 +87,10 @@
<source>Instance</source>
<translation>Instanz</translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation>Eine gültige Mastodon-Instanz URL eingeben</translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation>Mastodon ist ein freies, quelloffenes soziales Netzwerk. Im Gegensatz zu kommerziellen Plattformen, ist Mastodon als dezentrales Netzwerk konzipiert. Somit wird das Risiko vermieden, dass ein einziges Unternehmen die volle Kontrolle über die Kommunikation der Benutzer hat. Benutzer können einer beliebigen Instanz beitreten oder selbst eine eigene betreiben.</translation>
@ -95,10 +99,6 @@
<source>Reload</source>
<translation>Neu laden</translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation>Eine gültige Mastodon-Instanz URL eingeben</translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -120,7 +120,7 @@
</message>
<message>
<source>@user or #term</source>
<translation>@User oder #Ausdruck</translation>
<translation>@Benutzer oder #Ausdruck</translation>
</message>
<message>
<source>Local</source>
@ -128,22 +128,22 @@
</message>
<message>
<source>Federated</source>
<translation>Föderiert</translation>
<translation>Föderation</translation>
</message>
</context>
<context>
<name>MiniStatus</name>
<message>
<source>boosted</source>
<translation>geboostet</translation>
<translation>hat geteilt</translation>
</message>
<message>
<source>favourited</source>
<translation>favorisiert</translation>
<translation>hat favorisiert</translation>
</message>
<message>
<source>followed you</source>
<translation>sind dir gefolgt</translation>
<translation>folgt dir</translation>
</message>
</context>
<context>
@ -158,7 +158,7 @@
</message>
<message>
<source>Loading</source>
<translation>Lädt...</translation>
<translation>Wird geladen</translation>
</message>
<message>
<source>please wait...</source>
@ -169,7 +169,7 @@
<name>Profile</name>
<message>
<source>Unfollow</source>
<translation>Nicht mehr folgen</translation>
<translation>Entfolgen</translation>
</message>
<message>
<source>Follow request sent!</source>
@ -177,15 +177,15 @@
</message>
<message>
<source>Following</source>
<translation>Folgend</translation>
<translation>Folgt</translation>
</message>
<message>
<source>Mute</source>
<translation>Stumm</translation>
<translation>Stummschalten</translation>
</message>
<message>
<source>Unmute</source>
<translation>Nicht stumm</translation>
<translation>Nicht stummschalten</translation>
</message>
<message>
<source>Unblock</source>
@ -197,7 +197,7 @@
</message>
<message>
<source>Statuses</source>
<translation>Status</translation>
<translation>Beiträge</translation>
</message>
<message>
<source>Favourites</source>
@ -205,7 +205,7 @@
</message>
<message>
<source>Follow</source>
<translation>Folge</translation>
<translation>Folgen</translation>
</message>
<message>
<source>Summary</source>
@ -213,7 +213,7 @@
</message>
<message>
<source>Followers</source>
<translation>Anhänger</translation>
<translation>Folgende</translation>
</message>
<message>
<source>Bio</source>
@ -221,7 +221,7 @@
</message>
<message>
<source>Open Profile in Browser</source>
<translation>Profil in Browser öffnen</translation>
<translation>Profil im Browser öffnen</translation>
</message>
</context>
<context>
@ -243,44 +243,28 @@
<translation>Konto entfernen und für diese Anwendung deaktivieren</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<source>Authorize this app to access your Mastodon account</source>
<translation>Zugriff durch diese Anwendung auf eigenes Mastodon-Konto erlauben</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation>Diese Option deaktivieren um Datenvolumen zu sparen</translation>
</message>
<message>
<source>About</source>
<translation>Über</translation>
</message>
<message>
<source>Credits</source>
<translation>Entwickler</translation>
<translation>Über</translation>
</message>
<message>
<source>UI/UX design and development</source>
<translation>UI/UX-Gestaltung und Entwicklung</translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation>Dies ist ein Fork und Weiterentwicklung der Mastodon-Anwendung Tooter, welche urpsrünglich von Duško Angirević entwickelt wurde. Quellcode auf &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation>Bilder in Toots laden</translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation>Entwicklung dieser Version</translation>
</message>
<message>
<source>Visual identity</source>
<translation">Visuelle Identität</translation>
<translation>Visuelle Identität</translation>
</message>
<message>
<source>Occitan &amp; French translation</source>
<translation>Franzözische Übersetzung</translation>
<translation>Französische Übersetzung</translation>
</message>
<message>
<source>Dutch translation</source>
@ -292,22 +276,38 @@
</message>
<message>
<source>Added README file</source>
<translation>README-Datei erstellt</translation>
<translation>Erstellung README-Datei</translation>
</message>
<message>
<source>Chinese translation</source>
<translation>Chinesische Übersetzung</translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Bilder in Toots laden</translation>
</message>
<message>
<source>Translate</source>
<translation>Übersetzungen</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Transifex benutzen um bei den Übersetzungen mitzuhelfen</translation>
</message>
<message>
<source>Development and translations</source>
<translation>Entwicklung und Übersetzungen</translation>
</message>
</context>
<context>
<name>Toot</name>
<message>
<source>boosted</source>
<translation>geboostet</translation>
<translation>hat geteilt</translation>
</message>
<message>
<source>favourited</source>
<translation>favorisiert</translation>
<translation>hat favorisiert</translation>
</message>
<message>
<source>followed you</source>
@ -318,19 +318,19 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation>Nicht boosten</translation>
<translation>Nicht mehr teilen</translation>
</message>
<message>
<source>Boost</source>
<translation>Boosten</translation>
<translation>Teilen</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Nicht favorisieren</translation>
</message>
<message>
<source>Favorite</source>
<translation type="unfinished"></translation>
<translation>Favorisieren</translation>
</message>
</context>
</TS>

View file

@ -81,10 +81,14 @@
<name>LoginPage</name>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
<translation>Σύνδεση</translation>
</message>
<message>
<source>Instance</source>
<translation>Παράδειγμα</translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -95,10 +99,6 @@
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -228,51 +228,35 @@
<name>Settings</name>
<message>
<source>Settings</source>
<translation type="unfinished">Ρυθμίσεις</translation>
<translation>Ρυθμίσεις</translation>
</message>
<message>
<source>Remove Account</source>
<translation type="unfinished"></translation>
<translation>Αφαίρεση λογαριασμού</translation>
</message>
<message>
<source>Add Account</source>
<translation type="unfinished"></translation>
<translation>Προσθήκη λογαριασμού</translation>
</message>
<message>
<source>Deauthorize this app and remove your account</source>
<translation type="unfinished"></translation>
<translation>Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<translation type="unfinished"></translation>
<source>Authorize this app to access your Mastodon account</source>
<translation>Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
<translation>Απενεργοποιήστε αυτήν την επιλογή αν θέλετε να διατηρήσετε την σύνδεση των δεδομένων σας</translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation>Ευχαριστίες</translation>
</message>
<message>
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
<translation>UI/UX σχεδιασμός και ανάπτυξη</translation>
</message>
<message>
<source>Visual identity</source>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Translate</source>
<translation>Μετάφραση</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Χρησιμοποιήστε το Transifex για να βοηθήσετε την μετάφραση της εφαρμογής στην γλώσσα σας</translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>
@ -318,19 +318,19 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation type="unfinished"></translation>
<translation>Αναίρεση προώθησης</translation>
</message>
<message>
<source>Boost</source>
<translation type="unfinished"></translation>
<translation>Προώθηση</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Αφαίρεση από τους σελιδοδείκτες</translation>
</message>
<message>
<source>Favorite</source>
<translation type="unfinished"></translation>
<translation>Σελιδοδείκτης</translation>
</message>
</context>
</TS>

View file

@ -85,7 +85,11 @@
</message>
<message>
<source>Instance</source>
<translation>Instancia</translation>
<translation>Instancia</translation>>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation>Introduce una URL de instancia de Mastodon válida</translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
@ -95,10 +99,6 @@
<source>Reload</source>
<translation>Volver a cargar</translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation>Introduce una URL de instancia de Mastodon válida</translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -243,17 +243,13 @@
<translation>Retira la autorización a esta aplicación y elimina tu cuenta</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<source>Authorize this app to access your Mastodon account</source>
<translation>Autoriza a esta aplicación para usar tu cuenta de Mastodon en tu nombre</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation>Deshabilita esta opción si quieres ahorrar en tu conexión de datos</translation>
</message>
<message>
<source>About</source>
<translation>Acerca de</translation>
</message>
<message>
<source>Credits</source>
<translation>Créditos</translation>
@ -262,18 +258,6 @@
<source>UI/UX design and development</source>
<translation>Diseño UI/UX y desarrollo</translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation>Esta aplicación es una versión bifurcada del cliente de Mastodon Tooter, desarrollada originalmente por Duško Angirević, que corrige varios errores. Código fuente en &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation>Cargar imágenes en toots</translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation>Mantenedor de esta publicación</translation>
</message>
<message>
<source>Visual identity</source>
<translation>Identidad visual</translation>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation>Traducción al chino</translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Cargar imágenes en messages</translation>
</message>
<message>
<source>Translate</source>
<translation>Traducir</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Usar Transifex para ayudar con traducciones</translation>
</message>
<message>
<source>Development and translations</source>
<translation>Desarrollo y traducciones</translation>
</message>
</context>
<context>
<name>Toot</name>

View file

@ -87,6 +87,10 @@
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
@ -95,10 +99,6 @@
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -243,17 +243,13 @@
<translation type="unfinished"></translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<source>Authorize this app to access your Mastodon account</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
@ -262,18 +258,6 @@
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visual identity</source>
<translation type="unfinished"></translation>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Translate</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>

View file

@ -48,11 +48,11 @@
</message>
<message>
<source>Unlisted</source>
<translation>Non co</translation>
<translation>Non lis</translation>
</message>
<message>
<source>Followers-only</source>
<translation>Que Followers</translation>
<translation>Abonné(e)s uniquement</translation>
</message>
<message>
<source>Direct</source>
@ -60,7 +60,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<translation>A quoi penses-tu?</translation>
<translation>Qu&apos;avez-vous en tête?</translation>
</message>
</context>
<context>
@ -87,18 +87,18 @@
<source>Instance</source>
<translation>Instance</translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation>Saisissez lURL dune instance Mastodon</translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation>Mastodon est un réseau social et logiciel à source ouverte de microblog auto-hébergé, libre, distribué et acentré. Il permet de partager des messages, images et autres contenus. Mastodon peut être fédéré à un réseau d&apos;instances capables de communiquer entre elles.</translation>
<translation>Mastodon est un réseau libre et open source. Il sagit d&apos;une alternative aux plateformes commerciales, pour éviter qu&apos;une seule entreprise monopolise vos communications. Choisissez un serveur dans lequel vous avez confiance - quelque que soit votre choix vous pourrez interagir avec dautres personnes. Tout le monde peut monter sa propre instance Mastodon et participer rendre le réseau plus robuste.</translation>
</message>
<message>
<source>Reload</source>
<translation>Recharger</translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished">Entrer l&apos;URL d&apos;une instance de Mastodon</translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -116,7 +116,7 @@
</message>
<message>
<source>Search</source>
<translation>Recherche</translation>
<translation>Chercher</translation>
</message>
<message>
<source>@user or #term</source>
@ -124,11 +124,11 @@
</message>
<message>
<source>Local</source>
<translation>Local</translation>
<translation>Fil public local</translation>
</message>
<message>
<source>Federated</source>
<translation>Fédéré</translation>
<translation>Fil public global</translation>
</message>
</context>
<context>
@ -143,7 +143,7 @@
</message>
<message>
<source>followed you</source>
<translation>vous a suivi</translation>
<translation>vous suit</translation>
</message>
</context>
<context>
@ -197,7 +197,7 @@
</message>
<message>
<source>Statuses</source>
<translation>Status</translation>
<translation>Pouets</translation>
</message>
<message>
<source>Favourites</source>
@ -213,11 +213,11 @@
</message>
<message>
<source>Followers</source>
<translation>Abonnés</translation>
<translation>Abonné(e)s</translation>
</message>
<message>
<source>Bio</source>
<translation type="unfinished"></translation>
<translation>Bio</translation>
</message>
<message>
<source>Open Profile in Browser</source>
@ -243,17 +243,13 @@
<translation>Désautoriser cette application et enlever votre compte</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<source>Authorize this app to access your Mastodon account</source>
<translation>Autoriser cette application d&apos;utiliser votre compte</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation>Désactiver cette option pour économiser des données mobiles</translation>
</message>
<message>
<source>About</source>
<translation>À propos</translation>
</message>
<message>
<source>Credits</source>
<translation>Développement</translation>
@ -262,21 +258,9 @@
<source>UI/UX design and development</source>
<translation>Design UI/UX et développement</translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation>Cette application est un fork de Tooter (développée par Duško Angirević). Cette version continue le développement et corrige plusieurs bugs trouvés.</translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation>Charger images dans pouets</translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation>Développement de cette version</translation>
</message>
<message>
<source>Visual identity</source>
<translation type>Identité visuelle</translation>
<translation>Identité visuelle</translation>
</message>
<message>
<source>Occitan &amp; French translation</source>
@ -294,12 +278,32 @@
<source>Chinese translation</source>
<translation>Traduction chinoise</translation>
</message>
<message>
<source>Added README file</source>
<translation>Ajouté fichier README</translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Charger images dans les pouets</translation>
</message>
<message>
<source>Translate</source>
<translation>Traduire</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Utiliser Transifex pour aider avec les traductions de l&apos;application</translation>
</message>
<message>
<source>Development and translations</source>
<translation>Développement et traductions</translation>
</message>
</context>
<context>
<name>Toot</name>
<message>
<source>boosted</source>
<translation>boosté</translation>
<translation>a partagé</translation>
</message>
<message>
<source>favourited</source>
@ -314,19 +318,19 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation type="unfinished"></translation>
<translation>Annuler le partage</translation>
</message>
<message>
<source>Boost</source>
<translation type="unfinished"></translation>
<translation>Partager</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Défavoriser</translation>
</message>
<message>
<source>Favorite</source>
<translation type="unfinished"></translation>
<translation>Ajouter au favoris</translation>
</message>
</context>
</TS>

View file

@ -0,0 +1,411 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="it">
<context>
<name>API</name>
<message>
<location filename="../qml/lib/API.js" line="158"/>
<source>favourited</source>
<translation>ha apprezzato</translation>
</message>
<message>
<location filename="../qml/lib/API.js" line="169"/>
<source>followed you</source>
<translation>ha iniziato a seguirti</translation>
</message>
<message>
<location filename="../qml/lib/API.js" line="179"/>
<source>boosted</source>
<translation>ha condiviso</translation>
</message>
<message>
<location filename="../qml/lib/API.js" line="189"/>
<location filename="../qml/lib/API.js" line="191"/>
<source>said</source>
<translation>ha detto</translation>
</message>
</context>
<context>
<name>Conversation</name>
<message>
<location filename="../qml/pages/Conversation.qml" line="65"/>
<source>Conversation</source>
<translation>Conversazione</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="182"/>
<source>Write your warning here</source>
<translation>Contenuto avviso</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="213"/>
<source>What&apos;s on your mind?</source>
<translation>A cosa stai pensando?</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="276"/>
<source>Delete</source>
<translation>Elimina</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="376"/>
<source>Public</source>
<translation>Pubblico</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="379"/>
<source>Unlisted</source>
<translation>Non elencato</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="382"/>
<source>Followers-only</source>
<translation>Solo ai seguaci</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="385"/>
<source>Direct</source>
<translation>Diretto</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="499"/>
<source>Emojis</source>
<translation>Emojis</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="500"/>
<source>Tap to insert</source>
<translation>Tap per inserire</translation>
</message>
</context>
<context>
<name>ImageFullScreen</name>
<message>
<location filename="../qml/pages/components/ImageFullScreen.qml" line="287"/>
<source>Error loading</source>
<translation>Errore caricamento</translation>
</message>
</context>
<context>
<name>ImageUploader</name>
<message>
<location filename="../src/imageuploader.cpp" line="83"/>
<source>The file %1 does not exists</source>
<translation>Il file %1 non esiste</translation>
</message>
</context>
<context>
<name>LoginPage</name>
<message>
<location filename="../qml/pages/LoginPage.qml" line="56"/>
<source>Login</source>
<translation>Accesso</translation>
</message>
<message>
<location filename="../qml/pages/LoginPage.qml" line="59"/>
<source>Instance</source>
<translation>Istanza</translation>
</message>
<message>
<location filename="../qml/pages/LoginPage.qml" line="65"/>
<source>Enter a valid Mastodon instance URL</source>
<translation>Inserire URL di una istanza Mastodon valida</translation>
</message>
<message>
<location filename="../qml/pages/LoginPage.qml" line="123"/>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation>Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d&apos;istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo.</translation>
</message>
<message>
<location filename="../qml/pages/LoginPage.qml" line="194"/>
<source>Reload</source>
<translation>Ricarica</translation>
</message>
</context>
<context>
<name>MainPage</name>
<message>
<location filename="../qml/pages/MainPage.qml" line="64"/>
<source>Home</source>
<translation>Home</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="73"/>
<source>Notifications</source>
<translation>Notifiche</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="83"/>
<source>Local</source>
<translation>Locale</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="93"/>
<source>Federated</source>
<translation>Federazione</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="120"/>
<source>Search</source>
<translation>Cerca</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="125"/>
<source>@user or #term</source>
<translation>@utente o #termine</translation>
</message>
<message>
<location filename="../qml/pages/MainPage.qml" line="249"/>
<source>New Toot</source>
<translation>Nuovo toot</translation>
</message>
</context>
<context>
<name>MiniStatus</name>
<message>
<location filename="../qml/pages/components/MiniStatus.qml" line="36"/>
<source>boosted</source>
<translation>ha condiviso</translation>
</message>
<message>
<location filename="../qml/pages/components/MiniStatus.qml" line="39"/>
<source>favourited</source>
<translation>ha apprezzato</translation>
</message>
<message>
<location filename="../qml/pages/components/MiniStatus.qml" line="42"/>
<source>followed you</source>
<translation>ha iniziato a seguirti</translation>
</message>
</context>
<context>
<name>MyList</name>
<message>
<location filename="../qml/pages/components/MyList.qml" line="10"/>
<source>Loading</source>
<translation>Caricamento</translation>
</message>
<message>
<location filename="../qml/pages/components/MyList.qml" line="11"/>
<source>please wait...</source>
<translation>Attendere un momento...</translation>
</message>
<message>
<location filename="../qml/pages/components/MyList.qml" line="63"/>
<source>Settings</source>
<translation>Impostazioni</translation>
</message>
<message>
<location filename="../qml/pages/components/MyList.qml" line="70"/>
<source>Load more</source>
<translation>Caricare altri</translation>
</message>
</context>
<context>
<name>Profile</name>
<message>
<location filename="../qml/pages/Profile.qml" line="170"/>
<source>Summary</source>
<translation>Sintesi</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="176"/>
<source>Followers</source>
<translation>Seguaci</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="181"/>
<source>Following</source>
<translation>Segue</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="186"/>
<source>Statuses</source>
<translation>Toots</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="191"/>
<source>Favourites</source>
<translation>Apprezzati</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="200"/>
<source>Unfollow</source>
<translation>Smetti di seguire</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="200"/>
<source>Follow request sent!</source>
<translation>Richiesta di seguito inviata!</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="200"/>
<source>Follow</source>
<translation>Segui</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="213"/>
<source>Unmute</source>
<translation>Non silenziare</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="213"/>
<source>Mute</source>
<translation>Silenzia</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="226"/>
<source>Unblock</source>
<translation>Sblocca</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="226"/>
<source>Block</source>
<translation>Blocca</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="245"/>
<source>Bio</source>
<translation>Biografia</translation>
</message>
<message>
<location filename="../qml/pages/Profile.qml" line="287"/>
<source>Open Profile in Browser</source>
<translation>Aprire profile nel browser</translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/pages/Settings.qml" line="19"/>
<source>Settings</source>
<translation>Impostazione</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="26"/>
<source>Remove Account</source>
<translation>Rimozione del account</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="26"/>
<source>Add Account</source>
<translation>Aggiungi account</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="27"/>
<source>Deauthorize this app and remove your account</source>
<translation>Annullare l&apos;autorizzazione dell&apos;app e rimuovere l&apos;account</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="27"/>
<source>Authorize this app to access your Mastodon account</source>
<translation>Autorizzare l&apos;app all&apos;utilizzo del conto Mastodon</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="59"/>
<source>Load images in toots</source>
<translation>Caricare immagini nei toots</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="60"/>
<source>Disable this option if you want to preserve your data connection</source>
<translation>Disabilitare questa opzione per conservare connessione dati</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="67"/>
<source>Translate</source>
<translation>Tradurre</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="68"/>
<source>Use Transifex to help with app translation to your language</source>
<translation>Utilizzare Transifex per aiutare nella traduzione dell&apos;app</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="84"/>
<source>Credits</source>
<translation>Sviluppo</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="98"/>
<source>UI/UX design and development</source>
<translation>Design UI/UX e sviluppo</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="104"/>
<source>Visual identity</source>
<translation>Identità visiva</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="110"/>
<source>Development and translations</source>
<translation>Sviluppo e traduzioni</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="116"/>
<source>Occitan &amp; French translation</source>
<translation>Traduzione francese e occitanica</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="122"/>
<source>Chinese translation</source>
<translation>Traduzione cinese</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="128"/>
<source>Dutch translation</source>
<translation>Traduzione olandese</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="134"/>
<source>Spanish translation</source>
<translation>Traduzione spagnola</translation>
</message>
<message>
<location filename="../qml/pages/Settings.qml" line="140"/>
<source>Added README file</source>
<translation>Aggiunto file README</translation>
</message>
</context>
<context>
<name>Toot</name>
<message>
<location filename="../qml/pages/components/Toot.qml" line="35"/>
<source>boosted</source>
<translation>ha condiviso</translation>
</message>
<message>
<location filename="../qml/pages/components/Toot.qml" line="38"/>
<source>favourited</source>
<translation>ha apprezzato</translation>
</message>
<message>
<location filename="../qml/pages/components/Toot.qml" line="41"/>
<source>followed you</source>
<translation>ha iniziato a seguirti</translation>
</message>
</context>
<context>
<name>VisualContainer</name>
<message>
<location filename="../qml/pages/components/VisualContainer.qml" line="198"/>
<source>Unboost</source>
<translation>Annulla condivisione</translation>
</message>
<message>
<location filename="../qml/pages/components/VisualContainer.qml" line="198"/>
<source>Boost</source>
<translation>Condividi</translation>
</message>
<message>
<location filename="../qml/pages/components/VisualContainer.qml" line="235"/>
<source>Unfavorite</source>
<translation>Annulla apprezzamento</translation>
</message>
<message>
<location filename="../qml/pages/components/VisualContainer.qml" line="235"/>
<source>Favorite</source>
<translation>Apprezzato</translation>
</message>
</context>
</TS>

View file

@ -81,24 +81,24 @@
<name>LoginPage</name>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
<translation>Inloggen</translation>
</message>
<message>
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reload</source>
<translation type="unfinished"></translation>
<translation>Instantie</translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation>Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risicos van een enkel bedrijf dat je communicatie monopoliseert. Kies een server die je vertrouwt welke je ook kiest, je kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociale netwerk.</translation>
</message>
<message>
<source>Reload</source>
<translation>Herladen</translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -228,51 +228,35 @@
<name>Settings</name>
<message>
<source>Settings</source>
<translation type="unfinished">Instellingen</translation>
<translation>Instellingen</translation>
</message>
<message>
<source>Remove Account</source>
<translation type="unfinished"></translation>
<translation>Verwijderen account</translation>
</message>
<message>
<source>Add Account</source>
<translation type="unfinished"></translation>
<translation>Toevoegen account</translation>
</message>
<message>
<source>Deauthorize this app and remove your account</source>
<translation type="unfinished"></translation>
<translation>Trek autorisaties van deze app in en verwijder je account</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<translation type="unfinished"></translation>
<source>Authorize this app to access your Mastodon account</source>
<translation>Autoriseer deze app om je Mastodon namens jou te gebruiken</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
<translation>Schakel deze optie uit als je je dataverbinding wilt behouden</translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation>Credits</translation>
</message>
<message>
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
<translation>UI/UX ontwerp en ontwikkeling</translation>
</message>
<message>
<source>Visual identity</source>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Laden afbeeldingen in toots</translation>
</message>
<message>
<source>Translate</source>
<translation>Vertalen</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Gebruik Transifex om deze app te helpen vertalen in jouw taal</translation>
</message>
<message>
<source>Development and translations</source>
<translation>Ontwikkeling en vertalingen</translation>
</message>
</context>
<context>
<name>Toot</name>
@ -318,19 +318,19 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation type="unfinished"></translation>
<translation>Unboost</translation>
</message>
<message>
<source>Boost</source>
<translation type="unfinished"></translation>
<translation>Boost</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Demarkeren als favoriet</translation>
</message>
<message>
<source>Favorite</source>
<translation type="unfinished"></translation>
<translation>Markeren als favoriet</translation>
</message>
</context>
</TS>

View file

@ -81,23 +81,23 @@
<name>LoginPage</name>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
<translation>Inloggen</translation>
</message>
<message>
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reload</source>
<translation type="unfinished"></translation>
<translation>Instantie</translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
<translation>Voert den URL van een Mastodon-instantie in</translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation>Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risicos van één enkel bedrijf dat uw communicatie monopoliseert. Kiest ne server die ge vertrouwt dewelken dat ge ook kiest, ge kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociaal netwerk.</translation>
</message>
<message>
<source>Reload</source>
<translation>Herladen</translation>
</message>
</context>
<context>
@ -228,51 +228,35 @@
<name>Settings</name>
<message>
<source>Settings</source>
<translation type="unfinished">Instellingen</translation>
<translation>Instellingen</translation>
</message>
<message>
<source>Remove Account</source>
<translation type="unfinished"></translation>
<translation>Account verwijderen</translation>
</message>
<message>
<source>Add Account</source>
<translation type="unfinished"></translation>
<translation>Account toevoegen</translation>
</message>
<message>
<source>Deauthorize this app and remove your account</source>
<translation type="unfinished"></translation>
<translation>Trekt autorisaties van dezen app in en verwijdert uwen account</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<translation type="unfinished"></translation>
<source>Authorize this app to access your Mastodon account</source>
<translation>Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
<translation>Schakelt dees optie uit als ge uw verbinding wilt behouden</translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation>Credits</translation>
</message>
<message>
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
<translation>UI/UX-ontwerp en -ontwikkeling</translation>
</message>
<message>
<source>Visual identity</source>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Afbeeldingen in toots laden</translation>
</message>
<message>
<source>Translate</source>
<translation>Vertalen</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Gebruikt Transifex voor te helpen met dezen app in uw taal te vertalen</translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>
@ -318,19 +318,19 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation type="unfinished"></translation>
<translation>Ontboosten</translation>
</message>
<message>
<source>Boost</source>
<translation type="unfinished"></translation>
<translation>Boosten</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Duim verwijderen</translation>
</message>
<message>
<source>Favorite</source>
<translation type="unfinished"></translation>
<translation>Duim toevoegen</translation>
</message>
</context>
</TS>

View file

@ -81,24 +81,24 @@
<name>LoginPage</name>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
<translation>Connexion</translation>
</message>
<message>
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation>Picatz lURL duna instància Mastodon</translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
<translation>Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu&apos;una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid.</translation>
</message>
<message>
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -228,51 +228,35 @@
<name>Settings</name>
<message>
<source>Settings</source>
<translation type="unfinished">Parmètres</translation>
<translation>Parmètres</translation>
</message>
<message>
<source>Remove Account</source>
<translation type="unfinished"></translation>
<translation>Levar un compte</translation>
</message>
<message>
<source>Add Account</source>
<translation type="unfinished"></translation>
<translation>Ajustar un compte</translation>
</message>
<message>
<source>Deauthorize this app and remove your account</source>
<translation type="unfinished"></translation>
<translation>Revocar laplicacion e levar vòstre compte</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<translation type="unfinished"></translation>
<source>Authorize this app to access your Mastodon account</source>
<translation>Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
<translation>Desactivar aquesta opcion per estalviar vòstra connexion de donadas</translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation>Crèdits</translation>
</message>
<message>
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
<translation>UI/UX design e desvlopament</translation>
</message>
<message>
<source>Visual identity</source>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Cargar los imatges dels tuts</translation>
</message>
<message>
<source>Translate</source>
<translation>Traduire</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Utilizar Transifex per ajudar a traduire laplicacion dins vòstra lenga</translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>
@ -318,19 +318,19 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation type="unfinished"></translation>
<translation>Partejar pas mai</translation>
</message>
<message>
<source>Boost</source>
<translation type="unfinished"></translation>
<translation>Partejar</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Levar dels favorits</translation>
</message>
<message>
<source>Favorite</source>
<translation type="unfinished"></translation>
<translation>Ajustar als favorits</translation>
</message>
</context>
</TS>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<TS version="2.1" language="pl">
<context>
<name>API</name>
<message>
@ -87,6 +87,10 @@
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
@ -95,10 +99,6 @@
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -243,17 +243,13 @@
<translation type="unfinished"></translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<source>Authorize this app to access your Mastodon account</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
@ -262,18 +258,6 @@
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visual identity</source>
<translation type="unfinished"></translation>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Translate</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>

View file

@ -87,18 +87,18 @@
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation>Введите URL-адрес экземпляра Mastodon</translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
<translation>Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети.</translation>
</message>
<message>
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -228,51 +228,35 @@
<name>Settings</name>
<message>
<source>Settings</source>
<translation type="unfinished">Настройки</translation>
<translation>Настройки</translation>
</message>
<message>
<source>Remove Account</source>
<translation type="unfinished"></translation>
<translation>Удалить учетную запись</translation>
</message>
<message>
<source>Add Account</source>
<translation type="unfinished"></translation>
<translation>Добавить аккаунт</translation>
</message>
<message>
<source>Deauthorize this app and remove your account</source>
<translation type="unfinished"></translation>
<translation>удалить учетную запись с устройства</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<translation type="unfinished"></translation>
<source>Authorize this app to access your Mastodon account</source>
<translation>Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
<translation>Отключите эту опцию, если вы хотите сохранить подключение к данным</translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation>Зачет</translation>
</message>
<message>
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
<translation>Дизайн и разработка UI / UX</translation>
</message>
<message>
<source>Visual identity</source>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Загружать изображения</translation>
</message>
<message>
<source>Translate</source>
<translation>Переведите</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Используйте Transifex, чтобы помочь с переводом приложения на ваш язык</translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>
@ -318,19 +318,19 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation type="unfinished"></translation>
<translation>Нет росту</translation>
</message>
<message>
<source>Boost</source>
<translation type="unfinished"></translation>
<translation>Росту</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Избранные нет</translation>
</message>
<message>
<source>Favorite</source>
<translation type="unfinished"></translation>
<translation>Избранные</translation>
</message>
</context>
</TS>

View file

@ -87,6 +87,10 @@
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
@ -95,10 +99,6 @@
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -228,51 +228,35 @@
<name>Settings</name>
<message>
<source>Settings</source>
<translation type="unfinished">Подешавања</translation>
<translation>Подешавања</translation>
</message>
<message>
<source>Remove Account</source>
<translation type="unfinished"></translation>
<translation>Уклони налог</translation>
</message>
<message>
<source>Add Account</source>
<translation type="unfinished"></translation>
<translation>Додај налог</translation>
</message>
<message>
<source>Deauthorize this app and remove your account</source>
<translation type="unfinished"></translation>
<translation>Укините дозволе за кориштење и уклоните налог с телефона</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<translation type="unfinished"></translation>
<source>Authorize this app to access your Mastodon account</source>
<translation>Дозволите овој апликацији да користи ваш Mastodon налог</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
<translation>Искључите ову опцију уколико желите да уштедите на преносу података</translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation>Спомен плоча</translation>
</message>
<message>
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
<translation>интерфејс дизајн и развој</translation>
</message>
<message>
<source>Visual identity</source>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Прикажи слике у објавама</translation>
</message>
<message>
<source>Translate</source>
<translation>Преведи</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation>Користите Transifex и помозите у преводу апликације на други језик</translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>
@ -318,15 +318,15 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation type="unfinished"></translation>
<translation>Уклони разглас</translation>
</message>
<message>
<source>Boost</source>
<translation type="unfinished"></translation>
<translation>Разгласи</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Уклони из омиљених</translation>
</message>
<message>
<source>Favorite</source>

View file

@ -81,24 +81,24 @@
<name>LoginPage</name>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
<translation>Logga in</translation>
</message>
<message>
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation>Fyll i URL till Mastodoninstans</translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
<translation>Mastodon är ett fritt och öppet socialt nätverk byggt öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar --- beroende vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du!</translation>
</message>
<message>
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -228,51 +228,35 @@
<name>Settings</name>
<message>
<source>Settings</source>
<translation type="unfinished">Inställningar</translation>
<translation>Inställningar</translation>
</message>
<message>
<source>Remove Account</source>
<translation type="unfinished"></translation>
<translation>Radera konto</translation>
</message>
<message>
<source>Add Account</source>
<translation type="unfinished"></translation>
<translation>Lägg till konto</translation>
</message>
<message>
<source>Deauthorize this app and remove your account</source>
<translation type="unfinished"></translation>
<translation>Avauktorisera denna app och radera ditt konto</translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<translation type="unfinished"></translation>
<source>Authorize this app to access your Mastodon account</source>
<translation>Godkänn denna app att använda ditt Mastodon-konto dina vägnar</translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
<translation>Inaktivera det här alternativet om du vill behålla din dataanslutning</translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation>Erkännanden</translation>
</message>
<message>
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
<translation>UI/UX design och utveckling</translation>
</message>
<message>
<source>Visual identity</source>
@ -298,6 +282,22 @@
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation>Ladda bilder i toots</translation>
</message>
<message>
<source>Translate</source>
<translation>Översätt</translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Development and translations</source>
<translation>Använd Transifex för att hjälpa med app-översättningar till ditt språk</translation>
</message>
</context>
<context>
<name>Toot</name>
@ -318,19 +318,19 @@
<name>VisualContainer</name>
<message>
<source>Unboost</source>
<translation type="unfinished"></translation>
<translation>Avpuffa</translation>
</message>
<message>
<source>Boost</source>
<translation type="unfinished"></translation>
<translation>Puffa</translation>
</message>
<message>
<source>Unfavorite</source>
<translation type="unfinished"></translation>
<translation>Avfavorisera</translation>
</message>
<message>
<source>Favorite</source>
<translation type="unfinished"></translation>
<translation>Favorisera</translation>
</message>
</context>
</TS>

View file

@ -87,18 +87,18 @@
<source>Instance</source>
<translation></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation> Mastodon URL</translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation>Mastodon Mastodon </translation>
<translation>Mastodon Mastodon </translation>
</message>
<message>
<source>Reload</source>
<translation></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation> Mastodon URL</translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -169,7 +169,7 @@
<name>Profile</name>
<message>
<source>Unfollow</source>
<translation></translation>
<translation></translation>
</message>
<message>
<source>Follow request sent!</source>
@ -217,7 +217,7 @@
</message>
<message>
<source>Bio</source>
<translation>Bio</translation>
<translation></translation>
</message>
<message>
<source>Open Profile in Browser</source>
@ -243,17 +243,13 @@
<translation></translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<source>Authorize this app to access your Mastodon account</source>
<translation>使 Mastodon </translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation></translation>
</message>
<message>
<source>About</source>
<translation></translation>
</message>
<message>
<source>Credits</source>
<translation></translation>
@ -262,18 +258,6 @@
<source>UI/UX design and development</source>
<translation>UI/UX设计及开发</translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation> Mastodon Tooter Duško Angirević &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt; 。</translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation在嘟嘟加载图片></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation></translation>
</message>
<message>
<source>Visual identity</source>
<translation></translation>
@ -292,12 +276,28 @@
</message>
<message>
<source>Added README file</source>
<translation> README </translation>
<translation> README </translation>
</message>
<message>
<source>Chinese translation</source>
<translation></translation>
</message>
<message>
<source>Load images in toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Translate</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>

View file

@ -87,6 +87,10 @@
<source>Instance</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation type="unfinished"></translation>
@ -95,10 +99,6 @@
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a valid Mastodon instance URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainPage</name>
@ -243,17 +243,13 @@
<translation type="unfinished"></translation>
</message>
<message>
<source>Authorize this app to use your Mastodon account in your behalf</source>
<source>Authorize this app to access your Mastodon account</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Disable this option if you want to preserve your data connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
@ -262,18 +258,6 @@
<source>UI/UX design and development</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on &lt;a href=&apos;https://github.com/molan-git/harbour-tooter&apos;&gt;GitHub&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load Images in Toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Maintainer of this release</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visual identity</source>
<translation type="unfinished"></translation>
@ -294,6 +278,26 @@
<source>Added README file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Chinese translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load images in toots</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Translate</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Transifex to help with app translation to your language</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Development and translations</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Toot</name>