diff --git a/README.md b/README.md index f1631d5..658d58c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,26 @@ -# Tooter +# Tooter [Fork] -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. +## About +Tooter is Mastodon client for [Sailfish OS](https://sailfishos.org). -## Screenshot - +This fork is being used to further develop and maintain the Tooter app by dysko ([harbour-tooter](https://github.com/dysk0/harbour-tooter)). The development branch *upstream* is being used for merge pull requests to the original project. +* Releases by dysko can be found on the Jolla store and on [OpenRepos.net](https://openrepos.net/content/dysko/tooter) +* Releases from this forked repository (branch *master*) can be found on [OpenRepos.net](https://openrepos.net/content/molan/tooter-v-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, harbour-tooterb) +* upstream: used to send changes to upstream repository (harbour-tooter) + +## Contributions +Contributions to this project are very welcome, since there are still many things which can be done for Tooter. +- please fork the upstream branch if you want to contribute to this project. + +## Screenshots + ## License -`// TODO` +Licensed under GNU GPLv3 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 88% rename from harbour-tooter.desktop rename to harbour-tooterb.desktop index 213b20f..b0fdfb7 100644 --- a/harbour-tooter.desktop +++ b/harbour-tooterb.desktop @@ -3,4 +3,4 @@ Type=Application X-Nemo-Application-Type=silica-qt5 Icon=harbour-tooter Exec=harbour-tooter -Name=Tooter +Name=Tooter β \ No newline at end of file diff --git a/harbour-tooter.pro b/harbour-tooterb.pro similarity index 62% rename from harbour-tooter.pro rename to harbour-tooterb.pro index a5a786b..7b348f4 100644 --- a/harbour-tooter.pro +++ b/harbour-tooterb.pro @@ -9,7 +9,7 @@ # - icon definition filename in desktop file must be changed # - translation filenames have to be changed -TARGET = harbour-tooter +TARGET = harbour-tooterb CONFIG += sailfishapp @@ -23,22 +23,22 @@ 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.harbourb.tooterb.xml -SOURCES += src/harbour-tooter.cpp \ +SOURCES += src/harbour-tooterb.cpp \ src/imageuploader.cpp \ src/filedownloader.cpp \ src/notifications.cpp \ @@ -51,8 +51,8 @@ HEADERS += src/imageuploader.h \ src/dbusAdaptor.h \ src/dbus.h -DISTFILES += qml/harbour-tooter.qml \ - qml/images/tooter-cover.svg \ +DISTFILES += qml/harbour-tooterb.qml \ + qml/images/tooterb-cover.svg \ qml/pages/ConversationPage.qml \ qml/pages/ProfilePage.qml \ qml/pages/SettingsPage.qml \ @@ -80,14 +80,14 @@ DISTFILES += qml/harbour-tooter.qml \ 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 \ - rpm/harbour-tooter.changes \ - rpm/harbour-tooter.changes.run.in \ - rpm/harbour-tooter.spec \ - rpm/harbour-tooter.yaml \ + config/icon-lock-harbour-tooterb.png \ + 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,17 +95,18 @@ SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 # following CONFIG line CONFIG += sailfishapp_i18n -TRANSLATIONS += translations/harbour-tooter.ts \ - translations/harbour-tooter-de.ts \ - translations/harbour-tooter-el.ts \ - translations/harbour-tooter-es.ts \ - translations/harbour-tooter-fr.ts \ - translations/harbour-tooter-it.ts \ - translations/harbour-tooter-nl.ts \ - translations/harbour-tooter-nl_BE.ts \ - translations/harbour-tooter-oc.ts \ - translations/harbour-tooter-pl.ts \ - translations/harbour-tooter-ru.ts \ - translations/harbour-tooter-sr.ts \ - translations/harbour-tooter-sv.ts \ - translations/harbour-tooter-zh_CN.ts +TRANSLATIONS += translations/harbour-tooterb.ts \ + translations/harbour-tooterb-de.ts \ + translations/harbour-tooterb-el.ts \ + translations/harbour-tooterb-es.ts \ + translations/harbour-tooterb-fr.ts \ + translations/harbour-tooterb-it.ts \ + translations/harbour-tooterb-nl.ts \ + translations/harbour-tooterb-nl_BE.ts \ + translations/harbour-tooterb-oc.ts \ + translations/harbour-tooterb-pl.ts \ + translations/harbour-tooterb-ru.ts \ + translations/harbour-tooterb-sr.ts \ + translations/harbour-tooterb-sv.ts \ + translations/harbour-tooterb-zh_CN.ts + diff --git a/harbour-tooterb.pro.user b/harbour-tooterb.pro.user new file mode 100644 index 0000000..a74221b --- /dev/null +++ b/harbour-tooterb.pro.user @@ -0,0 +1,804 @@ + + + + + + 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 + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + SailfishOS-3.3.0.16-armv7hl (in Sailfish OS Build Engine) + SailfishOS-3.3.0.16-armv7hl (in Sailfish OS Build Engine) + SailfishOS-3.3.0.16-armv7hl + 1 + 1 + 0 + + C:/Users/XPAM/Github/Github-App/build-harbour-tooterb-SailfishOS_3_3_0_16_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/Github-App/build-harbour-tooterb-SailfishOS_3_3_0_16_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/Github-App/build-harbour-tooterb-SailfishOS_3_3_0_16_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 + Prepare Target + + QmakeProjectManager.MerPrepareTargetStep + + + true + RPM + + QmakeProjectManager.MerRpmDeployStep + + 2 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy As RPM Package + + QmakeProjectManager.MerRpmDeployConfiguration + + + + + 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 + + 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/Github-App/harbour-tooter + false + -1 + 3 + + 1 + + + harbour-tooterb (on Sailfish OS Emulator 3.3.0.16) + QmakeProjectManager.MerRunConfiguration:C:/Users/XPAM/Github/Github-App/harbour-tooter/harbour-tooterb.pro + 1 + + false + + 3768 + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.1 + + SailfishOS-3.3.0.16-i486 (in Sailfish OS Build Engine) + SailfishOS-3.3.0.16-i486 (in Sailfish OS Build Engine) + SailfishOS-3.3.0.16-i486 + 1 + 2 + 0 + + C:/Users/XPAM/Github/Github-App/build-harbour-tooterb-SailfishOS_3_3_0_16_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/Github-App/build-harbour-tooterb-SailfishOS_3_3_0_16_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/Github-App/build-harbour-tooterb-SailfishOS_3_3_0_16_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 + Prepare Target + + QmakeProjectManager.MerPrepareTargetStep + + + true + RPM + + QmakeProjectManager.MerRpmDeployStep + + 2 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy As RPM Package + + QmakeProjectManager.MerRpmDeployConfiguration + + + + + 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 + + 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/Github-App/harbour-tooter + false + -1 + 3 + + 1 + + + harbour-tooterb (on Sailfish OS Emulator 3.3.0.16) + QmakeProjectManager.MerRunConfiguration:C:/Users/XPAM/Github/Github-App/harbour-tooter/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 70879fc..f5bc10c 100644 --- a/qml/cover/CoverPage.qml +++ b/qml/cover/CoverPage.qml @@ -49,7 +49,7 @@ CoverBackground { Image { id: bg - source: "../images/tooter-cover.svg" + source: "../images/tooterb-cover.svg" horizontalAlignment: Image.AlignLeft verticalAlignment: Image.AlignBottom fillMode: Image.PreserveAspectFit @@ -92,7 +92,7 @@ CoverBackground { } Label { - text: "Tooter" + text: "Tooter β" color: Theme.secondaryColor anchors { right: parent.right diff --git a/qml/harbour-tooter.qml b/qml/harbour-tooterb.qml similarity index 100% rename from qml/harbour-tooter.qml rename to qml/harbour-tooterb.qml 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 ea84804..09f454d 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){ @@ -116,17 +116,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/pages/ConversationPage.qml b/qml/pages/ConversationPage.qml index 4218bea..00726c7 100644 --- a/qml/pages/ConversationPage.qml +++ b/qml/pages/ConversationPage.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/" diff --git a/qml/pages/components/VisualContainer.qml b/qml/pages/components/VisualContainer.qml index 2bb06a0..c58f039 100644 --- a/qml/pages/components/VisualContainer.qml +++ b/qml/pages/components/VisualContainer.qml @@ -197,6 +197,7 @@ BackgroundItem { return check; })); send(link) + // temporary solution for access to user profiles via toots } else if (test.length === 4 && test[3][0] === "@" ) { pageStack.pop(pageStack.find(function(page) { var check = page.isFirstPage === true; diff --git a/rpm/harbour-tooter.changes b/rpm/harbour-tooterb.changes similarity index 74% rename from rpm/harbour-tooter.changes rename to rpm/harbour-tooterb.changes index c708a4b..a42114a 100644 --- a/rpm/harbour-tooter.changes +++ b/rpm/harbour-tooterb.changes @@ -1,3 +1,27 @@ +*Mon May 25 2020 molan 1.0.4-3 +- Show user profile background image (if available) +- New Sailfish 3-styled image/video viewer page (WIP) +- Added "Toot sent!" notification banner +- Show Pulley Menu for copying Toot-link only if link is provided (WIP) +- Distiction between "New Toot" and "Conversation" page +- some small fixes + +*Mon May 11 2020 molan 1.0.4-2 +- Beta release by molan +- Login / Settings Page: Small changes in text wording +- Login Page: Use of correct label coloring and text alignment +- Login Page: Highlight login confirmation button + 'accept' icon on Sailfish keyboard +- Media Page: Switched play / pause buttons during media playback +- Conversation Page: Improved alignment of elements in 'New Toot' (no more overlapping) +- Settings Page: Replaced icons in Settings page for consistency and clarity +- Settings Page: Added missing language contributor +- Translations: Completed and fixed German and French translations +- Translations: Added complete Italian translation +- Translations: Added missing/lost strings and updates to other translation files +- Timeline: Better text formatting in toots (show paragraph breaks) +- Timeline: Use shortend username if display_name isn't provided in ProfileHeader and MiniHeader +- Timeline: Created new placeholder for profile avatars if instance doesn't provide valid image + * Thu Apr 16 2020 Dusko Angirevic 1.0.4-1 - Merge with molan code 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 89% rename from rpm/harbour-tooter.spec rename to rpm/harbour-tooterb.spec index 4c576ba..60fef1f 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 +Summary: Tooter β Version: 1.0.4 -Release: 1 +Release: 3 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 91% rename from rpm/harbour-tooter.yaml rename to rpm/harbour-tooterb.yaml index 093166c..5e38bbb 100644 --- a/rpm/harbour-tooter.yaml +++ b/rpm/harbour-tooterb.yaml @@ -1,7 +1,7 @@ -Name: harbour-tooter -Summary: Tooter +Name: harbour-tooterb +Summary: Tooter β Version: 1.0.4 -Release: 1 +Release: 3 # 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 100% rename from translations/harbour-tooter-de.ts rename to translations/harbour-tooterb-de.ts diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooterb-el.ts similarity index 99% rename from translations/harbour-tooter-el.ts rename to translations/harbour-tooterb-el.ts index 2a21994..22d4b69 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooterb-el.ts @@ -367,7 +367,7 @@ VisualContainer Unboost - Αναίρεση προώθησης + Αναίρεση προώθηση Boost diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooterb-es.ts similarity index 100% rename from translations/harbour-tooter-es.ts rename to translations/harbour-tooterb-es.ts diff --git a/translations/harbour-tooterb-fi.ts b/translations/harbour-tooterb-fi.ts new file mode 100644 index 0000000..50a5f73 --- /dev/null +++ b/translations/harbour-tooterb-fi.ts @@ -0,0 +1,340 @@ + + + + + API + + favourited + + + + followed you + + + + boosted + + + + said + + + + + Conversation + + Delete + + + + Emojis + + + + Tap to insert + + + + Write your warning here + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + + + What's on your mind? + + + + Toot sent! + + + + Copy Link to Clipboard + + + + + ImageFullScreen + + Error loading + + + + + ImageUploader + + The file %1 does not exists + + + + + LoginPage + + Login + + + + 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. + + + + Reload + + + + + MainPage + + Home + + + + Notifications + + + + New Toot + + + + Search + + + + @user or #term + + + + Local + + + + Federated + + + + + MiniStatus + + boosted + + + + favourited + + + + followed you + + + + + MyList + + Load more + + + + Settings + + + + Loading + + + + please wait... + + + + + Profile + + Unfollow + + + + Follow request sent! + + + + Following + + + + Mute + + + + Unmute + + + + Unblock + + + + Block + + + + Statuses + + + + Favourites + + + + Follow + + + + Summary + + + + Followers + + + + Bio + + + + Open Profile in Browser + + + + + Settings + + Settings + + + + Remove Account + + + + Add Account + + + + Deauthorize this app and remove your account + + + + Authorize this app to access your Mastodon account + + + + Disable this option if you want to preserve your data connection + + + + Credits + + + + UI/UX design and development + + + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Chinese translation + + + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + + + + Toot + + boosted + + + + favourited + + + + followed you + + + + + VisualContainer + + Unboost + + + + Boost + + + + Unfavorite + + + + Favorite + + + + diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooterb-fr.ts similarity index 100% rename from translations/harbour-tooter-fr.ts rename to translations/harbour-tooterb-fr.ts diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooterb-it.ts similarity index 99% rename from translations/harbour-tooter-it.ts rename to translations/harbour-tooterb-it.ts index 8cb29ba..0cfe0ae 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooterb-it.ts @@ -453,7 +453,7 @@ Boost Condividi - + s Unfavorite Annulla apprezzamento diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooterb-nl.ts similarity index 100% rename from translations/harbour-tooter-nl.ts rename to translations/harbour-tooterb-nl.ts diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooterb-nl_BE.ts similarity index 100% rename from translations/harbour-tooter-nl_BE.ts rename to translations/harbour-tooterb-nl_BE.ts diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooterb-oc.ts similarity index 100% rename from translations/harbour-tooter-oc.ts rename to translations/harbour-tooterb-oc.ts diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooterb-pl.ts similarity index 100% rename from translations/harbour-tooter-pl.ts rename to translations/harbour-tooterb-pl.ts diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooterb-ru.ts similarity index 100% rename from translations/harbour-tooter-ru.ts rename to translations/harbour-tooterb-ru.ts diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooterb-sr.ts similarity index 100% rename from translations/harbour-tooter-sr.ts rename to translations/harbour-tooterb-sr.ts diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooterb-sv.ts similarity index 100% rename from translations/harbour-tooter-sv.ts rename to translations/harbour-tooterb-sv.ts diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooterb-zh_CN.ts similarity index 100% rename from translations/harbour-tooter-zh_CN.ts rename to translations/harbour-tooterb-zh_CN.ts diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooterb.ts similarity index 100% rename from translations/harbour-tooter.ts rename to translations/harbour-tooterb.ts