Merge branch 'ui-improvements'

This commit is contained in:
molan-git 2020-05-25 18:13:55 +02:00
commit 7d5cf6f9d2
28 changed files with 256 additions and 235 deletions

View file

@ -9,8 +9,8 @@
# - icon definition filename in desktop file must be changed # - icon definition filename in desktop file must be changed
# - translation filenames have to be changed # - translation filenames have to be changed
# The name of your application # The name of your application
TARGET = harbour-tooterb TARGET = harbour-tooterb
CONFIG += sailfishapp CONFIG += sailfishapp
@ -23,7 +23,7 @@ PKGCONFIG += \
DEFINES += "APPVERSION=\\\"$${SPECVERSION}\\\"" DEFINES += "APPVERSION=\\\"$${SPECVERSION}\\\""
DEFINES += "APPNAME=\\\"$${TARGET}\\\"" DEFINES += "APPNAME=\\\"$${TARGET}\\\""
!exists( src/dbusAdaptor.h ) { !exists( src/dbusAdaptor.h ) {
system(qdbusxml2cpp config/ba.dysko.harbour.tooterb.xml -i dbus.h -a src/dbusAdaptor) system(qdbusxml2cpp config/ba.dysko.harbour.tooterb.xml -i dbus.h -a src/dbusAdaptor)
} }
@ -37,10 +37,9 @@ dbus_services.path = /usr/share/dbus-1/services/
dbus_services.files = config/ba.dysko.harbour.tooterb.service dbus_services.files = config/ba.dysko.harbour.tooterb.service
interfaces.path = /usr/share/dbus-1/interfaces/ interfaces.path = /usr/share/dbus-1/interfaces/
interfaces.files = config/ba.dysko.harbour.tooterb.xml interfaces.files = config/ba.dysko.harbourb.tooter.xml
SOURCES += \ SOURCES += src/harbour-tooterb.cpp
src/harbour-tooterb.cpp
SOURCES += src/imageuploader.cpp SOURCES += src/imageuploader.cpp
SOURCES += src/filedownloader.cpp SOURCES += src/filedownloader.cpp
SOURCES += src/notifications.cpp SOURCES += src/notifications.cpp
@ -52,10 +51,9 @@ HEADERS += src/filedownloader.h
HEADERS += src/notifications.h HEADERS += src/notifications.h
HEADERS += src/dbusAdaptor.h HEADERS += src/dbusAdaptor.h
HEADERS += src/dbus.h HEADERS += src/dbus.h
DISTFILES += qml/harbour-tooterb.qml \ DISTFILES += qml/harbour-tooterb.qml \
config/icon-lock-harbour-tooterb.png \ qml/pages/components/InfoBanner.qml \
qml/images/tooterb.svg \
qml/pages/components/VisualContainer.qml \ qml/pages/components/VisualContainer.qml \
qml/pages/components/MiniStatus.qml \ qml/pages/components/MiniStatus.qml \
qml/pages/components/MiniHeader.qml \ qml/pages/components/MiniHeader.qml \
@ -77,19 +75,21 @@ DISTFILES += qml/harbour-tooterb.qml \
qml/lib/API.js \ qml/lib/API.js \
qml/images/notification.svg \ qml/images/notification.svg \
qml/images/verified.svg \ qml/images/verified.svg \
qml/images/boosted.svg \ qml/images/boosted.svg \
qml/images/tooter.svg \
qml/images/emojiselect.svg \ qml/images/emojiselect.svg \
qml/images/icon-m-profile.svg \ qml/images/icon-m-profile.svg \
qml/images/icon-l-profile.svg \ qml/images/icon-l-profile.svg \
qml/lib/Mastodon.js \ qml/lib/Mastodon.js \
qml/lib/Worker.js \ qml/lib/Worker.js \
config/icon-lock-harbour-tooterb.png \
config/x-harbour.tooterb.activity.conf \ config/x-harbour.tooterb.activity.conf \
rpm/harbour-tooterb.changes \ rpm/harbour-tooterb.changes \
rpm/harbour-tooterb.changes.run.in \ rpm/harbour-tooterb.changes.run.in \
rpm/harbour-tooterb.spec \ rpm/harbour-tooterb.spec \
rpm/harbour-tooterb.yaml \ rpm/harbour-tooterb.yaml \
translations/*.ts \ translations/*.ts \
harbour-tooterb.desktop harbour-tooter.desktop
SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172
@ -100,7 +100,7 @@ CONFIG += sailfishapp_i18n
# German translation is enabled as an example. If you aren't # German translation is enabled as an example. If you aren't
# planning to localize your app, remember to comment out the # planning to localize your app, remember to comment out the
# following TRANSLATIONS line. And also do not forget to # following TRANSLATIONS line. And also do not forget to
# modify the localized app name in the the .desktop file. # modify the localized app name in the the .desktop file.
TRANSLATIONS += translations/harbour-tooterb-de.ts TRANSLATIONS += translations/harbour-tooterb-de.ts
TRANSLATIONS += translations/harbour-tooterb-el.ts TRANSLATIONS += translations/harbour-tooterb-el.ts
TRANSLATIONS += translations/harbour-tooterb-es.ts TRANSLATIONS += translations/harbour-tooterb-es.ts

View file

@ -132,11 +132,13 @@ function parseAccounts(collection, prefix, data){
res[prefix + 'account_username'] = data["username"] res[prefix + 'account_username'] = data["username"]
res[prefix + 'account_acct'] = data["acct"] res[prefix + 'account_acct'] = data["acct"]
res[prefix + 'account_display_name'] = data["display_name"] res[prefix + 'account_display_name'] = data["display_name"]
res[prefix + 'account_discoverable'] = data["discoverable"]
res[prefix + 'account_locked'] = data["locked"] res[prefix + 'account_locked'] = data["locked"]
res[prefix + 'account_created_at'] = data["created_at"] res[prefix + 'account_created_at'] = data["created_at"]
res[prefix + 'account_avatar'] = data["avatar"] res[prefix + 'account_avatar'] = data["avatar"]
res[prefix + 'account_header'] = data["header"]
// /console.log(JSON.stringify(res)) // console.log(JSON.stringify(res))
return (res); return (res);
} }
@ -226,6 +228,7 @@ function parseToot (data){
item['highlight'] = false item['highlight'] = false
item['status_id'] = data["id"] item['status_id'] = data["id"]
item['status_uri'] = data["uri"] item['status_uri'] = data["uri"]
item['status_url'] = data["url"]
item['status_in_reply_to_id'] = data["in_reply_to_id"] item['status_in_reply_to_id'] = data["in_reply_to_id"]
item['status_in_reply_to_account_id'] = data["in_reply_to_account_id"] item['status_in_reply_to_account_id'] = data["in_reply_to_account_id"]
item['status_reblog'] = data["reblog"] ? true : false item['status_reblog'] = data["reblog"] ? true : false
@ -236,6 +239,7 @@ function parseToot (data){
item['favourites_count'] = data["favourites_count"] item['favourites_count'] = data["favourites_count"]
item['reblogged'] = data["reblogged"] item['reblogged'] = data["reblogged"]
item['favourited'] = data["favourited"] item['favourited'] = data["favourited"]
item['bookmarked'] = data["bookmarked"]
item['status_sensitive'] = data["sensitive"] item['status_sensitive'] = data["sensitive"]
item['status_spoiler_text'] = data["spoiler_text"] item['status_spoiler_text'] = data["spoiler_text"]
item['status_visibility'] = data["visibility"] item['status_visibility'] = data["visibility"]

View file

@ -4,16 +4,18 @@ import harbour.tooterb.Uploader 1.0
import "../lib/API.js" as Logic import "../lib/API.js" as Logic
import "./components/" import "./components/"
Page { Page {
id: conversationPage id: conversationPage
property string type property string headerTitle: ""
property string type
property alias title: header.title property alias title: header.title
property alias description: header.description property alias description: header.description
property alias avatar: header.image property alias avatar: header.image
property string suggestedUser: "" property string suggestedUser: ""
property ListModel suggestedModel property ListModel suggestedModel
property string toot_id: "" property string toot_id: ""
property string uri: "" property string toot_url: ""
property int tootMaxChar: 500; property int tootMaxChar: 500;
property ListModel mdl property ListModel mdl
allowedOrientations: Orientation.All allowedOrientations: Orientation.All
@ -41,6 +43,10 @@ Page {
} }
} }
InfoBanner {
id: sentBanner
}
ListModel { ListModel {
id: mediaModel id: mediaModel
onCountChanged: { onCountChanged: {
@ -63,7 +69,7 @@ Page {
SilicaListView { SilicaListView {
id: conversationList id: conversationList
header: PageHeader { header: PageHeader {
title: qsTr("Conversation") title: headerTitle // pageTitle pushed from MainPage.qml or VisualContainer.qml
} }
clip: true clip: true
anchors { anchors {
@ -92,13 +98,15 @@ Page {
} }
} }
PullDownMenu { PullDownMenu {
MenuItem { visible: type == "reply" && toot_url != ""
/* MenuItem {
text: qsTr("Open in Browser") text: qsTr("Open in Browser")
onClicked: Qt.openUrlExternally(uri); onClicked: Qt.openUrlExternally(toot_url);
} } */
// ! url isn't always fetched. Needs a solution.
MenuItem { MenuItem {
text: qsTr("Copy URL to Clipboard") text: qsTr("Copy Link to Clipboard")
onClicked: Clipboard.text = uri; onClicked: Clipboard.text = toot_url;
} }
} }
} }
@ -115,7 +123,6 @@ Page {
anchors.fill: parent anchors.fill: parent
model: suggestedModel model: suggestedModel
clip: true clip: true
delegate: ItemUser { delegate: ItemUser {
onClicked: { onClicked: {
var start = toot.cursorPosition var start = toot.cursorPosition
@ -219,7 +226,6 @@ Page {
|| description.charAt( || description.charAt(
0) == '#') ? description + ' ' : '' 0) == '#') ? description + ' ' : ''
height: Math.max(270, Math.min(900, implicitHeight)) height: Math.max(270, Math.min(900, implicitHeight))
//height: implicitHeight
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
placeholderText: qsTr("What's on your mind?") placeholderText: qsTr("What's on your mind?")
font.pixelSize: Theme.fontSizeSmall font.pixelSize: Theme.fontSizeSmall
@ -315,7 +321,6 @@ Page {
} }
} }
IconButton { IconButton {
id: btnContentWarning id: btnContentWarning
anchors { anchors {
top: toot.bottom top: toot.bottom
@ -437,11 +442,11 @@ Page {
msg.params['spoiler_text'] = warningContent.text msg.params['spoiler_text'] = warningContent.text
} }
worker.sendMessage(msg) worker.sendMessage(msg)
warningContent.text = "" warningContent.text = ""
toot.text = "" toot.text = ""
mediaModel.clear() mediaModel.clear();
pageStack.pop() sentBanner.showText(qsTr("Toot sent!"))
} }
} }

View file

@ -34,15 +34,11 @@ import Sailfish.Silica 1.0
import "../lib/API.js" as Logic import "../lib/API.js" as Logic
Page { Page {
id: loginPage id: loginPage
// The effective value will be restricted by ApplicationWindow.allowedOrientations // The effective value will be restricted by ApplicationWindow.allowedOrientations
allowedOrientations: Orientation.All allowedOrientations: Orientation.All
SilicaFlickable { SilicaFlickable {
anchors.fill: parent anchors.fill: parent
contentHeight: column.height + Theme.paddingLarge contentHeight: column.height + Theme.paddingLarge
@ -52,8 +48,9 @@ Page {
Column { Column {
id: column id: column
width: parent.width width: parent.width
PageHeader {
PageHeader { title: qsTr("Login") } title: qsTr("Login")
}
SectionHeader { SectionHeader {
text: qsTr("Instance") text: qsTr("Instance")
@ -83,7 +80,6 @@ Page {
conf.instance = instance.text; conf.instance = instance.text;
conf.login = false; conf.login = false;
/*conf['login'] = false; /*conf['login'] = false;
conf['mastodon_client_id'] = data['mastodon_client_id']; conf['mastodon_client_id'] = data['mastodon_client_id'];
conf['mastodon_client_secret'] = data['mastodon_client_secret']; conf['mastodon_client_secret'] = data['mastodon_client_secret'];

View file

@ -57,6 +57,7 @@ Page {
} }
} }
} }
VisualItemModel { VisualItemModel {
id: visualModel id: visualModel
MyList{ MyList{
@ -188,7 +189,8 @@ Page {
"display_name": model.account_display_name, "display_name": model.account_display_name,
"username": model.account_acct, "username": model.account_acct,
"user_id": model.account_id, "user_id": model.account_id,
"profileImage": model.account_avatar "profileImage": model.account_avatar,
"profileBackground": model.account_header
}) })
} }
} }
@ -246,7 +248,7 @@ Page {
visible: !isPortrait ? true : !infoPanel.open visible: !isPortrait ? true : !infoPanel.open
icon.source: "image://theme/icon-l-add" icon.source: "image://theme/icon-l-add"
onClicked: { onClicked: {
pageStack.push(Qt.resolvedUrl("Conversation.qml"), {title: qsTr("New Toot"), type: "new"}) pageStack.push(Qt.resolvedUrl("Conversation.qml"), {headerTitle: qsTr("New Toot"), type: "new"})
} }
} }

View file

@ -17,7 +17,7 @@ Page {
property int favourites_count; property int favourites_count;
property int reblogs_count; property int reblogs_count;
property int count_moments; property int count_moments;
property string profile_background: ""; property string profileBackground: "";
property string note: ""; property string note: "";
property string url: ""; property string url: "";
property bool locked : false; property bool locked : false;
@ -42,6 +42,7 @@ Page {
username = messageObject.data.acct username = messageObject.data.acct
display_name = messageObject.data.display_name display_name = messageObject.data.display_name
profileImage = messageObject.data.avatar_static profileImage = messageObject.data.avatar_static
profileBackground = messageObject.data.header_static
var msg = { var msg = {
'action' : "accounts/relationships/", 'action' : "accounts/relationships/",
@ -141,6 +142,7 @@ Page {
title: display_name title: display_name
description: username description: username
image: profileImage image: profileImage
bg: profileBackground
} }
anchors { anchors {
@ -157,7 +159,6 @@ Page {
conf: Logic.conf conf: Logic.conf
} }
ExpandingSectionGroup { ExpandingSectionGroup {
id: expander id: expander
//currentIndex: 0 //currentIndex: 0
@ -271,10 +272,10 @@ Page {
return check; return check;
})); }));
send(link) send(link)
} else if (test.length === 4 && test[3][0] === "@" ) {
tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) // function still missing for user accounts
slideshow.positionViewAtIndex(4, ListView.SnapToItem) // } else if (test.length === 4 && test[3][0] === "@" ) {
navigation.navigateTo('search')
} else { } else {
Qt.openUrlExternally(link); Qt.openUrlExternally(link);
} }

View file

@ -2,7 +2,7 @@ import QtQuick 2.0
import Sailfish.Silica 1.0 import Sailfish.Silica 1.0
import QtMultimedia 5.0 import QtMultimedia 5.0
Page { FullscreenContentPage {
id: imagePage id: imagePage
property string type: "" property string type: ""
property string previewURL: "" property string previewURL: ""
@ -22,6 +22,26 @@ Page {
videoFlickable.visible = true; videoFlickable.visible = true;
} }
} }
Item {
id: overlay
z: 100
property bool active: true
enabled: active
anchors.fill: parent
opacity: active ? 1.0 : 0.0
Behavior on opacity { FadeAnimator {}}
IconButton {
y: Theme.paddingLarge
anchors {
right: parent.right
rightMargin: Theme.horizontalPageMargin
}
icon.source: "image://theme/icon-m-dismiss"
onClicked: pageStack.pop()
}
}
Flickable { Flickable {
id: videoFlickable id: videoFlickable
visible: false visible: false
@ -49,7 +69,6 @@ Page {
case MediaPlayer.EndOfMedia: case MediaPlayer.EndOfMedia:
console.log("EndOfMedia") console.log("EndOfMedia")
return; return;
} }
} }
@ -68,7 +87,6 @@ Page {
} }
} }
onPositionChanged: function(){ onPositionChanged: function(){
//console.log(duration) //console.log(duration)
//console.log(bufferProgress) //console.log(bufferProgress)
@ -81,15 +99,17 @@ Page {
} }
} }
onStopped: function(){ onStopped: function(){
play() play()
} }
IconButton { IconButton {
id: playerIcon id: playerIcon
anchors.left: parent.left anchors.left: parent.left
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.leftMargin: Theme.paddingLarge anchors.leftMargin: Theme.paddingLarge
anchors.bottomMargin: Theme.paddingMedium anchors.bottomMargin: Theme.paddingLarge*1.5
icon.source: "image://theme/icon-m-play" icon.source: "image://theme/icon-m-play"
onClicked: function() { onClicked: function() {
if (video.playbackState === MediaPlayer.PlayingState) if (video.playbackState === MediaPlayer.PlayingState)
@ -104,10 +124,9 @@ Page {
id: playerProgress id: playerProgress
anchors.left: playerIcon.right anchors.left: playerIcon.right
anchors.right: videoDlBtn.left anchors.right: videoDlBtn.left
anchors.verticalCenter: playerIcon.verticalCenter anchors.verticalCenter: playerIcon.verticalCenter
anchors.leftMargin: 0 anchors.leftMargin: 0
anchors.bottomMargin: Theme.paddingMedium anchors.bottomMargin: Theme.paddingLarge*1.5
} }
IconButton { IconButton {
id: videoDlBtn id: videoDlBtn
@ -115,9 +134,9 @@ Page {
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.rightMargin: Theme.paddingLarge anchors.rightMargin: Theme.paddingLarge
anchors.bottomMargin: Theme.paddingMedium anchors.bottomMargin: Theme.paddingLarge*1.5
//width: Theme.iconSizeMedium+Theme.paddingMedium*2 icon.source: "image://theme/icon-m-device-download"
icon.source: "image://theme/icon-m-cloud-download" icon.opacity: 0.0
onClicked: { onClicked: {
var filename = mediaURL.split("/"); var filename = mediaURL.split("/");
FileDownloader.downloadFile(mediaURL, filename[filename.length-1]); FileDownloader.downloadFile(mediaURL, filename[filename.length-1]);
@ -135,7 +154,7 @@ Page {
anchors.centerIn: parent anchors.centerIn: parent
id: videoError id: videoError
width: parent.width - 2*Theme.paddingMedium width: parent.width - 2*Theme.paddingMedium
wrapMode: Text.WordWrap wrapMode: Text.Wrap
height: contentHeight height: contentHeight
visible: false; visible: false;
font.pixelSize: Theme.fontSizeSmall; font.pixelSize: Theme.fontSizeSmall;
@ -165,7 +184,6 @@ Page {
clip: true clip: true
onHeightChanged: if (imagePreview.status === Image.Ready) imagePreview.fitToScreen(); onHeightChanged: if (imagePreview.status === Image.Ready) imagePreview.fitToScreen();
Item { Item {
id: imageContainer id: imageContainer
width: Math.max(imagePreview.width * imagePreview.scale, imageFlickable.width) width: Math.max(imagePreview.width * imagePreview.scale, imageFlickable.width)
@ -173,22 +191,18 @@ Page {
Image { Image {
id: imagePreview id: imagePreview
property real prevScale property real prevScale
function fitToScreen() { function fitToScreen() {
scale = Math.min(imageFlickable.width / width, imageFlickable.height / height, 1) scale = Math.min(imageFlickable.width / width, imageFlickable.height / height, 1)
pinchArea.minScale = scale pinchArea.minScale = scale
prevScale = scale prevScale = scale
} }
anchors.centerIn: parent anchors.centerIn: parent
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
cache: true cache: true
asynchronous: true asynchronous: true
sourceSize.height: 1000; sourceSize.height: 1000;
smooth: false smooth: false
onStatusChanged: { onStatusChanged: {
if (status == Image.Ready) { if (status == Image.Ready) {
fitToScreen() fitToScreen()
@ -224,7 +238,6 @@ Page {
opacity: 0.3 opacity: 0.3
property real minScale: 1.0 property real minScale: 1.0
property real maxScale: 3.0 property real maxScale: 3.0
anchors.fill: parent anchors.fill: parent
enabled: imagePreview.status === Image.Ready enabled: imagePreview.status === Image.Ready
pinch.target: imagePreview pinch.target: imagePreview
@ -267,11 +280,9 @@ Page {
Component { Component {
id: loadingIndicator id: loadingIndicator
Item { Item {
height: childrenRect.height height: childrenRect.height
width: imagePage.width width: imagePage.width
ProgressCircle { ProgressCircle {
id: imageLoadingIndicator id: imageLoadingIndicator
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
@ -293,9 +304,8 @@ Page {
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.rightMargin: Theme.paddingLarge anchors.rightMargin: Theme.paddingLarge
anchors.bottomMargin: Theme.paddingMedium anchors.bottomMargin: Theme.paddingLarge*1.5
//width: Theme.iconSizeMedium+Theme.paddingMedium*2 icon.source: "image://theme/icon-m-device-download"
icon.source: "image://theme/icon-m-cloud-download"
onClicked: { onClicked: {
var filename = mediaURL.split("/"); var filename = mediaURL.split("/");
FileDownloader.downloadFile(mediaURL, filename[filename.length-1]); FileDownloader.downloadFile(mediaURL, filename[filename.length-1]);

View file

@ -0,0 +1,61 @@
import QtQuick 2.0
import Sailfish.Silica 1.0
DockedPanel {
id: root
z: 100
width: parent.width
height: content.height
dock: Dock.Top
Rectangle {
id: content
width: root.width
height: infoLabel.height + 5*Theme.paddingMedium
//anchors.topMargin: 20
color: Theme.highlightBackgroundColor
opacity: 1.0
Label {
id: infoLabel
text : ""
color: Theme.primaryColor
font.family: Theme.fontFamilyHeading
font.pixelSize: Theme.fontSizeMedium
//font.weight: Font.Bold
width: parent.width
wrapMode: Text.WrapAnywhere
anchors {
left: parent.left
leftMargin: Theme.horizontalPageMargin*2
right: parent.right
rightMargin: Theme.horizontalPageMargin
verticalCenter: parent.verticalCenter
}
}
MouseArea {
anchors.fill: parent
onClicked: {
root.hide()
autoClose.stop()
}
}
}
function showText(text) {
infoLabel.text = text
root.show()
autoClose.start()
}
Timer {
id: autoClose
interval: 6000
running: false
onTriggered: {
root.hide()
stop()
}
}
}

View file

@ -74,8 +74,6 @@ Item {
} }
} }
MyImage { MyImage {
id: placeholder1 id: placeholder1
width: 2 width: 2

View file

@ -41,7 +41,6 @@ Item {
: Theme.primaryColor) : Theme.primaryColor)
} }
Label { Label {
id: lblScreenName id: lblScreenName
anchors { anchors {

View file

@ -169,7 +169,5 @@ SilicaGridView {
} }
VerticalScrollDecorator {} VerticalScrollDecorator {}
} }

View file

@ -10,21 +10,22 @@ Item {
//property string bg: ""; //property string bg: "";
width: parent.width width: parent.width
height: icon.height + Theme.paddingLarge*2 height: icon.height + Theme.paddingLarge*2
/*Image {
anchors.fill: parent
asynchronous: true
fillMode: Image.PreserveAspectCrop
source: bg
opacity: 0.3
}*/
Rectangle { Rectangle {
id: bgImage
anchors.fill: parent anchors.fill: parent
opacity: 0.2 opacity: 0.2
gradient: Gradient { gradient: Gradient {
GradientStop { position: 0.0; color: Theme.highlightBackgroundColor } GradientStop { position: 0.0; color: Theme.highlightBackgroundColor }
GradientStop { position: 1.0; color: Theme.highlightBackgroundColor } GradientStop { position: 1.0; color: Theme.highlightBackgroundColor }
}
Image {
anchors.fill: bgImage
asynchronous: true
fillMode: Image.PreserveAspectCrop
source: bg
opacity: 0.8
} }
} }
Image { Image {
id: icon id: icon

View file

@ -3,7 +3,6 @@ import Sailfish.Silica 1.0
import "../../lib/API.js" as Logic import "../../lib/API.js" as Logic
BackgroundItem { BackgroundItem {
id: delegate id: delegate
signal send (string notice) signal send (string notice)
signal navigateTo(string link) signal navigateTo(string link)
@ -28,6 +27,7 @@ BackgroundItem {
topMargin: Theme.paddingMedium topMargin: Theme.paddingMedium
} }
} }
Image { Image {
id: avatar id: avatar
anchors { anchors {
@ -50,7 +50,6 @@ BackgroundItem {
? Theme.highlightColor ? Theme.highlightColor
: Theme.primaryColor) : Theme.primaryColor)
} }
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: { onClicked: {
@ -58,12 +57,12 @@ BackgroundItem {
"display_name": model.account_display_name, "display_name": model.account_display_name,
"username": model.account_acct, "username": model.account_acct,
"user_id": model.account_id, "user_id": model.account_id,
"profileImage": model.account_avatar "profileImage": model.account_avatar,
"profileBackground": model.account_header
}) })
} }
} }
Image { Image {
id: iconTR id: iconTR
anchors { anchors {
@ -75,7 +74,7 @@ BackgroundItem {
width: Theme.iconSizeExtraSmall width: Theme.iconSizeExtraSmall
height: width height: width
source: "image://theme/icon-s-retweet" source: "image://theme/icon-s-retweet"
} }
Rectangle { Rectangle {
color: Theme.highlightDimmerColor color: Theme.highlightDimmerColor
width: Theme.iconSizeSmall width: Theme.iconSizeSmall
@ -138,13 +137,21 @@ BackgroundItem {
tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2])
slideshow.positionViewAtIndex(4, ListView.SnapToItem) slideshow.positionViewAtIndex(4, ListView.SnapToItem)
navigation.navigateTo('search') navigation.navigateTo('search')
// Original component
/* pageStack.push(Qt.resolvedUrl("../Profile.qml"), {
"name": "",
"username": test[3].substring(1)+"@"+test[2],
"profileImage": ""
}) */
} else { } else {
Qt.openUrlExternally(link); Qt.openUrlExternally(link);
} }
} }
text: content.replace(new RegExp("<a ", 'g'), '<a style="text-decoration: none; color:'+(pressed ? Theme.secondaryColor : Theme.highlightColor)+'" ') text: content.replace(new RegExp("<a ", 'g'), '<a style="text-decoration: none; color:'+(pressed ? Theme.secondaryColor : Theme.highlightColor)+'" ')
linkColor : Theme.highlightColor linkColor : Theme.highlightColor
wrapMode: Text.WordWrap wrapMode: Text.Wrap
textFormat: Text.RichText textFormat: Text.RichText
font.pixelSize: Theme.fontSizeSmall font.pixelSize: Theme.fontSizeSmall
color: (pressed ? Theme.highlightColor : (!highlight ? Theme.primaryColor : Theme.secondaryColor)) color: (pressed ? Theme.highlightColor : (!highlight ? Theme.primaryColor : Theme.secondaryColor))
@ -169,7 +176,7 @@ BackgroundItem {
width: parent.width width: parent.width
truncationMode: TruncationMode.Fade truncationMode: TruncationMode.Fade
color: Theme.highlightColor color: Theme.highlightColor
wrapMode: Text.WordWrap wrapMode: Text.Wrap
text: model.status_spoiler_text text: model.status_spoiler_text
} }
MouseArea { MouseArea {
@ -179,6 +186,7 @@ BackgroundItem {
} }
} }
MediaBlock { MediaBlock {
id: media id: media
anchors { anchors {
@ -191,6 +199,7 @@ BackgroundItem {
model: typeof attachments !== "undefined" ? attachments : Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject'); model: typeof attachments !== "undefined" ? attachments : Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject');
height: 100 height: 100
} }
ContextMenu { ContextMenu {
id: mnu id: mnu
MenuItem { MenuItem {
@ -269,16 +278,14 @@ BackgroundItem {
} }
} }
onClicked: { onClicked: {
var m = Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject'); var m = Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject');
if (typeof mdl !== "undefined") if (typeof mdl !== "undefined")
m.append(mdl.get(index)) m.append(mdl.get(index))
pageStack.push(Qt.resolvedUrl("../Conversation.qml"), { pageStack.push(Qt.resolvedUrl("../Conversation.qml"), {
headerTitle: "Conversation",
toot_id: status_id, toot_id: status_id,
uri: status_uri, toot_url: status_url,
title: account_display_name, title: account_display_name,
description: '@'+account_acct, description: '@'+account_acct,
avatar: account_avatar, avatar: account_avatar,

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Konversation</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Löschen</translation> <translation>Löschen</translation>
@ -63,19 +59,19 @@
<translation>Was gibt&apos;s Neues?</translation> <translation>Was gibt&apos;s Neues?</translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation>Im Browser öffnen</translation> <translation>Toot gesendet!</translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation>Link in Zwischenablage kopieren</translation> <translation>Link kopieren</translation>
</message> </message>
</context> </context>
<context> <context>
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Fehler beim Laden</translation> <translation>Ladefehler</translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Συνομιλία</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Διαγραφή</translation> <translation>Διαγραφή</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Σφάλμα φόρτωσης</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Conversación</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Borrar</translation> <translation>Borrar</translation>
@ -63,19 +59,19 @@
<translation>¿En qué estás pensando?</translation> <translation>¿En qué estás pensando?</translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation>Abrir en el navegador</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation>Copiar enlace</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Error al cargar</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Conversation</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Supprimer</translation> <translation>Supprimer</translation>
@ -63,11 +59,11 @@
<translation>Qu&apos;avez-vous en tête?</translation> <translation>Qu&apos;avez-vous en tête?</translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation>Ouvrir dans le navigateur</translation> <translation>Pouet envoyé !</translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation>Copier le lien</translation> <translation>Copier le lien</translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Erreur de chargement</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -28,62 +28,57 @@
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="66"/> <location filename="../qml/pages/Conversation.qml" line="108"/>
<source>Conversation</source> <source>Copy Link to Clipboard</source>
<translation>Conversazione</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="96"/>
<source>Open in Browser</source>
<translation>Aprire nel browser</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="100"/>
<source>Copy URL to Clipboard</source>
<translation>Copia link</translation> <translation>Copia link</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="193"/> <location filename="../qml/pages/Conversation.qml" line="200"/>
<source>Write your warning here</source> <source>Write your warning here</source>
<translation>Contenuto avviso</translation> <translation>Contenuto avviso</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="224"/> <location filename="../qml/pages/Conversation.qml" line="230"/>
<source>What&apos;s on your mind?</source> <source>What&apos;s on your mind?</source>
<translation>A cosa stai pensando?</translation> <translation>A cosa stai pensando?</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="287"/> <location filename="../qml/pages/Conversation.qml" line="293"/>
<source>Delete</source> <source>Delete</source>
<translation>Elimina</translation> <translation>Elimina</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="387"/> <location filename="../qml/pages/Conversation.qml" line="392"/>
<source>Public</source> <source>Public</source>
<translation>Pubblico</translation> <translation>Pubblico</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="390"/> <location filename="../qml/pages/Conversation.qml" line="395"/>
<source>Unlisted</source> <source>Unlisted</source>
<translation>Non elencato</translation> <translation>Non elencato</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="393"/> <location filename="../qml/pages/Conversation.qml" line="398"/>
<source>Followers-only</source> <source>Followers-only</source>
<translation>Solo ai seguaci</translation> <translation>Solo ai seguaci</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="396"/> <location filename="../qml/pages/Conversation.qml" line="401"/>
<source>Direct</source> <source>Direct</source>
<translation>Diretto</translation> <translation>Diretto</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="510"/> <location filename="../qml/pages/Conversation.qml" line="449"/>
<source>Toot sent!</source>
<translation>Toot è stato pubblicato!</translation>
</message>
<message>
<location filename="../qml/pages/Conversation.qml" line="515"/>
<source>Emojis</source> <source>Emojis</source>
<translation>Emojis</translation> <translation>Emojis</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Conversation.qml" line="511"/> <location filename="../qml/pages/Conversation.qml" line="516"/>
<source>Tap to insert</source> <source>Tap to insert</source>
<translation>Tap per inserire</translation> <translation>Tap per inserire</translation>
</message> </message>
@ -91,9 +86,9 @@
<context> <context>
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<location filename="../qml/pages/components/ImageFullScreen.qml" line="287"/> <location filename="../qml/pages/components/ImageFullScreen.qml" line="298"/>
<source>Error loading</source> <source>Error loading</source>
<translation>Errore caricamento</translation> <translation>Errore durante caricamento</translation>
</message> </message>
</context> </context>
<context> <context>
@ -107,27 +102,27 @@
<context> <context>
<name>LoginPage</name> <name>LoginPage</name>
<message> <message>
<location filename="../qml/pages/LoginPage.qml" line="56"/> <location filename="../qml/pages/LoginPage.qml" line="52"/>
<source>Login</source> <source>Login</source>
<translation>Accesso</translation> <translation>Accesso</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/LoginPage.qml" line="59"/> <location filename="../qml/pages/LoginPage.qml" line="56"/>
<source>Instance</source> <source>Instance</source>
<translation>Istanza</translation> <translation>Istanza</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/LoginPage.qml" line="65"/> <location filename="../qml/pages/LoginPage.qml" line="62"/>
<source>Enter a valid Mastodon instance URL</source> <source>Enter a valid Mastodon instance URL</source>
<translation>Inserire URL di una istanza Mastodon valida</translation> <translation>Inserire URL di una istanza Mastodon valida</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/LoginPage.qml" line="123"/> <location filename="../qml/pages/LoginPage.qml" line="119"/>
<source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source> <source>Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.</source>
<translation>Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d&apos;istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo.</translation> <translation>Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d&apos;istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo.</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/LoginPage.qml" line="194"/> <location filename="../qml/pages/LoginPage.qml" line="190"/>
<source>Reload</source> <source>Reload</source>
<translation>Ricarica</translation> <translation>Ricarica</translation>
</message> </message>
@ -135,37 +130,37 @@
<context> <context>
<name>MainPage</name> <name>MainPage</name>
<message> <message>
<location filename="../qml/pages/MainPage.qml" line="64"/> <location filename="../qml/pages/MainPage.qml" line="65"/>
<source>Home</source> <source>Home</source>
<translation>Home</translation> <translation>Home</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/MainPage.qml" line="73"/> <location filename="../qml/pages/MainPage.qml" line="74"/>
<source>Notifications</source> <source>Notifications</source>
<translation>Notifiche</translation> <translation>Notifiche</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/MainPage.qml" line="83"/> <location filename="../qml/pages/MainPage.qml" line="84"/>
<source>Local</source> <source>Local</source>
<translation>Locale</translation> <translation>Locale</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/MainPage.qml" line="93"/> <location filename="../qml/pages/MainPage.qml" line="94"/>
<source>Federated</source> <source>Federated</source>
<translation>Federazione</translation> <translation>Federazione</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/MainPage.qml" line="120"/> <location filename="../qml/pages/MainPage.qml" line="121"/>
<source>Search</source> <source>Search</source>
<translation>Cerca</translation> <translation>Cerca</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/MainPage.qml" line="125"/> <location filename="../qml/pages/MainPage.qml" line="126"/>
<source>@user or #term</source> <source>@user or #term</source>
<translation>@utente o #termine</translation> <translation>@utente o #termine</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/MainPage.qml" line="249"/> <location filename="../qml/pages/MainPage.qml" line="251"/>
<source>New Toot</source> <source>New Toot</source>
<translation>Nuovo toot</translation> <translation>Nuovo toot</translation>
</message> </message>
@ -279,7 +274,7 @@
<translation>Biografia</translation> <translation>Biografia</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/Profile.qml" line="287"/> <location filename="../qml/pages/Profile.qml" line="291"/>
<source>Open Profile in Browser</source> <source>Open Profile in Browser</source>
<translation>Aprire profile nel browser</translation> <translation>Aprire profile nel browser</translation>
</message> </message>
@ -398,22 +393,22 @@
<context> <context>
<name>VisualContainer</name> <name>VisualContainer</name>
<message> <message>
<location filename="../qml/pages/components/VisualContainer.qml" line="198"/> <location filename="../qml/pages/components/VisualContainer.qml" line="204"/>
<source>Unboost</source> <source>Unboost</source>
<translation>Annulla condivisione</translation> <translation>Annulla condivisione</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/components/VisualContainer.qml" line="198"/> <location filename="../qml/pages/components/VisualContainer.qml" line="204"/>
<source>Boost</source> <source>Boost</source>
<translation>Condividi</translation> <translation>Condividi</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/components/VisualContainer.qml" line="235"/> <location filename="../qml/pages/components/VisualContainer.qml" line="241"/>
<source>Unfavorite</source> <source>Unfavorite</source>
<translation>Annulla apprezzamento</translation> <translation>Annulla apprezzamento</translation>
</message> </message>
<message> <message>
<location filename="../qml/pages/components/VisualContainer.qml" line="235"/> <location filename="../qml/pages/components/VisualContainer.qml" line="241"/>
<source>Favorite</source> <source>Favorite</source>
<translation>Apprezzato</translation> <translation>Apprezzato</translation>
</message> </message>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Gesprek</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Verwijderen</translation> <translation>Verwijderen</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Fout bij laden</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Gesprek</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Verwijderen</translation> <translation>Verwijderen</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Fout bij laden</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Discutida</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Escafar</translation> <translation>Escafar</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Error en cargar</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Konwersacja</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Usuń</translation> <translation>Usuń</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Błąd ładowania</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Беседа</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Удалить</translation> <translation>Удалить</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Ошибка при загрузке</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Разговор</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Обриши</translation> <translation>Обриши</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Greška u učitavanju</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Konversation</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Radera</translation> <translation>Radera</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation>Problem att ladda</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation></translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
@ -63,11 +59,11 @@
<translation>?</translation> <translation>?</translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation></translation> <translation></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>

View file

@ -22,10 +22,6 @@
</context> </context>
<context> <context>
<name>Conversation</name> <name>Conversation</name>
<message>
<source>Conversation</source>
<translation>Conversation</translation>
</message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Delete</translation> <translation>Delete</translation>
@ -63,11 +59,11 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Open in Browser</source> <source>Toot sent!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Copy URL to Clipboard</source> <source>Copy Link to Clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -75,7 +71,7 @@
<name>ImageFullScreen</name> <name>ImageFullScreen</name>
<message> <message>
<source>Error loading</source> <source>Error loading</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>