diff --git a/README.md b/README.md
index 8a6da21..d43db48 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/config/ba.dysko.harbour.tooter.service b/config/ba.dysko.harbour.tooterb.service
similarity index 100%
rename from config/ba.dysko.harbour.tooter.service
rename to config/ba.dysko.harbour.tooterb.service
diff --git a/config/ba.dysko.harbour.tooter.xml b/config/ba.dysko.harbour.tooterb.xml
similarity index 100%
rename from config/ba.dysko.harbour.tooter.xml
rename to config/ba.dysko.harbour.tooterb.xml
diff --git a/config/icon-lock-harbour-tooter.png b/config/icon-lock-harbour-tooter.png
deleted file mode 100644
index 0ad7dfd..0000000
Binary files a/config/icon-lock-harbour-tooter.png and /dev/null differ
diff --git a/config/icon-lock-harbour-tooterb.png b/config/icon-lock-harbour-tooterb.png
new file mode 100644
index 0000000..6a726e4
Binary files /dev/null and b/config/icon-lock-harbour-tooterb.png differ
diff --git a/config/x-harbour.tooter.activity.conf b/config/x-harbour.tooter.activity.conf
deleted file mode 100644
index a4c6442..0000000
--- a/config/x-harbour.tooter.activity.conf
+++ /dev/null
@@ -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
diff --git a/config/x-harbour.tooterb.activity.conf b/config/x-harbour.tooterb.activity.conf
new file mode 100644
index 0000000..95fb44c
--- /dev/null
+++ b/config/x-harbour.tooterb.activity.conf
@@ -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
diff --git a/harbour-tooter.desktop b/harbour-tooterb.desktop
similarity index 81%
rename from harbour-tooter.desktop
rename to harbour-tooterb.desktop
index 0488e61..74cc312 100644
--- a/harbour-tooter.desktop
+++ b/harbour-tooterb.desktop
@@ -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)
#
diff --git a/harbour-tooter.pro b/harbour-tooterb.pro
similarity index 58%
rename from harbour-tooter.pro
rename to harbour-tooterb.pro
index d074c15..adf1b3e 100644
--- a/harbour-tooter.pro
+++ b/harbour-tooterb.pro
@@ -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
diff --git a/harbour-tooterb.pro.user b/harbour-tooterb.pro.user
new file mode 100644
index 0000000..9baea29
--- /dev/null
+++ b/harbour-tooterb.pro.user
@@ -0,0 +1,799 @@
+
+
+
+
+
+ EnvironmentId
+ {1eb0406f-b7ad-49c3-808f-08b8e70e23f1}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ true
+ false
+ 0
+ true
+ true
+ 0
+ 8
+ true
+ 1
+ true
+ true
+ true
+ false
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ SailfishOS-3.2.1.20-i486 (in Sailfish OS Build Engine)
+ SailfishOS-3.2.1.20-i486 (in Sailfish OS Build Engine)
+ SailfishOS-3.2.1.20-i486
+ 1
+ 1
+ 0
+
+ C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Debug
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+ false
+
+ 3
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+ false
+
+ 2
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+ Debug
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Release
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+ false
+
+ 3
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+ false
+
+ 2
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+ Release
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+
+ C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Profile
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ true
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+ false
+
+ 3
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+ false
+
+ 2
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Profile
+ Profile
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 3
+
+
+
+ true
+ RPM
+
+ QmakeProjectManager.MerRpmBuildStep
+
+
+ true
+ RPM Validation
+
+ QmakeProjectManager.MerRpmValidationStep
+
+ 2
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Build RPM Package For Manual Deployment
+
+ QmakeProjectManager.MerMb2RpmBuildConfiguration
+
+
+
+
+ true
+ Prepare Target
+
+ QmakeProjectManager.MerPrepareTargetStep
+
+
+ true
+ Rsync
+
+ QmakeProjectManager.MerRsyncDeployStep
+
+ 2
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy By Copying Binaries
+
+ QmakeProjectManager.MerRSyncDeployConfiguration
+
+
+
+
+ true
+ Prepare Target
+
+ QmakeProjectManager.MerPrepareTargetStep
+
+
+ true
+ RPM
+
+ QmakeProjectManager.MerRpmDeployStep
+
+ 2
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy As RPM Package
+
+ QmakeProjectManager.MerRpmDeployConfiguration
+
+ 3
+
+
+ dwarf
+
+ cpu-cycles
+
+
+ 250
+ -F
+ true
+ 4096
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ kcachegrind
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ C:/Users/XPAM/Github/harbour-tooter-master
+ false
+ -1
+ 3
+
+ 1
+
+
+ harbour-tooterb (on Sailfish OS Emulator 3.2.1.20)
+ QmakeProjectManager.MerRunConfiguration:C:/Users/XPAM/Github/harbour-tooter-master/harbour-tooterb.pro
+ 1
+
+ false
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+ 1
+
+
+
+ ProjectExplorer.Project.Target.1
+
+ SailfishOS-3.2.1.20-armv7hl (in Sailfish OS Build Engine)
+ SailfishOS-3.2.1.20-armv7hl (in Sailfish OS Build Engine)
+ SailfishOS-3.2.1.20-armv7hl
+ 1
+ 0
+ 0
+
+ C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Debug
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+ false
+
+ 3
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+ false
+
+ 2
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+ Debug
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Release
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+ false
+
+ 3
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+ false
+
+ 2
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+ Release
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+
+ C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Profile
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ true
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+ false
+
+ 3
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Start Build Engine
+
+ Mer.MerSdkStartStep
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+ false
+
+ 2
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Profile
+ Profile
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 3
+
+
+
+ true
+ RPM
+
+ QmakeProjectManager.MerRpmBuildStep
+
+
+ true
+ RPM Validation
+
+ QmakeProjectManager.MerRpmValidationStep
+
+ 2
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Build RPM Package For Manual Deployment
+
+ QmakeProjectManager.MerMb2RpmBuildConfiguration
+
+
+
+
+ true
+ Prepare Target
+
+ QmakeProjectManager.MerPrepareTargetStep
+
+
+ true
+ Rsync
+
+ QmakeProjectManager.MerRsyncDeployStep
+
+ 2
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy By Copying Binaries
+
+ QmakeProjectManager.MerRSyncDeployConfiguration
+
+
+
+
+ true
+ Prepare Target
+
+ QmakeProjectManager.MerPrepareTargetStep
+
+
+ true
+ RPM
+
+ QmakeProjectManager.MerRpmDeployStep
+
+ 2
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy As RPM Package
+
+ QmakeProjectManager.MerRpmDeployConfiguration
+
+ 3
+
+
+ dwarf
+
+ cpu-cycles
+
+
+ 250
+ -F
+ true
+ 4096
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ kcachegrind
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ C:/Users/XPAM/Github/harbour-tooter-master
+ false
+ -1
+ 3
+
+ 1
+
+
+ harbour-tooterb (on Sailfish OS Emulator 3.2.1.20)
+ QmakeProjectManager.MerRunConfiguration:C:/Users/XPAM/Github/harbour-tooter-master/harbour-tooterb.pro
+ 1
+
+ false
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 2
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 21
+
+
+ Version
+ 21
+
+
diff --git a/icons/108x108/harbour-tooter.png b/icons/108x108/harbour-tooter.png
deleted file mode 100644
index c500c5e..0000000
Binary files a/icons/108x108/harbour-tooter.png and /dev/null differ
diff --git a/icons/108x108/harbour-tooterb.png b/icons/108x108/harbour-tooterb.png
new file mode 100644
index 0000000..d802c0b
Binary files /dev/null and b/icons/108x108/harbour-tooterb.png differ
diff --git a/icons/128x128/harbour-tooter.png b/icons/128x128/harbour-tooter.png
deleted file mode 100644
index bb7751d..0000000
Binary files a/icons/128x128/harbour-tooter.png and /dev/null differ
diff --git a/icons/128x128/harbour-tooterb.png b/icons/128x128/harbour-tooterb.png
new file mode 100644
index 0000000..53b9458
Binary files /dev/null and b/icons/128x128/harbour-tooterb.png differ
diff --git a/icons/172x172/harbour-tooter.png b/icons/172x172/harbour-tooter.png
deleted file mode 100644
index bf5fa10..0000000
Binary files a/icons/172x172/harbour-tooter.png and /dev/null differ
diff --git a/icons/172x172/harbour-tooterb.png b/icons/172x172/harbour-tooterb.png
new file mode 100644
index 0000000..864b961
Binary files /dev/null and b/icons/172x172/harbour-tooterb.png differ
diff --git a/icons/256x256/harbour-tooter.png b/icons/256x256/harbour-tooter.png
deleted file mode 100644
index 765dd66..0000000
Binary files a/icons/256x256/harbour-tooter.png and /dev/null differ
diff --git a/icons/256x256/harbour-tooterb.png b/icons/256x256/harbour-tooterb.png
new file mode 100644
index 0000000..57e0647
Binary files /dev/null and b/icons/256x256/harbour-tooterb.png differ
diff --git a/icons/86x86/harbour-tooter.png b/icons/86x86/harbour-tooter.png
deleted file mode 100644
index 0ad7dfd..0000000
Binary files a/icons/86x86/harbour-tooter.png and /dev/null differ
diff --git a/icons/86x86/harbour-tooterb.png b/icons/86x86/harbour-tooterb.png
new file mode 100644
index 0000000..6a726e4
Binary files /dev/null and b/icons/86x86/harbour-tooterb.png differ
diff --git a/qml/cover/CoverPage.qml b/qml/cover/CoverPage.qml
index 770124c..2383490 100644
--- a/qml/cover/CoverPage.qml
+++ b/qml/cover/CoverPage.qml
@@ -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
}
diff --git a/qml/harbour-tooter.qml b/qml/harbour-tooterb.qml
similarity index 95%
rename from qml/harbour-tooter.qml
rename to qml/harbour-tooterb.qml
index 60fe3f6..7b23d5e 100644
--- a/qml/harbour-tooter.qml
+++ b/qml/harbour-tooterb.qml
@@ -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"), {})
}
diff --git a/qml/images/boosted.svg b/qml/images/boosted.svg
new file mode 100644
index 0000000..468e2da
--- /dev/null
+++ b/qml/images/boosted.svg
@@ -0,0 +1,16 @@
+
+
+
+
diff --git a/qml/images/icon-l-profile.svg b/qml/images/icon-l-profile.svg
new file mode 100644
index 0000000..f4445c4
--- /dev/null
+++ b/qml/images/icon-l-profile.svg
@@ -0,0 +1,17 @@
+
+
+
diff --git a/qml/images/icon-m-profile.svg b/qml/images/icon-m-profile.svg
new file mode 100644
index 0000000..896129e
--- /dev/null
+++ b/qml/images/icon-m-profile.svg
@@ -0,0 +1,25 @@
+
+
+
diff --git a/qml/images/tooterb.svg b/qml/images/tooterb.svg
new file mode 100644
index 0000000..8af076f
--- /dev/null
+++ b/qml/images/tooterb.svg
@@ -0,0 +1,38 @@
+
+
+
diff --git a/qml/lib/API.js b/qml/lib/API.js
index 3dce882..f930c0c 100644
--- a/qml/lib/API.js
+++ b/qml/lib/API.js
@@ -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
diff --git a/qml/lib/Worker.js b/qml/lib/Worker.js
index bbd6a6b..15c13fd 100644
--- a/qml/lib/Worker.js
+++ b/qml/lib/Worker.js
@@ -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"])
diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml
index fce4817..0bb6b54 100644
--- a/qml/pages/Conversation.qml
+++ b/qml/pages/Conversation.qml
@@ -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
}
diff --git a/qml/pages/LoginPage.qml b/qml/pages/LoginPage.qml
index 8549e62..c3874fb 100644
--- a/qml/pages/LoginPage.qml
+++ b/qml/pages/LoginPage.qml
@@ -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.")
}
diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml
index 3a5083c..02bbf4b 100644
--- a/qml/pages/Profile.qml
+++ b/qml/pages/Profile.qml
@@ -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);
diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml
index ef0ce22..88a3651 100644
--- a/qml/pages/Settings.qml
+++ b/qml/pages/Settings.qml
@@ -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 GitHub.")
- 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: {
diff --git a/qml/pages/components/MiniHeader.qml b/qml/pages/components/MiniHeader.qml
index 34140a9..6a9f6f9 100644
--- a/qml/pages/components/MiniHeader.qml
+++ b/qml/pages/components/MiniHeader.qml
@@ -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
diff --git a/qml/pages/components/MyList.qml b/qml/pages/components/MyList.qml
index b2f0626..27acc24 100644
--- a/qml/pages/components/MyList.qml
+++ b/qml/pages/components/MyList.qml
@@ -122,7 +122,6 @@ SilicaListView {
}
}
onContentYChanged: {
-
if (Math.abs(contentY - scrollOffset) > Theme.itemSizeMedium) {
openDrawer(contentY - scrollOffset > 0 ? false : true )
scrollOffset = contentY
diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml
index 8dd369c..a4c9a8d 100644
--- a/qml/pages/components/ProfileHeader.qml
+++ b/qml/pages/components/ProfileHeader.qml
@@ -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
diff --git a/qml/pages/components/Toot.qml b/qml/pages/components/Toot.qml
index 05d235c..7809e7a 100644
--- a/qml/pages/components/Toot.qml
+++ b/qml/pages/components/Toot.qml
@@ -4,6 +4,7 @@ import QtGraphicalEffects 1.0
BackgroundItem {
signal send (string notice)
+
id: delegate
//property string text: "0"
width: parent.width
diff --git a/qml/pages/components/VisualContainer.qml b/qml/pages/components/VisualContainer.qml
index 2d42d6c..e96af80 100644
--- a/qml/pages/components/VisualContainer.qml
+++ b/qml/pages/components/VisualContainer.qml
@@ -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
diff --git a/rpm/harbour-tooter.changes b/rpm/harbour-tooterb.changes
similarity index 92%
rename from rpm/harbour-tooter.changes
rename to rpm/harbour-tooterb.changes
index 1c662cd..3b567e5 100644
--- a/rpm/harbour-tooter.changes
+++ b/rpm/harbour-tooterb.changes
@@ -1,4 +1,14 @@
-* Thu Feb 03 2020 molan 1.0.3-7
+*Wed May 06 2020 molan 1.0.4-2
+- Beta release
+
+* Thu Apr 16 2020 Dusko Angirevic 1.0.4-1
+- Merge with molan code
+
+* Tue Feb 04 2020 molan 1.0.3-8
+- Fix for broken translations
+- Updated Spanish translation
+
+* Mon Feb 03 2020 molan 1.0.3-7
- Updated translations for new language strings
* Thu Jan 30 2020 molan 1.0.3-6
diff --git a/rpm/harbour-tooter.changes.run.in b/rpm/harbour-tooterb.changes.run.in
similarity index 91%
rename from rpm/harbour-tooter.changes.run.in
rename to rpm/harbour-tooterb.changes.run.in
index c6fa648..a3693d6 100644
--- a/rpm/harbour-tooter.changes.run.in
+++ b/rpm/harbour-tooterb.changes.run.in
@@ -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.
diff --git a/rpm/harbour-tooter.spec b/rpm/harbour-tooterb.spec
similarity index 87%
rename from rpm/harbour-tooter.spec
rename to rpm/harbour-tooterb.spec
index f37454f..42b36d8 100644
--- a/rpm/harbour-tooter.spec
+++ b/rpm/harbour-tooterb.spec
@@ -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
diff --git a/rpm/harbour-tooter.yaml b/rpm/harbour-tooterb.yaml
similarity index 90%
rename from rpm/harbour-tooter.yaml
rename to rpm/harbour-tooterb.yaml
index af717af..c7f90b9 100644
--- a/rpm/harbour-tooter.yaml
+++ b/rpm/harbour-tooterb.yaml
@@ -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
diff --git a/src/dbus.cpp b/src/dbus.cpp
index e221b9b..1135741 100644
--- a/src/dbus.cpp
+++ b/src/dbus.cpp
@@ -7,7 +7,7 @@ Dbus::Dbus(QObject *parent) :
QObject(parent)
{
m_dbusRegistered = false;
- new TooterAdaptor(this);
+ new TooterbAdaptor(this);
registerDBus();
}
diff --git a/src/dbus.h b/src/dbus.h
index 4bb863b..d533a18 100644
--- a/src/dbus.h
+++ b/src/dbus.h
@@ -5,7 +5,7 @@
#include
#include "dbusAdaptor.h"
-#define SERVICE_NAME "ba.dysko.harbour.tooter"
+#define SERVICE_NAME "ba.dysko.harbour.tooterb"
class QDBusInterface;
class Dbus : public QObject
diff --git a/src/dbusAdaptor.cpp b/src/dbusAdaptor.cpp
index d607136..99a3876 100644
--- a/src/dbusAdaptor.cpp
+++ b/src/dbusAdaptor.cpp
@@ -18,30 +18,30 @@
#include
/*
- * 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));
}
diff --git a/src/dbusAdaptor.h b/src/dbusAdaptor.h
index c65d635..e8ca064 100644
--- a/src/dbusAdaptor.h
+++ b/src/dbusAdaptor.h
@@ -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", ""
-" \n"
+" \n"
" \n"
" \n"
" \n"
@@ -41,8 +41,8 @@ class TooterAdaptor: public QDBusAbstractAdaptor
" \n"
"")
public:
- TooterAdaptor(QObject *parent);
- virtual ~TooterAdaptor();
+ TooterbAdaptor(QObject *parent);
+ virtual ~TooterbAdaptor();
public: // PROPERTIES
public Q_SLOTS: // METHODS
diff --git a/src/harbour-tooter.cpp b/src/harbour-tooterb.cpp
similarity index 87%
rename from src/harbour-tooter.cpp
rename to src/harbour-tooterb.cpp
index 6ebfd40..80c8a37 100644
--- a/src/harbour-tooter.cpp
+++ b/src/harbour-tooterb.cpp
@@ -27,7 +27,7 @@ int main(int argc, char *argv[])
FileDownloader *fd = new FileDownloader(engine);
view->rootContext()->setContextProperty("FileDownloader", fd);
- qmlRegisterType("harbour.tooter.Uploader", 1, 0, "ImageUploader");
+ qmlRegisterType("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();
}
diff --git a/src/notifications.cpp b/src/notifications.cpp
index 8234e1f..f7d3e15 100644
--- a/src/notifications.cpp
+++ b/src/notifications.cpp
@@ -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);
}
diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooterb-de.ts
similarity index 78%
rename from translations/harbour-tooter-de.ts
rename to translations/harbour-tooterb-de.ts
index 62f0a6e..d2a2c44 100644
--- a/translations/harbour-tooter-de.ts
+++ b/translations/harbour-tooterb-de.ts
@@ -5,15 +5,15 @@
API
- favorisiert
+ hat favorisiert
- sind dir gefolgt
+ folgt dir
- geboostet
+ hat geteilt
@@ -40,7 +40,7 @@
- Füge eine Inhaltswarnung hinzu
+ Inhaltswarnung
@@ -52,15 +52,15 @@
- Nur Follower
+ Nur für Folgende
- Direkt
+ Direktnachricht
- Was möchtest du mitteilen?
+ Was gibt's Neues?
@@ -87,6 +87,10 @@
Instanz
+
+
+ Eine gültige Mastodon-Instanz URL eingeben
+
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.
@@ -95,10 +99,6 @@
Neu laden
-
-
- Eine gültige Mastodon-Instanz URL eingeben
-
MainPage
@@ -120,7 +120,7 @@
- @User oder #Ausdruck
+ @Benutzer oder #Ausdruck
@@ -128,22 +128,22 @@
- Föderiert
+ Föderation
MiniStatus
- geboostet
+ hat geteilt
- favorisiert
+ hat favorisiert
- sind dir gefolgt
+ folgt dir
@@ -158,7 +158,7 @@
- Lädt...
+ Wird geladen
@@ -169,7 +169,7 @@
Profile
- Nicht mehr folgen
+ Entfolgen
@@ -177,15 +177,15 @@
- Folgend
+ Folgt
- Stumm
+ Stummschalten
- Nicht stumm
+ Nicht stummschalten
@@ -197,7 +197,7 @@
- Status
+ Beiträge
@@ -205,7 +205,7 @@
- Folge
+ Folgen
@@ -213,7 +213,7 @@
- Anhänger
+ Folgende
@@ -221,7 +221,7 @@
- Profil in Browser öffnen
+ Profil im Browser öffnen
@@ -243,44 +243,28 @@
Konto entfernen und für diese Anwendung deaktivieren
-
+
Zugriff durch diese Anwendung auf eigenes Mastodon-Konto erlauben
Diese Option deaktivieren um Datenvolumen zu sparen
-
-
- Über
-
- Entwickler
+ Über
UI/UX-Gestaltung und Entwicklung
-
-
- Dies ist ein Fork und Weiterentwicklung der Mastodon-Anwendung Tooter, welche urpsrünglich von Duško Angirević entwickelt wurde. Quellcode auf <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>.
-
-
-
- Bilder in Toots laden
-
-
-
- Entwicklung dieser Version
-
- Visuelle Identität
+ Visuelle Identität
- Franzözische Übersetzung
+ Französische Übersetzung
@@ -292,22 +276,38 @@
- README-Datei erstellt
+ Erstellung README-Datei
Chinesische Übersetzung
+
+
+ Bilder in Toots laden
+
+
+
+ Übersetzungen
+
+
+
+ Transifex benutzen um bei den Übersetzungen mitzuhelfen
+
+
+
+ Entwicklung und Übersetzungen
+
Toot
- geboostet
+ hat geteilt
- favorisiert
+ hat favorisiert
@@ -318,19 +318,19 @@
VisualContainer
- Nicht boosten
+ Nicht mehr teilen
- Boosten
+ Teilen
-
+ Nicht favorisieren
-
+ Favorisieren
diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooterb-el.ts
similarity index 83%
rename from translations/harbour-tooter-el.ts
rename to translations/harbour-tooterb-el.ts
index b4edd31..6f47211 100644
--- a/translations/harbour-tooter-el.ts
+++ b/translations/harbour-tooterb-el.ts
@@ -81,10 +81,14 @@
LoginPage
-
+ Σύνδεση
+ Παράδειγμα
+
+
+
@@ -95,10 +99,6 @@
-
-
-
-
MainPage
@@ -228,51 +228,35 @@
Settings
- Ρυθμίσεις
+ Ρυθμίσεις
-
+ Αφαίρεση λογαριασμού
-
+ Προσθήκη λογαριασμού
-
+ Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας
-
-
+
+ Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας
-
-
-
-
-
+ Απενεργοποιήστε αυτήν την επιλογή αν θέλετε να διατηρήσετε την σύνδεση των δεδομένων σας
-
+ Ευχαριστίες
-
-
-
-
-
-
-
-
-
-
-
-
-
+ UI/UX σχεδιασμός και ανάπτυξη
@@ -298,6 +282,22 @@
+
+
+
+
+
+
+ Μετάφραση
+
+
+
+ Χρησιμοποιήστε το Transifex για να βοηθήσετε την μετάφραση της εφαρμογής στην γλώσσα σας
+
+
+
+
+
Toot
@@ -318,19 +318,19 @@
VisualContainer
-
+ Αναίρεση προώθησης
-
+ Προώθηση
-
+ Αφαίρεση από τους σελιδοδείκτες
-
+ Σελιδοδείκτης
diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooterb-es.ts
similarity index 90%
rename from translations/harbour-tooter-es.ts
rename to translations/harbour-tooterb-es.ts
index 3d7aeae..a226c0c 100644
--- a/translations/harbour-tooter-es.ts
+++ b/translations/harbour-tooterb-es.ts
@@ -85,7 +85,11 @@
- Instancia
+ Instancia>
+
+
+
+ Introduce una URL de instancia de Mastodon válida
@@ -95,10 +99,6 @@
Volver a cargar
-
-
- Introduce una URL de instancia de Mastodon válida
-
MainPage
@@ -243,17 +243,13 @@
Retira la autorización a esta aplicación y elimina tu cuenta
-
+
Autoriza a esta aplicación para usar tu cuenta de Mastodon en tu nombre
Deshabilita esta opción si quieres ahorrar en tu conexión de datos
-
-
- Acerca de
-
Créditos
@@ -262,18 +258,6 @@
Diseño UI/UX y desarrollo
-
-
- 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 <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>.
-
-
-
- Cargar imágenes en toots
-
-
-
- Mantenedor de esta publicación
-
Identidad visual
@@ -298,6 +282,22 @@
Traducción al chino
+
+
+ Cargar imágenes en messages
+
+
+
+ Traducir
+
+
+
+ Usar Transifex para ayudar con traducciones
+
+
+
+ Desarrollo y traducciones
+
Toot
diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooterb-fi.ts
similarity index 95%
rename from translations/harbour-tooter-fi.ts
rename to translations/harbour-tooterb-fi.ts
index d15d70b..f1444ea 100644
--- a/translations/harbour-tooter-fi.ts
+++ b/translations/harbour-tooterb-fi.ts
@@ -87,6 +87,10 @@
+
+
+
+
@@ -95,10 +99,6 @@
-
-
-
-
MainPage
@@ -243,17 +243,13 @@
-
+
-
-
-
-
@@ -262,18 +258,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -298,6 +282,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Toot
diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooterb-fr.ts
similarity index 80%
rename from translations/harbour-tooter-fr.ts
rename to translations/harbour-tooterb-fr.ts
index b1d54b0..520174c 100644
--- a/translations/harbour-tooter-fr.ts
+++ b/translations/harbour-tooterb-fr.ts
@@ -48,11 +48,11 @@
- Non coté
+ Non listé
- Que Followers
+ Abonné(e)s uniquement
@@ -60,7 +60,7 @@
- A quoi penses-tu?
+ Qu'avez-vous en tête?
@@ -87,18 +87,18 @@
Instance
+
+
+ Saisissez l’URL d’une instance Mastodon
+
- 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'instances capables de communiquer entre elles.
+ Mastodon est un réseau libre et open source. Il s’agit d'une alternative aux plateformes commerciales, pour éviter qu'une seule entreprise monopolise vos communications. Choisissez un serveur dans lequel vous avez confiance - quelque que soit votre choix vous pourrez interagir avec d’autres personnes. Tout le monde peut monter sa propre instance Mastodon et participer rendre le réseau plus robuste.
Recharger
-
-
- Entrer l'URL d'une instance de Mastodon
-
MainPage
@@ -116,7 +116,7 @@
- Recherche
+ Chercher
@@ -124,11 +124,11 @@
- Local
+ Fil public local
- Fédéré
+ Fil public global
@@ -143,7 +143,7 @@
- vous a suivi
+ vous suit
@@ -197,7 +197,7 @@
- Status
+ Pouets
@@ -213,11 +213,11 @@
- Abonnés
+ Abonné(e)s
-
+ Bio
@@ -243,17 +243,13 @@
Désautoriser cette application et enlever votre compte
-
+
Autoriser cette application d'utiliser votre compte
Désactiver cette option pour économiser des données mobiles
-
-
- À propos
-
Développement
@@ -262,21 +258,9 @@
Design UI/UX et développement
-
-
- 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.
-
-
-
- Charger images dans pouets
-
-
-
- Développement de cette version
-
- Identité visuelle
+ Identité visuelle
@@ -294,12 +278,32 @@
Traduction chinoise
+
+
+ Ajouté fichier README
+
+
+
+ Charger images dans les pouets
+
+
+
+ Traduire
+
+
+
+ Utiliser Transifex pour aider avec les traductions de l'application
+
+
+
+ Développement et traductions
+
Toot
- boosté
+ a partagé
@@ -314,19 +318,19 @@
VisualContainer
-
+ Annuler le partage
-
+ Partager
-
+ Défavoriser
-
+ Ajouter au favoris
diff --git a/translations/harbour-tooterb-it.ts b/translations/harbour-tooterb-it.ts
new file mode 100644
index 0000000..e168a6f
--- /dev/null
+++ b/translations/harbour-tooterb-it.ts
@@ -0,0 +1,411 @@
+
+
+
+
+ API
+
+
+
+ ha apprezzato
+
+
+
+
+ ha iniziato a seguirti
+
+
+
+
+ ha condiviso
+
+
+
+
+
+ ha detto
+
+
+
+ Conversation
+
+
+
+ Conversazione
+
+
+
+
+ Contenuto avviso
+
+
+
+
+ A cosa stai pensando?
+
+
+
+
+ Elimina
+
+
+
+
+ Pubblico
+
+
+
+
+ Non elencato
+
+
+
+
+ Solo ai seguaci
+
+
+
+
+ Diretto
+
+
+
+
+ Emojis
+
+
+
+
+ Tap per inserire
+
+
+
+ ImageFullScreen
+
+
+
+ Errore caricamento
+
+
+
+ ImageUploader
+
+
+
+ Il file %1 non esiste
+
+
+
+ LoginPage
+
+
+
+ Accesso
+
+
+
+
+ Istanza
+
+
+
+
+ Inserire URL di una istanza Mastodon valida
+
+
+
+
+ Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d'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.
+
+
+
+
+ Ricarica
+
+
+
+ MainPage
+
+
+
+ Home
+
+
+
+
+ Notifiche
+
+
+
+
+ Locale
+
+
+
+
+ Federazione
+
+
+
+
+ Cerca
+
+
+
+
+ @utente o #termine
+
+
+
+
+ Nuovo toot
+
+
+
+ MiniStatus
+
+
+
+ ha condiviso
+
+
+
+
+ ha apprezzato
+
+
+
+
+ ha iniziato a seguirti
+
+
+
+ MyList
+
+
+
+ Caricamento
+
+
+
+
+ Attendere un momento...
+
+
+
+
+ Impostazioni
+
+
+
+
+ Caricare altri
+
+
+
+ Profile
+
+
+
+ Sintesi
+
+
+
+
+ Seguaci
+
+
+
+
+ Segue
+
+
+
+
+ Toots
+
+
+
+
+ Apprezzati
+
+
+
+
+ Smetti di seguire
+
+
+
+
+ Richiesta di seguito inviata!
+
+
+
+
+ Segui
+
+
+
+
+ Non silenziare
+
+
+
+
+ Silenzia
+
+
+
+
+ Sblocca
+
+
+
+
+ Blocca
+
+
+
+
+ Biografia
+
+
+
+
+ Aprire profile nel browser
+
+
+
+ Settings
+
+
+
+ Impostazione
+
+
+
+
+ Rimozione del account
+
+
+
+
+ Aggiungi account
+
+
+
+
+ Annullare l'autorizzazione dell'app e rimuovere l'account
+
+
+
+
+ Autorizzare l'app all'utilizzo del conto Mastodon
+
+
+
+
+ Caricare immagini nei toots
+
+
+
+
+ Disabilitare questa opzione per conservare connessione dati
+
+
+
+
+ Tradurre
+
+
+
+
+ Utilizzare Transifex per aiutare nella traduzione dell'app
+
+
+
+
+ Sviluppo
+
+
+
+
+ Design UI/UX e sviluppo
+
+
+
+
+ Identità visiva
+
+
+
+
+ Sviluppo e traduzioni
+
+
+
+
+ Traduzione francese e occitanica
+
+
+
+
+ Traduzione cinese
+
+
+
+
+ Traduzione olandese
+
+
+
+
+ Traduzione spagnola
+
+
+
+
+ Aggiunto file README
+
+
+
+ Toot
+
+
+
+ ha condiviso
+
+
+
+
+ ha apprezzato
+
+
+
+
+ ha iniziato a seguirti
+
+
+
+ VisualContainer
+
+
+
+ Annulla condivisione
+
+
+
+
+ Condividi
+
+
+
+
+ Annulla apprezzamento
+
+
+
+
+ Apprezzato
+
+
+
diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooterb-nl.ts
similarity index 82%
rename from translations/harbour-tooter-nl.ts
rename to translations/harbour-tooterb-nl.ts
index 896915a..6ff67ed 100644
--- a/translations/harbour-tooter-nl.ts
+++ b/translations/harbour-tooterb-nl.ts
@@ -81,24 +81,24 @@
LoginPage
-
+ Inloggen
-
-
-
-
-
-
-
-
-
+ Instantie
+
+
+ Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s 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.
+
+
+
+ Herladen
+
MainPage
@@ -228,51 +228,35 @@
Settings
- Instellingen
+ Instellingen
-
+ Verwijderen account
-
+ Toevoegen account
-
+ Trek autorisaties van deze app in en verwijder je account
-
-
+
+ Autoriseer deze app om je Mastodon namens jou te gebruiken
-
-
-
-
-
+ Schakel deze optie uit als je je dataverbinding wilt behouden
-
+ Credits
-
-
-
-
-
-
-
-
-
-
-
-
-
+ UI/UX ontwerp en ontwikkeling
@@ -298,6 +282,22 @@
+
+
+ Laden afbeeldingen in toots
+
+
+
+ Vertalen
+
+
+
+ Gebruik Transifex om deze app te helpen vertalen in jouw taal
+
+
+
+ Ontwikkeling en vertalingen
+
Toot
@@ -318,19 +318,19 @@
VisualContainer
-
+ Unboost
-
+ Boost
-
+ Demarkeren als favoriet
-
+ Markeren als favoriet
diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooterb-nl_BE.ts
similarity index 81%
rename from translations/harbour-tooter-nl_BE.ts
rename to translations/harbour-tooterb-nl_BE.ts
index b246e6c..cf8d937 100644
--- a/translations/harbour-tooter-nl_BE.ts
+++ b/translations/harbour-tooterb-nl_BE.ts
@@ -81,23 +81,23 @@
LoginPage
-
+ Inloggen
-
-
-
-
-
-
-
-
-
+ Instantie
-
+ Voert den URL van een Mastodon-instantie in
+
+
+
+ Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s 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.
+
+
+
+ Herladen
@@ -228,51 +228,35 @@
Settings
- Instellingen
+ Instellingen
-
+ Account verwijderen
-
+ Account toevoegen
-
+ Trekt autorisaties van dezen app in en verwijdert uwen account
-
-
+
+ Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken
-
-
-
-
-
+ Schakelt dees optie uit als ge uw verbinding wilt behouden
-
+ Credits
-
-
-
-
-
-
-
-
-
-
-
-
-
+ UI/UX-ontwerp en -ontwikkeling
@@ -298,6 +282,22 @@
+
+
+ Afbeeldingen in toots laden
+
+
+
+ Vertalen
+
+
+
+ Gebruikt Transifex voor te helpen met dezen app in uw taal te vertalen
+
+
+
+
+
Toot
@@ -318,19 +318,19 @@
VisualContainer
-
+ Ontboosten
-
+ Boosten
-
+ Duim verwijderen
-
+ Duim toevoegen
diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooterb-oc.ts
similarity index 82%
rename from translations/harbour-tooter-oc.ts
rename to translations/harbour-tooterb-oc.ts
index 4969598..2bb86d9 100644
--- a/translations/harbour-tooter-oc.ts
+++ b/translations/harbour-tooterb-oc.ts
@@ -81,24 +81,24 @@
LoginPage
-
+ Connexion
+
+
+ Picatz l’URL d’una instància Mastodon
+
-
+ Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'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.
-
-
-
-
MainPage
@@ -228,51 +228,35 @@
Settings
- Parmètres
+ Parmètres
-
+ Levar un compte
-
+ Ajustar un compte
-
+ Revocar l’aplicacion e levar vòstre compte
-
-
+
+ Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos
-
-
-
-
-
+ Desactivar aquesta opcion per estalviar vòstra connexion de donadas
-
+ Crèdits
-
-
-
-
-
-
-
-
-
-
-
-
-
+ UI/UX design e desvlopament
@@ -298,6 +282,22 @@
+
+
+ Cargar los imatges dels tuts
+
+
+
+ Traduire
+
+
+
+ Utilizar Transifex per ajudar a traduire l’aplicacion dins vòstra lenga
+
+
+
+
+
Toot
@@ -318,19 +318,19 @@
VisualContainer
-
+ Partejar pas mai
-
+ Partejar
-
+ Levar dels favorits
-
+ Ajustar als favorits
diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooterb-pl.ts
similarity index 95%
rename from translations/harbour-tooter-pl.ts
rename to translations/harbour-tooterb-pl.ts
index 458d9cc..952b1b2 100644
--- a/translations/harbour-tooter-pl.ts
+++ b/translations/harbour-tooterb-pl.ts
@@ -1,6 +1,6 @@
-
+
API
@@ -87,6 +87,10 @@
+
+
+
+
@@ -95,10 +99,6 @@
-
-
-
-
MainPage
@@ -243,17 +243,13 @@
-
+
-
-
-
-
@@ -262,18 +258,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -298,6 +282,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Toot
diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooterb-ru.ts
similarity index 78%
rename from translations/harbour-tooter-ru.ts
rename to translations/harbour-tooterb-ru.ts
index eadd6e9..277a582 100644
--- a/translations/harbour-tooter-ru.ts
+++ b/translations/harbour-tooterb-ru.ts
@@ -87,18 +87,18 @@
+
+
+ Введите URL-адрес экземпляра Mastodon
+
-
+ Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети.
-
-
-
-
MainPage
@@ -228,51 +228,35 @@
Settings
- Настройки
+ Настройки
-
+ Удалить учетную запись
-
+ Добавить аккаунт
-
+ удалить учетную запись с устройства
-
-
+
+ Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени
-
-
-
-
-
+ Отключите эту опцию, если вы хотите сохранить подключение к данным
-
+ Зачет
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Дизайн и разработка UI / UX
@@ -298,6 +282,22 @@
+
+
+ Загружать изображения
+
+
+
+ Переведите
+
+
+
+ Используйте Transifex, чтобы помочь с переводом приложения на ваш язык
+
+
+
+
+
Toot
@@ -318,19 +318,19 @@
VisualContainer
-
+ Нет росту
-
+ Росту
-
+ Избранные нет
-
+ Избранные
diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooterb-sr.ts
similarity index 85%
rename from translations/harbour-tooter-sr.ts
rename to translations/harbour-tooterb-sr.ts
index 4d4bb43..3091e3e 100644
--- a/translations/harbour-tooter-sr.ts
+++ b/translations/harbour-tooterb-sr.ts
@@ -87,6 +87,10 @@
+
+
+
+
@@ -95,10 +99,6 @@
-
-
-
-
MainPage
@@ -228,51 +228,35 @@
Settings
- Подешавања
+ Подешавања
-
+ Уклони налог
-
+ Додај налог
-
+ Укините дозволе за кориштење и уклоните налог с телефона
-
-
+
+ Дозволите овој апликацији да користи ваш Mastodon налог
-
-
-
-
-
+ Искључите ову опцију уколико желите да уштедите на преносу података
-
+ Спомен плоча
-
-
-
-
-
-
-
-
-
-
-
-
-
+ интерфејс дизајн и развој
@@ -298,6 +282,22 @@
+
+
+ Прикажи слике у објавама
+
+
+
+ Преведи
+
+
+
+ Користите Transifex и помозите у преводу апликације на други језик
+
+
+
+
+
Toot
@@ -318,15 +318,15 @@
VisualContainer
-
+ Уклони разглас
-
+ Разгласи
-
+ Уклони из омиљених
diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooterb-sv.ts
similarity index 82%
rename from translations/harbour-tooter-sv.ts
rename to translations/harbour-tooterb-sv.ts
index 7dfde30..43b1866 100644
--- a/translations/harbour-tooter-sv.ts
+++ b/translations/harbour-tooterb-sv.ts
@@ -81,24 +81,24 @@
LoginPage
-
+ Logga in
+
+
+ Fyll i URL till Mastodoninstans
+
-
+ Mastodon är ett fritt och öppet socialt nätverk byggt på ö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 på --- beroende på 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!
-
-
-
-
MainPage
@@ -228,51 +228,35 @@
Settings
- Inställningar
+ Inställningar
-
+ Radera konto
-
+ Lägg till konto
-
+ Avauktorisera denna app och radera ditt konto
-
-
+
+ Godkänn denna app att använda ditt Mastodon-konto på dina vägnar
-
-
-
-
-
+ Inaktivera det här alternativet om du vill behålla din dataanslutning
-
+ Erkännanden
-
-
-
-
-
-
-
-
-
-
-
-
-
+ UI/UX design och utveckling
@@ -298,6 +282,22 @@
+
+
+ Ladda bilder i toots
+
+
+
+ Översätt
+
+
+
+
+
+
+
+ Använd Transifex för att hjälpa med app-översättningar till ditt språk
+
Toot
@@ -318,19 +318,19 @@
VisualContainer
-
+ Avpuffa
-
+ Puffa
-
+ Avfavorisera
-
+ Favorisera
diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooterb-zh_CN.ts
similarity index 88%
rename from translations/harbour-tooter-zh_CN.ts
rename to translations/harbour-tooterb-zh_CN.ts
index af3aa97..04ddc89 100644
--- a/translations/harbour-tooter-zh_CN.ts
+++ b/translations/harbour-tooterb-zh_CN.ts
@@ -87,18 +87,18 @@
实例
+
+
+ 输入一个有效的 Mastodon 实例 URL
+
- Mastodon 是一个自由且开源的社交网络。一个去中心的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。
+ Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。
重新加载
-
-
- 输入一个有效的 Mastodon 实例 URL
-
MainPage
@@ -169,7 +169,7 @@
Profile
- 未关注
+ 取消关注
@@ -217,7 +217,7 @@
- Bio
+ 简介
@@ -243,17 +243,13 @@
取消授权此软件并移除你的账号
-
+
授权此软件使用你的 Mastodon 账号
如果你想保护你的数据连接,请禁用此选项
-
-
- 关于
-
信誉
@@ -262,18 +258,6 @@
UI/UX设计及开发
-
-
- 此软件是一个 Mastodon 客户端 Tooter,原作者为 Duško Angirević。该分支修复了大量缺陷,你可以在此处找到源代码 <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a> 。
-
-
-
-
-
-
-
- 该发布的维护者
-
视觉识别
@@ -292,12 +276,28 @@
- 已添加 README 文件
+ 添加 README 文件
汉语翻译
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Toot
diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooterb.ts
similarity index 95%
rename from translations/harbour-tooter.ts
rename to translations/harbour-tooterb.ts
index ef79c6a..b119e7e 100644
--- a/translations/harbour-tooter.ts
+++ b/translations/harbour-tooterb.ts
@@ -87,6 +87,10 @@
+
+
+
+
@@ -95,10 +99,6 @@
-
-
-
-
MainPage
@@ -243,17 +243,13 @@
-
+
-
-
-
-
@@ -262,18 +258,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -294,6 +278,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Toot