Misc update
- User and tag search improvement - Added visual hints - User prediction added
This commit is contained in:
parent
10f27b9d50
commit
f4150c47fc
16 changed files with 320 additions and 163 deletions
|
@ -56,7 +56,6 @@ WorkerScript.onMessage = function(msg) {
|
||||||
item = parseAccounts([], "", data[i]);
|
item = parseAccounts([], "", data[i]);
|
||||||
console.log(JSON.stringify(data[i]))
|
console.log(JSON.stringify(data[i]))
|
||||||
items.push(item)
|
items.push(item)
|
||||||
console.log("aaaa")
|
|
||||||
|
|
||||||
} else if(msg.action === "notifications") {
|
} else if(msg.action === "notifications") {
|
||||||
// notification
|
// notification
|
||||||
|
@ -229,9 +228,6 @@ function parseToot (data){
|
||||||
item['status_visibility'] = data["visibility"]
|
item['status_visibility'] = data["visibility"]
|
||||||
|
|
||||||
|
|
||||||
//item.concat(parseAccounts("", data["account"]));
|
|
||||||
//item = collect(item, );
|
|
||||||
|
|
||||||
if(item['status_reblog']){
|
if(item['status_reblog']){
|
||||||
item['type'] = "reblog";
|
item['type'] = "reblog";
|
||||||
item['typeIcon'] = "image://theme/icon-s-retweet"
|
item['typeIcon'] = "image://theme/icon-s-retweet"
|
||||||
|
@ -241,19 +237,8 @@ function parseToot (data){
|
||||||
item = parseAccounts(item, "", data["account"])
|
item = parseAccounts(item, "", data["account"])
|
||||||
}
|
}
|
||||||
item['content'] = data['content'].replaceAll('</span><span class="invisible">', '').replaceAll('<span class="invisible">', '').replaceAll('</span><span class="ellipsis">', '');
|
item['content'] = data['content'].replaceAll('</span><span class="invisible">', '').replaceAll('<span class="invisible">', '').replaceAll('</span><span class="ellipsis">', '');
|
||||||
|
|
||||||
//item['application_name'] = data["application"]["name"]
|
|
||||||
//item['application_website'] = data["application"]["website"]
|
|
||||||
// account
|
|
||||||
|
|
||||||
//item['content'] = data['content'].replace(/(<([^>]+)>)/ig,"");
|
|
||||||
/*for(var i = 0; i < data['tags'].length ; i++){
|
|
||||||
var tag = data['tags'][i]['name'];
|
|
||||||
console.log(tag)
|
|
||||||
item['content'] = item['content'].replaceAll('#'+tag, '<a href="#'+tag+'">'+tag+'</a>')
|
|
||||||
}*/
|
|
||||||
item['attachments'] = [];
|
item['attachments'] = [];
|
||||||
//console.log("Image "+loadImages)
|
|
||||||
|
|
||||||
for(var i = 0; i < data['media_attachments'].length ; i++){
|
for(var i = 0; i < data['media_attachments'].length ; i++){
|
||||||
var attachments = data['media_attachments'][i];
|
var attachments = data['media_attachments'][i];
|
||||||
|
@ -265,25 +250,12 @@ function parseToot (data){
|
||||||
url: attachments['remote_url'] && typeof attachments['remote_url'] == "string" ? attachments['remote_url'] : attachments['url'] ,
|
url: attachments['remote_url'] && typeof attachments['remote_url'] == "string" ? attachments['remote_url'] : attachments['url'] ,
|
||||||
preview_url: loadImages ? attachments['preview_url'] : ''
|
preview_url: loadImages ? attachments['preview_url'] : ''
|
||||||
}
|
}
|
||||||
console.log("-----------------------------------")
|
//console.log("-----------------------------------")
|
||||||
console.log(JSON.stringify(attachments))
|
//console.log(JSON.stringify(attachments))
|
||||||
console.log(typeof attachments['remote_url'])
|
//console.log(typeof attachments['remote_url'])
|
||||||
|
//console.log(JSON.stringify(tmp))
|
||||||
console.log(JSON.stringify(tmp))
|
//console.log("-----------------------------------")
|
||||||
console.log("-----------------------------------")
|
|
||||||
item['attachments'].push(tmp)
|
item['attachments'].push(tmp)
|
||||||
}
|
}
|
||||||
/*item['content'] = item['content'].split(" ")
|
|
||||||
for(var i = 0; i < item['content'].length ; i++){
|
|
||||||
if(item['content'][i][0] === "#"){
|
|
||||||
item['content'][i] = '<a href="'+item['content'][i]+'">'+item['content'][i]+'</a>';
|
|
||||||
}
|
|
||||||
if(item['content'][i][0] === "@"){
|
|
||||||
item['content'][i] = '<a href="'+item['content'][i]+'">'+item['content'][i]+'</a>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
item['content'] = item['content'].join(" ").autoLink()*/
|
|
||||||
|
|
||||||
//console.log(JSON.stringify(item))
|
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,7 +109,7 @@ Page {
|
||||||
textOperations.cursorPosition = toot.cursorPosition
|
textOperations.cursorPosition = toot.cursorPosition
|
||||||
textOperations.moveCursorSelection(start-1,TextInput.SelectWords)
|
textOperations.moveCursorSelection(start-1,TextInput.SelectWords)
|
||||||
toot.text = textOperations.text.substring(0, textOperations.selectionStart) + ' @'+model.account_acct + ' ' + textOperations.text.substring(textOperations.selectionEnd).trim()
|
toot.text = textOperations.text.substring(0, textOperations.selectionStart) + ' @'+model.account_acct + ' ' + textOperations.text.substring(textOperations.selectionEnd).trim()
|
||||||
textOperations.text = ""
|
|
||||||
toot.cursorPosition = toot.text.indexOf('@'+model.account_acct)
|
toot.cursorPosition = toot.text.indexOf('@'+model.account_acct)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -177,7 +177,7 @@ Page {
|
||||||
textOperations.cursorPosition = toot.cursorPosition
|
textOperations.cursorPosition = toot.cursorPosition
|
||||||
textOperations.selectWord()
|
textOperations.selectWord()
|
||||||
textOperations.select(textOperations.selectionStart ? textOperations.selectionStart-1 : 0, textOperations.selectionEnd)
|
textOperations.select(textOperations.selectionStart ? textOperations.selectionStart-1 : 0, textOperations.selectionEnd)
|
||||||
console.log(textOperations.text.substr(textOperations.selectionStart, textOperations.selectionEnd))
|
//console.log(textOperations.text.substr(textOperations.selectionStart, textOperations.selectionEnd))
|
||||||
suggestedUser = ""
|
suggestedUser = ""
|
||||||
if (textOperations.selectedText.charAt(0) === "@") {
|
if (textOperations.selectedText.charAt(0) === "@") {
|
||||||
suggestedUser = textOperations.selectedText.trim().substring(1);
|
suggestedUser = textOperations.selectedText.trim().substring(1);
|
||||||
|
|
|
@ -87,52 +87,112 @@ Page {
|
||||||
height: parent.itemHeight
|
height: parent.itemHeight
|
||||||
onOpenDrawer: infoPanel.open = setDrawer
|
onOpenDrawer: infoPanel.open = setDrawer
|
||||||
}
|
}
|
||||||
MyList{
|
Item {
|
||||||
id: tlSearch;
|
id: tlSearch;
|
||||||
property string search;
|
|
||||||
onSearchChanged: {
|
|
||||||
mdl = Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject');
|
|
||||||
if (search[0] === "#") {
|
|
||||||
tlSearch.type = "timelines/tag/"+search.substring(1)
|
|
||||||
loadData("append")
|
|
||||||
}
|
|
||||||
if (search[0] === "@") {
|
|
||||||
tlSearch.type = "accounts/search"
|
|
||||||
tlSearch.params = []
|
|
||||||
tlSearch.params.push({name: 'q', data: search.substring(1)});
|
|
||||||
loadData("append")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onTypeChanged: {
|
|
||||||
console.log("type changed")
|
|
||||||
}
|
|
||||||
title: qsTr("Search")
|
|
||||||
type: ""
|
|
||||||
mdl: ListModel {}
|
|
||||||
width: parent.itemWidth
|
width: parent.itemWidth
|
||||||
height: parent.itemHeight
|
height: parent.itemHeight
|
||||||
onOpenDrawer: infoPanel.open = setDrawer
|
property ListModel mdl: ListModel {}
|
||||||
|
property string search;
|
||||||
header: SearchField {
|
onSearchChanged: {
|
||||||
width: parent.width
|
console.log(search)
|
||||||
text: tlSearch.search
|
loader.sourceComponent = loading
|
||||||
placeholderText: "Search"
|
if (search !== ""){
|
||||||
labelVisible: false
|
loader.sourceComponent = search.charAt(0) === "@" ? userListComponent : tagListComponent
|
||||||
EnterKey.iconSource: "image://theme/icon-m-enter-close"
|
|
||||||
EnterKey.onClicked: {
|
|
||||||
tlSearch.search = text
|
|
||||||
focus = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ViewPlaceholder {
|
|
||||||
enabled: tlSearch.mdl === 0
|
|
||||||
text: "Only #hastag search works"
|
|
||||||
}
|
|
||||||
delegate: Loader {
|
|
||||||
width: parent.width
|
|
||||||
source: tlSearch.search[0] === "@" ? "components/ItemUser.qml" : "components/VisualContainer.qml"
|
|
||||||
|
|
||||||
|
Loader {
|
||||||
|
id: loader
|
||||||
|
anchors.fill: parent
|
||||||
}
|
}
|
||||||
|
Column {
|
||||||
|
id: headerContainer
|
||||||
|
width: tlSearch.width
|
||||||
|
PageHeader {
|
||||||
|
title: qsTr("Search")
|
||||||
|
}
|
||||||
|
SearchField {
|
||||||
|
id: searchField
|
||||||
|
width: parent.width
|
||||||
|
placeholderText: qsTr("@user or #term")
|
||||||
|
text: tlSearch.search
|
||||||
|
EnterKey.iconSource: "image://theme/icon-m-enter-close"
|
||||||
|
EnterKey.onClicked: {
|
||||||
|
tlSearch.search = text.toLowerCase().trim()
|
||||||
|
focus = false
|
||||||
|
console.log(text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
id: loading
|
||||||
|
BusyIndicator {
|
||||||
|
size: BusyIndicatorSize.Large
|
||||||
|
anchors.centerIn: parent
|
||||||
|
running: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
id: tagListComponent
|
||||||
|
MyList {
|
||||||
|
id: view
|
||||||
|
mdl: ListModel {}
|
||||||
|
width: parent.width
|
||||||
|
height: parent.height
|
||||||
|
onOpenDrawer: infoPanel.open = setDrawer
|
||||||
|
anchors.fill: parent
|
||||||
|
currentIndex: -1 // otherwise currentItem will steal focus
|
||||||
|
header: Item {
|
||||||
|
id: header
|
||||||
|
width: headerContainer.width
|
||||||
|
height: headerContainer.height
|
||||||
|
Component.onCompleted: headerContainer.parent = header
|
||||||
|
}
|
||||||
|
|
||||||
|
delegate: VisualContainer
|
||||||
|
Component.onCompleted: {
|
||||||
|
view.type = "timelines/tag/"+tlSearch.search.substring(1)
|
||||||
|
view.loadData("append")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
id: userListComponent
|
||||||
|
MyList {
|
||||||
|
id: view2
|
||||||
|
mdl: ListModel {}
|
||||||
|
autoLoadMore: false
|
||||||
|
width: parent.width
|
||||||
|
height: parent.height
|
||||||
|
onOpenDrawer: infoPanel.open = setDrawer
|
||||||
|
anchors.fill: parent
|
||||||
|
currentIndex: -1 // otherwise currentItem will steal focus
|
||||||
|
header: Item {
|
||||||
|
id: header
|
||||||
|
width: headerContainer.width
|
||||||
|
height: headerContainer.height
|
||||||
|
Component.onCompleted: headerContainer.parent = header
|
||||||
|
}
|
||||||
|
|
||||||
|
delegate: ItemUser {
|
||||||
|
onClicked: {
|
||||||
|
pageStack.push(Qt.resolvedUrl("Profile.qml"), {
|
||||||
|
"displayname": model.account_username,
|
||||||
|
"username": model.account_acct,
|
||||||
|
"user_id": model.account_id,
|
||||||
|
"profileImage": model.account_avatar
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component.onCompleted: {
|
||||||
|
view2.type = "accounts/search"
|
||||||
|
view2.params = []
|
||||||
|
view2.params.push({name: 'q', data: tlSearch.search.substring(1)});
|
||||||
|
view2.loadData("append")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ Page {
|
||||||
user_id = messageObject.data.id
|
user_id = messageObject.data.id
|
||||||
followers_count = messageObject.data.followers_count
|
followers_count = messageObject.data.followers_count
|
||||||
following_count = messageObject.data.following_count
|
following_count = messageObject.data.following_count
|
||||||
username = messageObject.data.username
|
username = messageObject.data.acct
|
||||||
displayname = messageObject.data.display_name
|
displayname = messageObject.data.display_name
|
||||||
profileImage = messageObject.data.avatar_static
|
profileImage = messageObject.data.avatar_static
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ Page {
|
||||||
following_count = messageObject.data
|
following_count = messageObject.data
|
||||||
break;
|
break;
|
||||||
case 'acct':
|
case 'acct':
|
||||||
username = messageObject.data
|
//username = messageObject.data
|
||||||
break;
|
break;
|
||||||
case 'locked':
|
case 'locked':
|
||||||
locked = messageObject.data
|
locked = messageObject.data
|
||||||
|
@ -106,6 +106,7 @@ Page {
|
||||||
allowedOrientations: Orientation.All
|
allowedOrientations: Orientation.All
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
var msg;
|
var msg;
|
||||||
|
|
||||||
if (user_id) {
|
if (user_id) {
|
||||||
msg = {
|
msg = {
|
||||||
'action' : "accounts/relationships/",
|
'action' : "accounts/relationships/",
|
||||||
|
@ -119,8 +120,9 @@ Page {
|
||||||
};
|
};
|
||||||
worker.sendMessage(msg);
|
worker.sendMessage(msg);
|
||||||
} else {
|
} else {
|
||||||
|
var instance = Logic.conf['instance'].split("//")
|
||||||
msg = {
|
msg = {
|
||||||
'action' : "accounts/search?limit=1&q="+username,
|
'action' : "accounts/search?limit=1&q="+username.replace("@"+instance[1], ""),
|
||||||
'conf' : Logic.conf
|
'conf' : Logic.conf
|
||||||
};
|
};
|
||||||
worker.sendMessage(msg);
|
worker.sendMessage(msg);
|
||||||
|
|
|
@ -1,21 +1,35 @@
|
||||||
import QtQuick 2.0
|
import QtQuick 2.0
|
||||||
import Sailfish.Silica 1.0
|
import Sailfish.Silica 1.0
|
||||||
import QtGraphicalEffects 1.0
|
|
||||||
|
|
||||||
BackgroundItem {
|
BackgroundItem {
|
||||||
id: delegate
|
id: delegate
|
||||||
//property string text: "0"
|
signal openUser (string notice)
|
||||||
height: Theme.itemSizeMedium
|
height: Theme.itemSizeMedium
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
|
||||||
Image {
|
Rectangle {
|
||||||
id: avatar
|
id: avatar
|
||||||
width: Theme.itemSizeExtraSmall
|
width: Theme.itemSizeExtraSmall
|
||||||
height: width
|
height: width
|
||||||
source: model.account_avatar
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: Theme.horizontalPageMargin
|
anchors.leftMargin: Theme.horizontalPageMargin
|
||||||
|
color: Theme.highlightDimmerColor
|
||||||
|
Image {
|
||||||
|
id: img
|
||||||
|
opacity: status === Image.Ready ? 1.0 : 0.0
|
||||||
|
Behavior on opacity { FadeAnimator {} }
|
||||||
|
anchors.fill: parent
|
||||||
|
source: model.account_avatar
|
||||||
|
}
|
||||||
|
BusyIndicator {
|
||||||
|
size: BusyIndicatorSize.Small
|
||||||
|
opacity: img.status === Image.Ready ? 0.0 : 1.0
|
||||||
|
Behavior on opacity { FadeAnimator {} }
|
||||||
|
running: avatar.status !== Image.Ready;
|
||||||
|
anchors.centerIn: parent
|
||||||
|
}
|
||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
onClicked: pageStack.push(Qt.resolvedUrl("./../Profile.qml"), {
|
onClicked: pageStack.push(Qt.resolvedUrl("./../Profile.qml"), {
|
||||||
|
@ -45,4 +59,10 @@ BackgroundItem {
|
||||||
font.pixelSize: Theme.fontSizeExtraSmall
|
font.pixelSize: Theme.fontSizeExtraSmall
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
onClicked: openUser({
|
||||||
|
"displayname": model.account_username,
|
||||||
|
"username": model.account_acct,
|
||||||
|
"user_id": model.account_id,
|
||||||
|
"profileImage": model.account_avatar
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,10 +7,13 @@ SilicaListView {
|
||||||
id: myList
|
id: myList
|
||||||
property string type;
|
property string type;
|
||||||
property string title
|
property string title
|
||||||
|
property string vwPlaceholderText: qsTr("Loading")
|
||||||
|
property string vwPlaceholderHint: qsTr("Performing request, please wait or request something else")
|
||||||
property string description
|
property string description
|
||||||
property ListModel mdl: []
|
property ListModel mdl: []
|
||||||
property variant params: []
|
property variant params: []
|
||||||
property var locale: Qt.locale()
|
property var locale: Qt.locale()
|
||||||
|
property bool autoLoadMore : true;
|
||||||
property bool loadStarted : false;
|
property bool loadStarted : false;
|
||||||
property int scrollOffset;
|
property int scrollOffset;
|
||||||
property string action: ""
|
property string action: ""
|
||||||
|
@ -51,8 +54,8 @@ SilicaListView {
|
||||||
ViewPlaceholder {
|
ViewPlaceholder {
|
||||||
id: viewPlaceHolder
|
id: viewPlaceHolder
|
||||||
enabled: model.count === 0
|
enabled: model.count === 0
|
||||||
text: ""
|
text: vwPlaceholderText
|
||||||
hintText: ""
|
hintText: vwPlaceholderHint
|
||||||
}
|
}
|
||||||
|
|
||||||
PullDownMenu {
|
PullDownMenu {
|
||||||
|
@ -70,14 +73,6 @@ SilicaListView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*PushUpMenu {
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Load more")
|
|
||||||
onClicked: {
|
|
||||||
loadData("append")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
clip: true
|
clip: true
|
||||||
section {
|
section {
|
||||||
property: 'section'
|
property: 'section'
|
||||||
|
@ -107,6 +102,7 @@ SilicaListView {
|
||||||
}
|
}
|
||||||
|
|
||||||
footer: Item{
|
footer: Item{
|
||||||
|
visible: autoLoadMore
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: Theme.itemSizeLarge
|
height: Theme.itemSizeLarge
|
||||||
Button {
|
Button {
|
||||||
|
@ -132,7 +128,7 @@ SilicaListView {
|
||||||
scrollOffset = contentY
|
scrollOffset = contentY
|
||||||
}
|
}
|
||||||
|
|
||||||
if(contentY+height > footerItem.y && !loadStarted){
|
if(contentY+height > footerItem.y && !loadStarted && autoLoadMore){
|
||||||
loadData("append")
|
loadData("append")
|
||||||
loadStarted = true;
|
loadStarted = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,7 +136,7 @@ BackgroundItem {
|
||||||
} else if (test.length === 4 && test[3][0] === "@" ) {
|
} else if (test.length === 4 && test[3][0] === "@" ) {
|
||||||
pageStack.push(Qt.resolvedUrl("../Profile.qml"), {
|
pageStack.push(Qt.resolvedUrl("../Profile.qml"), {
|
||||||
"name": "",
|
"name": "",
|
||||||
"username": test[3].substring(1),
|
"username": test[3].substring(1)+"@"+test[2],
|
||||||
"profileImage": ""
|
"profileImage": ""
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -275,7 +275,8 @@ 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');
|
||||||
m.append(mdl.get(index))
|
if (typeof mdl !== "undefined")
|
||||||
|
m.append(mdl.get(index))
|
||||||
pageStack.push(Qt.resolvedUrl("../Conversation.qml"), {
|
pageStack.push(Qt.resolvedUrl("../Conversation.qml"), {
|
||||||
toot_id: status_id,
|
toot_id: status_id,
|
||||||
title: account_display_name,
|
title: account_display_name,
|
||||||
|
@ -286,9 +287,7 @@ BackgroundItem {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
onPressAndHold: {
|
onPressAndHold: {
|
||||||
console.log(model['status_sensitive'])
|
console.log(content)
|
||||||
console.log(model['status_spoiler_text'])
|
|
||||||
console.log(model['type'])
|
|
||||||
mnu.show(delegate)
|
mnu.show(delegate)
|
||||||
}
|
}
|
||||||
onDoubleClicked: {
|
onDoubleClicked: {
|
||||||
|
|
|
@ -113,12 +113,16 @@
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>New Toot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search</source>
|
<source>Search</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>@user or #term</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
|
@ -103,23 +103,27 @@
|
||||||
<name>MainPage</name>
|
<name>MainPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Home</source>
|
<source>Home</source>
|
||||||
<translation>Οικοσελίδα</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Timeline</source>
|
<source>Timeline</source>
|
||||||
<translation>Γραμμή χρονοδιαγράμματος</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation>Ειδοποιήσεις</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search</source>
|
|
||||||
<translation>Αναζήτηση</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>New Toot</source>
|
||||||
<translation>Νέο Toot</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>@user or #term</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Ρυθμίσεις</translation>
|
<translation>Ρυθμίσεις</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
|
@ -103,23 +103,27 @@
|
||||||
<name>MainPage</name>
|
<name>MainPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Home</source>
|
<source>Home</source>
|
||||||
<translation>Home</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Timeline</source>
|
<source>Timeline</source>
|
||||||
<translation>Timeline</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation>Notifications</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search</source>
|
|
||||||
<translation>Search</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>New Toot</source>
|
||||||
<translation>New</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>@user or #term</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Settings</translation>
|
<translation>Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
|
@ -103,23 +103,27 @@
|
||||||
<name>MainPage</name>
|
<name>MainPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Home</source>
|
<source>Home</source>
|
||||||
<translation>Inicio</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Timeline</source>
|
<source>Timeline</source>
|
||||||
<translation>Historia federada</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation>Notificaciones</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search</source>
|
|
||||||
<translation>Buscar</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>New Toot</source>
|
||||||
<translation>Nuevo toot</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>@user or #term</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Ajustes</translation>
|
<translation>Ajustes</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
|
@ -103,23 +103,27 @@
|
||||||
<name>MainPage</name>
|
<name>MainPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Home</source>
|
<source>Home</source>
|
||||||
<translation>Accueil</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Timeline</source>
|
<source>Timeline</source>
|
||||||
<translation>Chronologie</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation>Notifications</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search</source>
|
|
||||||
<translation>Recherche</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>New Toot</source>
|
||||||
<translation>Nouveau</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>@user or #term</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Paramètres</translation>
|
<translation>Paramètres</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
|
@ -103,23 +103,27 @@
|
||||||
<name>MainPage</name>
|
<name>MainPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Home</source>
|
<source>Home</source>
|
||||||
<translation>Thuis</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Timeline</source>
|
<source>Timeline</source>
|
||||||
<translation>Tijdlijn</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation>Meldingen</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search</source>
|
|
||||||
<translation>Zoeken</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>New Toot</source>
|
||||||
<translation>Nieuw</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>@user or #term</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
|
@ -103,23 +103,27 @@
|
||||||
<name>MainPage</name>
|
<name>MainPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Home</source>
|
<source>Home</source>
|
||||||
<translation>Acuèlh</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Timeline</source>
|
<source>Timeline</source>
|
||||||
<translation>Flux</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation>Notificacions</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search</source>
|
|
||||||
<translation>Cercar</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>New Toot</source>
|
||||||
<translation>Nòu tut</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>@user or #term</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Parmètres</translation>
|
<translation>Parmètres</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
|
@ -103,23 +103,27 @@
|
||||||
<name>MainPage</name>
|
<name>MainPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Home</source>
|
<source>Home</source>
|
||||||
<translation>Почетна</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Timeline</source>
|
<source>Timeline</source>
|
||||||
<translation>Временска линија</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation>Обавјештење</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search</source>
|
|
||||||
<translation>Претрага</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>New Toot</source>
|
||||||
<translation>Нова</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>@user or #term</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Подешавања</translation>
|
<translation>Подешавања</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
|
@ -103,23 +103,27 @@
|
||||||
<name>MainPage</name>
|
<name>MainPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Home</source>
|
<source>Home</source>
|
||||||
<translation>Home</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Timeline</source>
|
<source>Timeline</source>
|
||||||
<translation>Timeline</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<translation>Notifications</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Search</source>
|
|
||||||
<translation>Search</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Toot</source>
|
<source>New Toot</source>
|
||||||
<translation>New</translation>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>@user or #term</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -147,6 +151,14 @@
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Settings</translation>
|
<translation>Settings</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Performing request, please wait or request something else</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Profile</name>
|
<name>Profile</name>
|
||||||
|
|
Loading…
Reference in a new issue