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 favourited - favorisiert + hat favorisiert followed you - sind dir gefolgt + folgt dir boosted - geboostet + hat geteilt said @@ -40,7 +40,7 @@ Write your warning here - Füge eine Inhaltswarnung hinzu + Inhaltswarnung Public @@ -52,15 +52,15 @@ Followers-only - Nur Follower + Nur für Folgende Direct - Direkt + Direktnachricht What's on your mind? - Was möchtest du mitteilen? + Was gibt's Neues? @@ -87,6 +87,10 @@ Instance Instanz + + Enter a valid Mastodon instance URL + Eine gültige Mastodon-Instanz URL eingeben + 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. 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 @@ Reload Neu laden - - Enter a valid Mastodon instance URL - Eine gültige Mastodon-Instanz URL eingeben - MainPage @@ -120,7 +120,7 @@ @user or #term - @User oder #Ausdruck + @Benutzer oder #Ausdruck Local @@ -128,22 +128,22 @@ Federated - Föderiert + Föderation MiniStatus boosted - geboostet + hat geteilt favourited - favorisiert + hat favorisiert followed you - sind dir gefolgt + folgt dir @@ -158,7 +158,7 @@ Loading - Lädt... + Wird geladen please wait... @@ -169,7 +169,7 @@ Profile Unfollow - Nicht mehr folgen + Entfolgen Follow request sent! @@ -177,15 +177,15 @@ Following - Folgend + Folgt Mute - Stumm + Stummschalten Unmute - Nicht stumm + Nicht stummschalten Unblock @@ -197,7 +197,7 @@ Statuses - Status + Beiträge Favourites @@ -205,7 +205,7 @@ Follow - Folge + Folgen Summary @@ -213,7 +213,7 @@ Followers - Anhänger + Folgende Bio @@ -221,7 +221,7 @@ Open Profile in Browser - Profil in Browser öffnen + Profil im Browser öffnen @@ -243,44 +243,28 @@ Konto entfernen und für diese Anwendung deaktivieren - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Zugriff durch diese Anwendung auf eigenes Mastodon-Konto erlauben Disable this option if you want to preserve your data connection Diese Option deaktivieren um Datenvolumen zu sparen - - About - Über - Credits - Entwickler + Über UI/UX design and development UI/UX-Gestaltung und Entwicklung - - 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>. - 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>. - - - Load Images in Toots - Bilder in Toots laden - - - Maintainer of this release - Entwicklung dieser Version - Visual identity - Visuelle Identität + Visuelle Identität Occitan & French translation - Franzözische Übersetzung + Französische Übersetzung Dutch translation @@ -292,22 +276,38 @@ Added README file - README-Datei erstellt + Erstellung README-Datei Chinese translation Chinesische Übersetzung + + Load images in toots + Bilder in Toots laden + + + Translate + Übersetzungen + + + Use Transifex to help with app translation to your language + Transifex benutzen um bei den Übersetzungen mitzuhelfen + + + Development and translations + Entwicklung und Übersetzungen + Toot boosted - geboostet + hat geteilt favourited - favorisiert + hat favorisiert followed you @@ -318,19 +318,19 @@ VisualContainer Unboost - Nicht boosten + Nicht mehr teilen Boost - Boosten + Teilen Unfavorite - + Nicht favorisieren Favorite - + 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 Login - + Σύνδεση Instance + Παράδειγμα + + + Enter a valid Mastodon instance URL @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Ρυθμίσεις + Ρυθμίσεις Remove Account - + Αφαίρεση λογαριασμού Add Account - + Προσθήκη λογαριασμού Deauthorize this app and remove your account - + Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας Disable this option if you want to preserve your data connection - - - - About - + Απενεργοποιήστε αυτήν την επιλογή αν θέλετε να διατηρήσετε την σύνδεση των δεδομένων σας Credits - + Ευχαριστίες UI/UX design and development - - - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX σχεδιασμός και ανάπτυξη Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + Μετάφραση + + + Use Transifex to help with app translation to your language + Χρησιμοποιήστε το Transifex για να βοηθήσετε την μετάφραση της εφαρμογής στην γλώσσα σας + + + Development and translations + + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Αναίρεση προώθησης Boost - + Προώθηση Unfavorite - + Αφαίρεση από τους σελιδοδείκτες Favorite - + Σελιδοδείκτης 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 @@ Instance - Instancia + Instancia> + + + Enter a valid Mastodon instance URL + Introduce una URL de instancia de Mastodon válida 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. @@ -95,10 +99,6 @@ Reload Volver a cargar - - Enter a valid Mastodon instance URL - 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 - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autoriza a esta aplicación para usar tu cuenta de Mastodon en tu nombre Disable this option if you want to preserve your data connection Deshabilita esta opción si quieres ahorrar en tu conexión de datos - - About - Acerca de - Credits Créditos @@ -262,18 +258,6 @@ UI/UX design and development Diseño UI/UX y desarrollo - - 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>. - 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>. - - - Load Images in Toots - Cargar imágenes en toots - - - Maintainer of this release - Mantenedor de esta publicación - Visual identity Identidad visual @@ -298,6 +282,22 @@ Chinese translation Traducción al chino + + Load images in toots + Cargar imágenes en messages + + + Translate + Traducir + + + Use Transifex to help with app translation to your language + Usar Transifex para ayudar con traducciones + + + Development and translations + 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 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -243,17 +243,13 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + 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 @@ Unlisted - Non coté + Non listé Followers-only - Que Followers + Abonné(e)s uniquement Direct @@ -60,7 +60,7 @@ What's on your mind? - A quoi penses-tu? + Qu'avez-vous en tête? @@ -87,18 +87,18 @@ Instance Instance + + Enter a valid Mastodon instance URL + Saisissez l’URL d’une instance Mastodon + 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. - 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. Reload Recharger - - Enter a valid Mastodon instance URL - Entrer l'URL d'une instance de Mastodon - MainPage @@ -116,7 +116,7 @@ Search - Recherche + Chercher @user or #term @@ -124,11 +124,11 @@ Local - Local + Fil public local Federated - Fédéré + Fil public global @@ -143,7 +143,7 @@ followed you - vous a suivi + vous suit @@ -197,7 +197,7 @@ Statuses - Status + Pouets Favourites @@ -213,11 +213,11 @@ Followers - Abonnés + Abonné(e)s Bio - + Bio Open Profile in Browser @@ -243,17 +243,13 @@ Désautoriser cette application et enlever votre compte - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autoriser cette application d'utiliser votre compte Disable this option if you want to preserve your data connection Désactiver cette option pour économiser des données mobiles - - About - À propos - Credits Développement @@ -262,21 +258,9 @@ UI/UX design and development Design UI/UX et développement - - 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>. - 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. - - - Load Images in Toots - Charger images dans pouets - - - Maintainer of this release - Développement de cette version - Visual identity - Identité visuelle + Identité visuelle Occitan & French translation @@ -294,12 +278,32 @@ Chinese translation Traduction chinoise + + Added README file + Ajouté fichier README + + + Load images in toots + Charger images dans les pouets + + + Translate + Traduire + + + Use Transifex to help with app translation to your language + Utiliser Transifex pour aider avec les traductions de l'application + + + Development and translations + Développement et traductions + Toot boosted - boosté + a partagé favourited @@ -314,19 +318,19 @@ VisualContainer Unboost - + Annuler le partage Boost - + Partager Unfavorite - + Défavoriser Favorite - + 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 + + + favourited + ha apprezzato + + + + followed you + ha iniziato a seguirti + + + + boosted + ha condiviso + + + + + said + ha detto + + + + Conversation + + + Conversation + Conversazione + + + + Write your warning here + Contenuto avviso + + + + What's on your mind? + A cosa stai pensando? + + + + Delete + Elimina + + + + Public + Pubblico + + + + Unlisted + Non elencato + + + + Followers-only + Solo ai seguaci + + + + Direct + Diretto + + + + Emojis + Emojis + + + + Tap to insert + Tap per inserire + + + + ImageFullScreen + + + Error loading + Errore caricamento + + + + ImageUploader + + + The file %1 does not exists + Il file %1 non esiste + + + + LoginPage + + + Login + Accesso + + + + Instance + Istanza + + + + Enter a valid Mastodon instance URL + Inserire URL di una istanza Mastodon valida + + + + 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. + 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. + + + + Reload + Ricarica + + + + MainPage + + + Home + Home + + + + Notifications + Notifiche + + + + Local + Locale + + + + Federated + Federazione + + + + Search + Cerca + + + + @user or #term + @utente o #termine + + + + New Toot + Nuovo toot + + + + MiniStatus + + + boosted + ha condiviso + + + + favourited + ha apprezzato + + + + followed you + ha iniziato a seguirti + + + + MyList + + + Loading + Caricamento + + + + please wait... + Attendere un momento... + + + + Settings + Impostazioni + + + + Load more + Caricare altri + + + + Profile + + + Summary + Sintesi + + + + Followers + Seguaci + + + + Following + Segue + + + + Statuses + Toots + + + + Favourites + Apprezzati + + + + Unfollow + Smetti di seguire + + + + Follow request sent! + Richiesta di seguito inviata! + + + + Follow + Segui + + + + Unmute + Non silenziare + + + + Mute + Silenzia + + + + Unblock + Sblocca + + + + Block + Blocca + + + + Bio + Biografia + + + + Open Profile in Browser + Aprire profile nel browser + + + + Settings + + + Settings + Impostazione + + + + Remove Account + Rimozione del account + + + + Add Account + Aggiungi account + + + + Deauthorize this app and remove your account + Annullare l'autorizzazione dell'app e rimuovere l'account + + + + Authorize this app to access your Mastodon account + Autorizzare l'app all'utilizzo del conto Mastodon + + + + Load images in toots + Caricare immagini nei toots + + + + Disable this option if you want to preserve your data connection + Disabilitare questa opzione per conservare connessione dati + + + + Translate + Tradurre + + + + Use Transifex to help with app translation to your language + Utilizzare Transifex per aiutare nella traduzione dell'app + + + + Credits + Sviluppo + + + + UI/UX design and development + Design UI/UX e sviluppo + + + + Visual identity + Identità visiva + + + + Development and translations + Sviluppo e traduzioni + + + + Occitan & French translation + Traduzione francese e occitanica + + + + Chinese translation + Traduzione cinese + + + + Dutch translation + Traduzione olandese + + + + Spanish translation + Traduzione spagnola + + + + Added README file + Aggiunto file README + + + + Toot + + + boosted + ha condiviso + + + + favourited + ha apprezzato + + + + followed you + ha iniziato a seguirti + + + + VisualContainer + + + Unboost + Annulla condivisione + + + + Boost + Condividi + + + + Unfavorite + Annulla apprezzamento + + + + Favorite + 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 Login - + Inloggen Instance - - - - 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. - - - - Reload - + Instantie Enter a valid Mastodon instance URL + + 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. + 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. + + + Reload + Herladen + MainPage @@ -228,51 +228,35 @@ Settings Settings - Instellingen + Instellingen Remove Account - + Verwijderen account Add Account - + Toevoegen account Deauthorize this app and remove your account - + Trek autorisaties van deze app in en verwijder je account - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Autoriseer deze app om je Mastodon namens jou te gebruiken Disable this option if you want to preserve your data connection - - - - About - + Schakel deze optie uit als je je dataverbinding wilt behouden Credits - + Credits UI/UX design and development - - - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX ontwerp en ontwikkeling Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Laden afbeeldingen in toots + + + Translate + Vertalen + + + Use Transifex to help with app translation to your language + Gebruik Transifex om deze app te helpen vertalen in jouw taal + + + Development and translations + Ontwikkeling en vertalingen + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Unboost Boost - + Boost Unfavorite - + Demarkeren als favoriet Favorite - + 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 Login - + Inloggen Instance - - - - 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. - - - - Reload - + Instantie Enter a valid Mastodon instance URL - + Voert den URL van een Mastodon-instantie in + + + 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. + 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. + + + Reload + Herladen @@ -228,51 +228,35 @@ Settings Settings - Instellingen + Instellingen Remove Account - + Account verwijderen Add Account - + Account toevoegen Deauthorize this app and remove your account - + Trekt autorisaties van dezen app in en verwijdert uwen account - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken Disable this option if you want to preserve your data connection - - - - About - + Schakelt dees optie uit als ge uw verbinding wilt behouden Credits - + Credits UI/UX design and development - - - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX-ontwerp en -ontwikkeling Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Afbeeldingen in toots laden + + + Translate + Vertalen + + + Use Transifex to help with app translation to your language + Gebruikt Transifex voor te helpen met dezen app in uw taal te vertalen + + + Development and translations + + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Ontboosten Boost - + Boosten Unfavorite - + Duim verwijderen Favorite - + 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 Login - + Connexion Instance + + Enter a valid Mastodon instance URL + Picatz l’URL d’una instància Mastodon + 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. - + 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. Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Parmètres + Parmètres Remove Account - + Levar un compte Add Account - + Ajustar un compte Deauthorize this app and remove your account - + Revocar l’aplicacion e levar vòstre compte - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos Disable this option if you want to preserve your data connection - - - - About - + Desactivar aquesta opcion per estalviar vòstra connexion de donadas Credits - + Crèdits UI/UX design and development - - - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX design e desvlopament Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Cargar los imatges dels tuts + + + Translate + Traduire + + + Use Transifex to help with app translation to your language + Utilizar Transifex per ajudar a traduire l’aplicacion dins vòstra lenga + + + Development and translations + + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Partejar pas mai Boost - + Partejar Unfavorite - + Levar dels favorits Favorite - + 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 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -243,17 +243,13 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + 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 @@ Instance + + Enter a valid Mastodon instance URL + Введите URL-адрес экземпляра Mastodon + 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. - + Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Настройки + Настройки Remove Account - + Удалить учетную запись Add Account - + Добавить аккаунт Deauthorize this app and remove your account - + удалить учетную запись с устройства - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени Disable this option if you want to preserve your data connection - - - - About - + Отключите эту опцию, если вы хотите сохранить подключение к данным Credits - + Зачет UI/UX design and development - - - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - + Дизайн и разработка UI / UX Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Загружать изображения + + + Translate + Переведите + + + Use Transifex to help with app translation to your language + Используйте Transifex, чтобы помочь с переводом приложения на ваш язык + + + Development and translations + + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Нет росту Boost - + Росту Unfavorite - + Избранные нет Favorite - + Избранные 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 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Подешавања + Подешавања Remove Account - + Уклони налог Add Account - + Додај налог Deauthorize this app and remove your account - + Укините дозволе за кориштење и уклоните налог с телефона - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Дозволите овој апликацији да користи ваш Mastodon налог Disable this option if you want to preserve your data connection - - - - About - + Искључите ову опцију уколико желите да уштедите на преносу података Credits - + Спомен плоча UI/UX design and development - - - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - + интерфејс дизајн и развој Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Прикажи слике у објавама + + + Translate + Преведи + + + Use Transifex to help with app translation to your language + Користите Transifex и помозите у преводу апликације на други језик + + + Development and translations + + Toot @@ -318,15 +318,15 @@ VisualContainer Unboost - + Уклони разглас Boost - + Разгласи Unfavorite - + Уклони из омиљених Favorite 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 Login - + Logga in Instance + + Enter a valid Mastodon instance URL + Fyll i URL till Mastodoninstans + 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. - + 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! Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Inställningar + Inställningar Remove Account - + Radera konto Add Account - + Lägg till konto Deauthorize this app and remove your account - + Avauktorisera denna app och radera ditt konto - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Godkänn denna app att använda ditt Mastodon-konto på dina vägnar Disable this option if you want to preserve your data connection - - - - About - + Inaktivera det här alternativet om du vill behålla din dataanslutning Credits - + Erkännanden UI/UX design and development - - - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX design och utveckling Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Ladda bilder i toots + + + Translate + Översätt + + + Use Transifex to help with app translation to your language + + + + Development and translations + Använd Transifex för att hjälpa med app-översättningar till ditt språk + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Avpuffa Boost - + Puffa Unfavorite - + Avfavorisera Favorite - + 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 @@ Instance 实例 + + Enter a valid Mastodon instance URL + 输入一个有效的 Mastodon 实例 URL + 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. - ​Mastodon 是一个自由且开源的社交网络。一个去中心的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 + Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 Reload 重新加载 - - Enter a valid Mastodon instance URL - 输入一个有效的 Mastodon 实例 URL - MainPage @@ -169,7 +169,7 @@ Profile Unfollow - 未关注 + 取消关注 Follow request sent! @@ -217,7 +217,7 @@ Bio - Bio + 简介 Open Profile in Browser @@ -243,17 +243,13 @@ 取消授权此软件并移除你的账号 - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account 授权此软件使用你的 Mastodon 账号 Disable this option if you want to preserve your data connection 如果你想保护你的数据连接,请禁用此选项 - - About - 关于 - Credits 信誉 @@ -262,18 +258,6 @@ UI/UX design and development UI/UX设计及开发 - - 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>. - 此软件是一个 Mastodon 客户端 Tooter,原作者为 Duško Angirević。该分支修复了大量缺陷,你可以在此处找到源代码 <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a> 。 - - - Load Images in Toots - - - - Maintainer of this release - 该发布的维护者 - Visual identity 视觉识别 @@ -292,12 +276,28 @@ Added README file - 已添加 README 文件 + 添加 README 文件 Chinese translation 汉语翻译 + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + 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 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -243,17 +243,13 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - 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>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -294,6 +278,26 @@ Added README file + + Chinese translation + + + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot