Merge pull request #28 from molan-git/develop
Add commits from upstream branch
This commit is contained in:
commit
c752c82209
9 changed files with 76 additions and 21 deletions
|
@ -3,11 +3,18 @@
|
|||
## 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 dysk0 (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being used to create pull requests from this fork. Releases by dysk0 can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter
|
||||
|
||||
Releases from this forked repository 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
|
||||
- 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!
|
||||
|
||||
|
|
|
@ -73,16 +73,14 @@ DISTFILES += qml/harbour-tooter.qml \
|
|||
qml/pages/Settings.qml \
|
||||
qml/lib/API.js \
|
||||
qml/images/notification.svg \
|
||||
qml/images/home.svg \
|
||||
qml/images/mesagess.svg \
|
||||
qml/images/search.svg \
|
||||
qml/images/verified.svg \
|
||||
qml/images/local.svg \
|
||||
qml/images/federated.svg \
|
||||
qml/images/boosted.svg \
|
||||
qml/images/tooter.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 \
|
||||
qml/images/boosted.svg \
|
||||
config/icon-lock-harbour-tooter.png \
|
||||
config/x-harbour.tooter.activity.conf \
|
||||
rpm/harbour-tooter.changes \
|
||||
|
@ -115,3 +113,4 @@ 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-tooter-it.ts
|
||||
|
|
17
qml/images/icon-l-profile.svg
Normal file
17
qml/images/icon-l-profile.svg
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 96 96" style="enable-background:new 0 0 96 96;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{opacity:0.5;fill:#FFFFFF;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
.st2{opacity:0.75;fill:#FFFFFF;}
|
||||
</style>
|
||||
<g>
|
||||
<rect x="0.5" y="0" class="st0" width="95" height="95"/>
|
||||
</g>
|
||||
<path class="st1" d="M48,52.5c-9.7,0-17.6-7.9-17.6-17.6S38.3,17.3,48,17.3s17.6,7.9,17.6,17.6S57.7,52.5,48,52.5z M48,19.3
|
||||
c-8.6,0-15.6,7-15.6,15.6s7,15.6,15.6,15.6c8.6,0,15.6-7,15.6-15.6S56.6,19.3,48,19.3z"/>
|
||||
<path class="st2" d="M78.8,76.4h-2v-1.6c0-7.6-6.2-13.8-13.8-13.8H33c-7.6,0-13.8,6.2-13.8,13.8v1.6h-2v-1.6
|
||||
c0-8.7,7.1-15.8,15.8-15.8h30c8.7,0,15.8,7.1,15.8,15.8V76.4z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 936 B |
25
qml/images/icon-m-profile.svg
Normal file
25
qml/images/icon-m-profile.svg
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{opacity:0.5;fill:#FFFFFF;}
|
||||
.st1{fill:#FFFFFF;fill-opacity:0;}
|
||||
.st2{opacity:0.6;fill:#FFFFFF;enable-background:new ;}
|
||||
.st3{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g id="Layer_2">
|
||||
<rect y="0" class="st0" width="64" height="64"/>
|
||||
</g>
|
||||
<g id="Layer_1">
|
||||
<g id="icon-m-contact">
|
||||
<rect id="icon-m-contact_1_" y="0" class="st1" width="64" height="64"/>
|
||||
<g>
|
||||
<path class="st2" d="M22,41.5h20c5,0,9,4,9,9c0,0.3,0,0.7-0.1,1h2c0-0.3,0-0.7,0-1c0-6.1-4.9-11-11-11H22c-6.1,0-11,4.9-11,11
|
||||
c0,0.3,0,0.7,0,1h2c0-0.3-0.1-0.7-0.1-1C13,45.5,17,41.5,22,41.5z"/>
|
||||
<path class="st3" d="M32,35.5c-6.6,0-12-5.4-12-12s5.4-12,12-12s12,5.4,12,12S38.6,35.5,32,35.5z M32,13.5c-5.5,0-10,4.5-10,10
|
||||
s4.5,10,10,10s10-4.5,10-10S37.5,13.5,32,13.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -68,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",
|
||||
|
@ -110,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.")
|
||||
}
|
||||
|
|
|
@ -72,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':
|
||||
|
|
|
@ -25,8 +25,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: {
|
||||
|
@ -59,7 +59,7 @@ Page {
|
|||
checked: typeof Logic.conf['loadImages'] !== "undefined" && Logic.conf['loadImages']
|
||||
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
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ Page {
|
|||
IconTextSwitch {
|
||||
text: qsTr("Translate")
|
||||
description: qsTr("Use Transifex to help with app translation to your language")
|
||||
icon.source: "image://theme/icon-m-presence"
|
||||
icon.source: "image://theme/icon-m-font-size"
|
||||
onCheckedChanged: {
|
||||
busy = true;
|
||||
checked = false;
|
||||
|
@ -108,7 +108,7 @@ Page {
|
|||
}
|
||||
ListElement {
|
||||
name: "Molan"
|
||||
desc: qsTr("Development and maintenance")
|
||||
desc: qsTr("Development and translations")
|
||||
mastodon: ""
|
||||
mail: "mol_an@sunrise.ch"
|
||||
}
|
||||
|
@ -153,7 +153,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: {
|
||||
|
|
|
@ -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 {
|
||||
|
@ -61,7 +66,7 @@ Item {
|
|||
Label {
|
||||
height: description === "" ? 0 : contentHeight
|
||||
text: description
|
||||
color: Theme.primaryColor
|
||||
color: Theme.secondaryColor
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
font.family: Theme.fontFamilyHeading
|
||||
horizontalAlignment: Text.AlignRight
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue