parent
20f7ce524a
commit
1a4835dd8a
11 changed files with 321 additions and 29 deletions
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.0.1, 2017-07-06T09:02:09. -->
|
||||
<!-- Written by QtCreator 4.0.1, 2017-07-06T16:14:27. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
@ -63,7 +63,7 @@
|
|||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">MerSDK-SailfishOS-i486</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{f49c1b5a-d715-401a-9a10-0e5fe9e5b72a}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">2</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/dysko/SF/build-harbour-tooter-MerSDK_SailfishOS_i486-Debug</value>
|
||||
|
@ -401,14 +401,16 @@
|
|||
<value type="int" key="MerRunConfiguration.QmlLiveIpcPort">10234</value>
|
||||
<value type="int" key="MerRunConfiguration.QmlLiveOptions">3</value>
|
||||
<value type="QString" key="MerRunConfiguration.QmlLiveTargetWorkspace"></value>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">1</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
|
||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
|
||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">harbour-tooter (on Mer Device)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRunConfiguration:harbour-tooter</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.Arguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.TargetName">harbour-tooter</value>
|
||||
<value type="QString" key="RemoteLinux.RunConfig.AlternateRemoteExecutable"></value>
|
||||
<value type="bool" key="RemoteLinux.RunConfig.UseAlternateRemoteExecutable">false</value>
|
||||
<value type="QString" key="RemoteLinux.RunConfig.WorkingDirectory"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
|
@ -426,7 +428,7 @@
|
|||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">MerSDK-SailfishOS-armv7hl</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{588087e2-ecc1-41aa-b652-86f16cba9351}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">2</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/dysko/SF/build-harbour-tooter-MerSDK_SailfishOS_armv7hl-Debug</value>
|
||||
|
@ -764,14 +766,16 @@
|
|||
<value type="int" key="MerRunConfiguration.QmlLiveIpcPort">10234</value>
|
||||
<value type="int" key="MerRunConfiguration.QmlLiveOptions">3</value>
|
||||
<value type="QString" key="MerRunConfiguration.QmlLiveTargetWorkspace"></value>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">-1</value>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">1</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
|
||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
|
||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">harbour-tooter (on Mer Device)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRunConfiguration:harbour-tooter</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.Arguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.TargetName">harbour-tooter</value>
|
||||
<value type="QString" key="RemoteLinux.RunConfig.AlternateRemoteExecutable"></value>
|
||||
<value type="bool" key="RemoteLinux.RunConfig.UseAlternateRemoteExecutable">false</value>
|
||||
<value type="QString" key="RemoteLinux.RunConfig.WorkingDirectory"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
|
|
|
@ -14,6 +14,9 @@ Page {
|
|||
property ListModel mdl;
|
||||
ListModel {
|
||||
id: mediaModel
|
||||
onCountChanged: {
|
||||
btnAddImage.enabled = mediaModel.count < 4
|
||||
}
|
||||
}
|
||||
|
||||
WorkerScript {
|
||||
|
@ -73,7 +76,7 @@ Page {
|
|||
}
|
||||
|
||||
width: parent.width
|
||||
height: toot.height + btnContentWarning.height + Theme.paddingMedium + (warningContent.visible ? warningContent.height : 0)
|
||||
height: toot.height + (mediaModel.count ? uploadedImages.height : 0) + btnContentWarning.height + Theme.paddingMedium + (warningContent.visible ? warningContent.height : 0)
|
||||
dock: Dock.Bottom
|
||||
TextField {
|
||||
id: warningContent
|
||||
|
@ -100,6 +103,7 @@ Page {
|
|||
topMargin: Theme.paddingMedium
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
rightMargin: Theme.paddingMedium
|
||||
}
|
||||
autoScrollEnabled: true
|
||||
labelVisible: false
|
||||
|
@ -112,6 +116,60 @@ Page {
|
|||
}
|
||||
}
|
||||
IconButton {
|
||||
id: btnSmileys
|
||||
property string selection
|
||||
onSelectionChanged: {
|
||||
console.log(selection)
|
||||
}
|
||||
|
||||
anchors {
|
||||
bottom: bottom.top
|
||||
right: parent.right
|
||||
rightMargin: Theme.paddingSmall
|
||||
}
|
||||
icon.source: "image://theme/icon-s-mms?" + (pressed
|
||||
? Theme.highlightColor
|
||||
: (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
|
||||
onClicked: pageStack.push(firstWizardPage)
|
||||
}
|
||||
SilicaGridView {
|
||||
id: uploadedImages
|
||||
width: parent.width
|
||||
anchors.bottom: parent.bottom
|
||||
height: mediaModel.count ? Theme.itemSizeSmall : 0
|
||||
model: mediaModel
|
||||
cellWidth: uploadedImages.width / 4
|
||||
cellHeight: Theme.itemSizeSmall
|
||||
delegate: BackgroundItem {
|
||||
id: myDelegate
|
||||
width: uploadedImages.cellWidth
|
||||
height: uploadedImages.cellHeight
|
||||
RemorseItem { id: remorse }
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
source: model.preview_url
|
||||
}
|
||||
|
||||
onClicked: {
|
||||
var idx = index
|
||||
console.log(idx)
|
||||
//mediaModel.remove(idx)
|
||||
remorse.execute(myDelegate, qsTr("Delete"), function() { mediaModel.remove(idx) } )
|
||||
}
|
||||
}
|
||||
add: Transition {
|
||||
NumberAnimation { property: "opacity"; from: 0; to: 1.0; duration: 800 }
|
||||
}
|
||||
|
||||
remove: Transition {
|
||||
NumberAnimation { property: "opacity"; from: 1.0; to: 0; duration: 800 }
|
||||
}
|
||||
displaced: Transition {
|
||||
NumberAnimation { properties: "x,y"; duration: 800; easing.type: Easing.InOutBack }
|
||||
}
|
||||
}
|
||||
IconButton {
|
||||
|
||||
id: btnContentWarning
|
||||
anchors {
|
||||
verticalCenter: privacy.verticalCenter
|
||||
|
@ -125,6 +183,7 @@ Page {
|
|||
}
|
||||
IconButton {
|
||||
id: btnAddImage
|
||||
enabled: mediaModel.count < 4
|
||||
anchors {
|
||||
verticalCenter: privacy.verticalCenter
|
||||
left: btnContentWarning.right
|
||||
|
@ -135,8 +194,6 @@ Page {
|
|||
: (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor))
|
||||
onClicked: {
|
||||
btnAddImage.enabled = false;
|
||||
//receiver.receiveFromQml(42);
|
||||
//imageUploader.run()
|
||||
var once = true;
|
||||
// MultiImagePickerDialog
|
||||
var imagePicker = pageStack.push("Sailfish.Pickers.ImagePickerPage", { "allowedOrientations" : Orientation.All });
|
||||
|
@ -167,16 +224,20 @@ Page {
|
|||
|
||||
onProgressChanged: {
|
||||
console.log("progress "+progress)
|
||||
uploadProgress.width = parent.width*progress
|
||||
}
|
||||
|
||||
onSuccess: {
|
||||
uploadProgress.width =0
|
||||
console.log(replyData);
|
||||
|
||||
mediaModel.append(JSON.parse(replyData))
|
||||
btnAddImage.enabled = true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
onFailure: {
|
||||
uploadProgress.width =0
|
||||
btnAddImage.enabled = true;
|
||||
console.log(status)
|
||||
console.log(statusText)
|
||||
|
@ -252,6 +313,16 @@ Page {
|
|||
toot.text = ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Rectangle {
|
||||
id: uploadProgress
|
||||
color: Theme.highlightBackgroundColor
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
height: 3
|
||||
}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
toot.cursorPosition = toot.text.length
|
||||
|
@ -263,4 +334,159 @@ Page {
|
|||
'conf' : Logic.conf
|
||||
});
|
||||
}
|
||||
Component {
|
||||
id: firstWizardPage
|
||||
|
||||
Dialog {
|
||||
id: emoticonsDialog
|
||||
canAccept: false; //selector.currentIndex >= 0
|
||||
//acceptDestination: conversationPage
|
||||
|
||||
onAcceptPendingChanged: {
|
||||
if (acceptPending) {
|
||||
// Tell the destination page what the selected category is
|
||||
// acceptDestinationInstance.category = selector.value
|
||||
}
|
||||
}
|
||||
|
||||
SilicaGridView {
|
||||
id: gridView
|
||||
anchors.fill: parent
|
||||
cellWidth: gridView.width / 6
|
||||
cellHeight: cellWidth
|
||||
header: PageHeader {
|
||||
title: qsTr("Emojis")
|
||||
description: qsTr("Tap to insert")
|
||||
}
|
||||
model: ListModel {
|
||||
ListElement { section: "smileys"; glyph: "😁" }
|
||||
ListElement { section: "smileys"; glyph: "😂" }
|
||||
ListElement { section: "smileys"; glyph: "😃" }
|
||||
ListElement { section: "smileys"; glyph: "😄" }
|
||||
ListElement { section: "smileys"; glyph: "😅" }
|
||||
ListElement { section: "smileys"; glyph: "😆" }
|
||||
ListElement { section: "smileys"; glyph: "😉" }
|
||||
ListElement { section: "smileys"; glyph: "😊" }
|
||||
ListElement { section: "smileys"; glyph: "😋" }
|
||||
ListElement { section: "smileys"; glyph: "😌" }
|
||||
ListElement { section: "smileys"; glyph: "😍" }
|
||||
ListElement { section: "smileys"; glyph: "😏" }
|
||||
ListElement { section: "smileys"; glyph: "😒" }
|
||||
ListElement { section: "smileys"; glyph: "😓" }
|
||||
ListElement { section: "smileys"; glyph: "😔" }
|
||||
ListElement { section: "smileys"; glyph: "😖" }
|
||||
ListElement { section: "smileys"; glyph: "😘" }
|
||||
ListElement { section: "smileys"; glyph: "😚" }
|
||||
ListElement { section: "smileys"; glyph: "😜" }
|
||||
ListElement { section: "smileys"; glyph: "😝" }
|
||||
ListElement { section: "smileys"; glyph: "😞" }
|
||||
ListElement { section: "smileys"; glyph: "😠" }
|
||||
ListElement { section: "smileys"; glyph: "😡" }
|
||||
ListElement { section: "smileys"; glyph: "😢" }
|
||||
ListElement { section: "smileys"; glyph: "😣" }
|
||||
ListElement { section: "smileys"; glyph: "😤" }
|
||||
ListElement { section: "smileys"; glyph: "😥" }
|
||||
ListElement { section: "smileys"; glyph: "😨" }
|
||||
ListElement { section: "smileys"; glyph: "😩" }
|
||||
ListElement { section: "smileys"; glyph: "😪" }
|
||||
ListElement { section: "smileys"; glyph: "😫" }
|
||||
ListElement { section: "smileys"; glyph: "😭" }
|
||||
ListElement { section: "smileys"; glyph: "😰" }
|
||||
ListElement { section: "smileys"; glyph: "😱" }
|
||||
ListElement { section: "smileys"; glyph: "😲" }
|
||||
ListElement { section: "smileys"; glyph: "😳" }
|
||||
ListElement { section: "smileys"; glyph: "😵" }
|
||||
ListElement { section: "smileys"; glyph: "😷" }
|
||||
ListElement { section: "smileys"; glyph: "😸" }
|
||||
ListElement { section: "smileys"; glyph: "😹" }
|
||||
ListElement { section: "smileys"; glyph: "😺" }
|
||||
ListElement { section: "smileys"; glyph: "😻" }
|
||||
ListElement { section: "smileys"; glyph: "😼" }
|
||||
ListElement { section: "smileys"; glyph: "😽" }
|
||||
ListElement { section: "smileys"; glyph: "😾" }
|
||||
ListElement { section: "smileys"; glyph: "😿" }
|
||||
ListElement { section: "smileys"; glyph: "🙀" }
|
||||
ListElement { section: "smileys"; glyph: "🙅" }
|
||||
ListElement { section: "smileys"; glyph: "🙆" }
|
||||
ListElement { section: "smileys"; glyph: "🙇" }
|
||||
ListElement { section: "smileys"; glyph: "🙈" }
|
||||
ListElement { section: "smileys"; glyph: "🙉" }
|
||||
ListElement { section: "smileys"; glyph: "🙊" }
|
||||
ListElement { section: "smileys"; glyph: "🙋" }
|
||||
ListElement { section: "smileys"; glyph: "🙌" }
|
||||
ListElement { section: "smileys"; glyph: "🙍" }
|
||||
ListElement { section: "smileys"; glyph: "🙎" }
|
||||
ListElement { section: "smileys"; glyph: "🙏" }
|
||||
|
||||
|
||||
ListElement { section: "Transport and map"; glyph: "🚀" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚃" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚀" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚄" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚅" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚇" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚉" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚌" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚏" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚑" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚒" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚓" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚕" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚗" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚙" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚚" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚢" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚨" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚩" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚪" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚫" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚬" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚭" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚲" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚶" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚹" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚺" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚻" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚼" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚽" }
|
||||
ListElement { section: "Transport and map"; glyph: "🚾" }
|
||||
ListElement { section: "Transport and map"; glyph: "🛀" }
|
||||
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♈" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♉" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♊" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♋" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♌" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♍" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♎" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♏" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♐" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♑" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♒" }
|
||||
ListElement { section: "Horoscope Signs"; glyph: "♓" }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
delegate: BackgroundItem {
|
||||
width: gridView.cellWidth
|
||||
height: gridView.cellHeight
|
||||
Label {
|
||||
anchors.centerIn: parent
|
||||
color: (highlighted ? Theme.secondaryHighlightColor : Theme.secondaryColor)
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
text: glyph
|
||||
}
|
||||
onClicked: {
|
||||
toot.text = toot.text + model.glyph
|
||||
emoticonsDialog.canAccept = true;
|
||||
emoticonsDialog.accept()
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@ SilicaListView {
|
|||
NumberAnimation { property: "x"; duration: 800; easing.type: Easing.InOutBack }
|
||||
}
|
||||
|
||||
displaced: Transition {
|
||||
remove: Transition {
|
||||
NumberAnimation { properties: "x,y"; duration: 800; easing.type: Easing.InOutBack }
|
||||
}
|
||||
|
||||
|
|
|
@ -161,7 +161,7 @@ BackgroundItem {
|
|||
topMargin: Theme.paddingSmall
|
||||
bottomMargin: Theme.paddingLarge
|
||||
}
|
||||
model: typeof attachments !== "undefined" ? attachments : []
|
||||
model: typeof attachments !== "undefined" ? attachments : Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject');
|
||||
height: 100
|
||||
}
|
||||
ContextMenu {
|
||||
|
|
|
@ -32,3 +32,4 @@
|
|||
|
||||
* Thu July 7 2017 Dusko Angirevic <dysko@me.com> 0.1.9-0
|
||||
- Image Upload added [#9]
|
||||
- Emoji pannel added
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include <QtQuick>
|
||||
#endif
|
||||
|
||||
|
||||
#include <sailfishapp.h>
|
||||
#include "imageuploader.h"
|
||||
|
||||
|
@ -10,7 +11,7 @@ int main(int argc, char *argv[])
|
|||
{
|
||||
QScopedPointer<QGuiApplication> app(SailfishApp::application(argc, argv));
|
||||
QScopedPointer<QQuickView> view(SailfishApp::createView());
|
||||
QQmlContext *context = view.data()->rootContext();
|
||||
//QQmlContext *context = view.data()->rootContext();
|
||||
|
||||
qmlRegisterType<ImageUploader>("harbour.tooter.Uploader", 1, 0, "ImageUploader");
|
||||
|
||||
|
|
|
@ -61,6 +61,18 @@
|
|||
<source>direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Emojis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tap to insert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageUploader</name>
|
||||
|
@ -122,11 +134,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Logout</source>
|
||||
<translation type="finished">Cerrar sesión</translation>
|
||||
<translation>Cerrar sesión</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Login</source>
|
||||
<translation type="finished">Iniciar sesión</translation>
|
||||
<translation>Iniciar sesión</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
|
@ -61,6 +61,18 @@
|
|||
<source>direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Emojis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tap to insert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageUploader</name>
|
||||
|
|
|
@ -61,6 +61,18 @@
|
|||
<source>direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Emojis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tap to insert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageUploader</name>
|
||||
|
|
|
@ -61,6 +61,18 @@
|
|||
<source>direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Emojis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tap to insert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageUploader</name>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<name>Conversation</name>
|
||||
<message>
|
||||
<source>Conversation</source>
|
||||
<translation>Conversation</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content warning!</source>
|
||||
|
@ -47,19 +47,31 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>public</source>
|
||||
<translation>Content warning!</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unlisted</source>
|
||||
<translation>unlisted</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>followers only</source>
|
||||
<translation>followers only</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>direct</source>
|
||||
<translation>direct</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Emojis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tap to insert</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
Loading…
Reference in a new issue