Merge pull request #382 from Wunderfitz/messageOptionsDrawer

Introduce message options drawer
This commit is contained in:
Sebastian Wolf 2021-02-18 20:34:00 +01:00 committed by GitHub
commit 9715e03971
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 1651 additions and 1383 deletions

View file

@ -43,8 +43,9 @@ ListItem {
});
readonly property bool isOwnMessage: page.myUserId === myMessage.sender.user_id
property bool hasContentComponent
property bool additionalOptionsOpened
highlighted: (down || isSelected) && !menuOpen
highlighted: (down || isSelected || additionalOptionsOpened) && !menuOpen
openMenuOnPressAndHold: !messageListItem.precalculatedValues.pageIsSelecting
signal replyToMessage()
@ -78,6 +79,13 @@ ListItem {
chatView.manuallyScrolledToBottom = false;
}
Connections {
target: messageOptionsDrawer
onCloseRequested: {
messageListItem.additionalOptionsOpened = false;
}
}
Loader {
id: contextMenuLoader
active: false
@ -90,16 +98,6 @@ ListItem {
}
sourceComponent: Component {
ContextMenu {
Repeater {
model: (extraContentLoader.item && ("extraContextMenuItems" in extraContentLoader.item)) ?
extraContentLoader.item.extraContextMenuItems : 0
delegate: MenuItem {
visible: modelData.visible
text: modelData.name
onClicked: modelData.action()
}
}
MenuItem {
visible: messageListItem.canReplyToMessage
onClicked: messageListItem.replyToMessage()
@ -110,12 +108,6 @@ ListItem {
onClicked: messageListItem.editMessage()
text: qsTr("Edit Message")
}
MenuItem {
onClicked: {
Clipboard.text = Functions.getMessageText(myMessage, true, userInformation.id, true);
}
text: qsTr("Copy Message to Clipboard")
}
MenuItem {
onClicked: {
page.toggleMessageSelection(myMessage);
@ -124,24 +116,14 @@ ListItem {
}
MenuItem {
onClicked: {
if (myMessage.is_pinned) {
Remorse.popupAction(page, qsTr("Message unpinned"), function() { tdLibWrapper.unpinMessage(page.chatInformation.id, messageId);
pinnedMessageItem.requestCloseMessage(); } );
} else {
tdLibWrapper.pinMessage(page.chatInformation.id, messageId);
messageOptionsDrawer.myMessage = myMessage;
messageOptionsDrawer.userInformation = userInformation;
messageOptionsDrawer.sourceItem = messageListItem
messageOptionsDrawer.additionalItemsModel = (extraContentLoader.item && ("extraContextMenuItems" in extraContentLoader.item)) ? extraContentLoader.item.extraContextMenuItems : 0;
messageListItem.additionalOptionsOpened = true;
messageOptionsDrawer.open = true;
}
}
text: myMessage.is_pinned ? qsTr("Unpin Message") : qsTr("Pin Message")
visible: canPinMessages()
}
MenuItem {
onClicked: {
var chatId = page.chatInformation.id;
var messageId = messageListItem.messageId;
Remorse.itemAction(messageListItem, qsTr("Message deleted"), function() { tdLibWrapper.deleteMessages(chatId, [ messageId]); })
}
text: qsTr("Delete Message")
visible: myMessage.can_be_deleted_for_all_users || (myMessage.can_be_deleted_only_for_self && myMessage.chat_id === page.myUserId)
text: qsTr("More Options...")
}
}
}

View file

@ -335,6 +335,18 @@ Page {
}
function startForwardingMessages(messages) {
var ids = Functions.getMessagesArrayIds(messages);
var neededPermissions = Functions.getMessagesNeededForwardPermissions(messages);
var chatId = chatInformation.id;
pageStack.push(Qt.resolvedUrl("../pages/ChatSelectionPage.qml"), {
myUserId: chatPage.myUserId,
headerDescription: qsTr("Forward %Ln messages", "dialog header", ids.length),
payload: {fromChatId: chatId, messageIds:ids, neededPermissions: neededPermissions},
state: "forwardMessages"
});
}
function forwardMessages(fromChatId, messageIds) {
forwardMessagesTimer.fromChatId = fromChatId;
forwardMessagesTimer.messageIds = messageIds;
@ -683,6 +695,125 @@ Page {
}
}
Drawer {
id: messageOptionsDrawer
property var myMessage: ({})
property var userInformation: ({})
property var additionalItemsModel: 0
property var sourceItem
property list<NamedAction> messageOptionsModel: [
NamedAction {
visible: true
name: qsTr("Copy Message to Clipboard")
action: function () { Clipboard.text = Functions.getMessageText(messageOptionsDrawer.myMessage, true, messageOptionsDrawer.userInformation.id, true); }
},
NamedAction {
visible: messageOptionsDrawer.myMessage.can_be_forwarded
name: qsTr("Forward Message")
action: function () {
var messagesToForward = [ messageOptionsDrawer.myMessage ];
startForwardingMessages(messagesToForward);
}
},
NamedAction {
visible: canPinMessages()
name: messageOptionsDrawer.myMessage.is_pinned ? qsTr("Unpin Message") : qsTr("Pin Message")
action: function () {
if (messageOptionsDrawer.myMessage.is_pinned) {
Remorse.popupAction(page, qsTr("Message unpinned"), function() { tdLibWrapper.unpinMessage(chatPage.chatInformation.id, messageOptionsDrawer.myMessage.id);
pinnedMessageItem.requestCloseMessage(); } );
} else {
tdLibWrapper.pinMessage(chatPage.chatInformation.id, messageOptionsDrawer.myMessage.id);
}
}
},
NamedAction {
visible: messageOptionsDrawer.myMessage.can_be_deleted_for_all_users || (messageOptionsDrawer.myMessage.can_be_deleted_only_for_self && messageOptionsDrawer.myMessage.chat_id === chatPage.myUserId)
name: qsTr("Delete Message")
action: function () {
var chatId = chatPage.chatInformation.id;
var messageId = messageOptionsDrawer.myMessage.id;
Remorse.itemAction(messageOptionsDrawer.sourceItem, qsTr("Message deleted"), function() { tdLibWrapper.deleteMessages(chatId, [ messageId ]); });
}
}
]
onOpenChanged: {
if (open) {
var jointModel = [];
for (var j = 0; j < additionalItemsModel.length; j++) {
jointModel.push(additionalItemsModel[j]);
}
for (var i = 0; i < messageOptionsModel.length; i++) {
jointModel.push(messageOptionsModel[i]);
}
drawerListView.model = jointModel;
}
}
signal closeRequested();
function closeDrawer() {
messageOptionsDrawer.closeRequested();
messageOptionsDrawer.open = false;
}
anchors.fill: parent
dock: chatPage.isPortrait ? Dock.Bottom : Dock.Right
backgroundSize: chatPage.isPortrait ? height / 3 : width / 2
background: SilicaListView {
id: drawerListView
anchors.fill: parent
clip: true
VerticalScrollDecorator {}
header: Row {
id: drawerHeaderRow
width: parent.width - ( 2 * Theme.horizontalPageMargin)
height: messageOptionsLabel.height + Theme.paddingLarge + ( chatPage.isPortrait ? ( 2 * Theme.paddingSmall ) : 0 )
anchors.horizontalCenter: parent.horizontalCenter
spacing: Theme.paddingMedium
Label {
id: messageOptionsLabel
text: qsTr("Additional Options")
color: Theme.highlightColor
font.pixelSize: Theme.fontSizeLarge
width: parent.width - closeMessageOptionsButton.width - Theme.paddingMedium
anchors.verticalCenter: parent.verticalCenter
horizontalAlignment: Text.AlignRight
}
IconButton {
id: closeMessageOptionsButton
icon.source: "image://theme/icon-m-clear"
anchors.verticalCenter: parent.verticalCenter
onClicked: {
messageOptionsDrawer.closeDrawer();
}
}
}
delegate: ListItem {
Label {
width: parent.width - ( 2 * Theme.horizontalPageMargin )
text: modelData.name
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
horizontalAlignment: Text.AlignHCenter
}
onClicked: {
modelData.action();
messageOptionsDrawer.closeDrawer();
}
hidden: !modelData.visible
}
}
SilicaFlickable {
id: chatContainer
@ -898,6 +1029,7 @@ Page {
}
}
PinnedMessageItem {
id: pinnedMessageItem
onRequestShowMessage: {
@ -935,6 +1067,12 @@ Page {
onTriggered: {
Debug.log("[ChatPage] Cooldown completed...");
chatView.inCooldown = false;
if (!chatPage.isInitialized) {
Debug.log("Page is initialized!");
chatPage.isInitialized = true;
chatView.handleScrollPositionChanged();
}
}
}
@ -1857,6 +1995,10 @@ Page {
}
}
}
Loader {
id: selectedMessagesActions
asynchronous: true
@ -1907,15 +2049,7 @@ Page {
icon.sourceSize: Qt.size(Theme.iconSizeMedium, Theme.iconSizeMedium)
icon.source: "image://theme/icon-m-forward"
onClicked: {
var ids = Functions.getMessagesArrayIds(chatPage.selectedMessages)
var neededPermissions = Functions.getMessagesNeededForwardPermissions(chatPage.selectedMessages)
var chatId = chatInformation.id
pageStack.push(Qt.resolvedUrl("../pages/ChatSelectionPage.qml"), {
myUserId: chatPage.myUserId,
headerDescription: qsTr("Forward %Ln messages", "dialog header", ids.length),
payload: {fromChatId: chatId, messageIds:ids, neededPermissions: neededPermissions},
state: "forwardMessages"
})
startForwardingMessages(chatPage.selectedMessages);
}
}

View file

@ -28,10 +28,18 @@ Dialog {
allowedOrientations: Orientation.All
canAccept: false
acceptDestinationAction: PageStackAction.Replace
acceptDestinationReplaceTarget: pageStack.find( function(page){ return(page._depth === 0)} )
acceptDestinationReplaceTarget: pageStack.find( function(page){
// This crazy workaround is presented to you by a bug introduced with SFOS 4.0.1
// See https://forum.sailfishos.org/t/4-0-1-45-pagestack-find-not-working-properly-anymore-in-a-dialog/4723 for details.
chatSelectionPage.currentDepth = chatSelectionPage.currentDepth - 1;
return(chatSelectionPage.currentDepth === 0);
} )
property int myUserId: tdLibWrapper.getUserInformation().id
property alias headerTitle: pageHeader.title
property alias headerDescription: pageHeader.description
property var currentDepth: pageStack.depth
/*
payload dependent on chatSelectionPage.state
- forwardMessages: {fromChatId, messageIds, neededPermissions}

View file

@ -12,7 +12,7 @@ Name: harbour-fernschreiber
Summary: Fernschreiber is a Telegram client for Sailfish OS
Version: 0.7.1
Release: 2
Release: 5
Group: Qt/Qt
License: LICENSE
URL: http://werkwolf.eu/

View file

@ -1,7 +1,7 @@
Name: harbour-fernschreiber
Summary: Fernschreiber is a Telegram client for Sailfish OS
Version: 0.7.1
Release: 2
Release: 5
# The contents of the Group field should be one of the groups listed here:
# https://github.com/mer-tools/spectacle/blob/master/data/GROUPS
Group: Qt/Qt

View file

@ -435,6 +435,38 @@
<source>Location (%1/%2)</source>
<translation>Standort (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Nachricht in die Zwischenablage kopieren</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Nachricht losgeheftet</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Nachricht losheften</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Nachricht anheften</translation>
</message>
<message>
<source>Additional Options</source>
<translation>Zusätzliche Optionen</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Nachricht gelöscht</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Nachricht löschen</translation>
</message>
<message>
<source>Forward Message</source>
<translation>Nachricht weiterleiten</translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -955,18 +987,6 @@
<source>Edit Message</source>
<translation>Nachricht bearbeiten</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Nachricht in die Zwischenablage kopieren</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Nachricht gelöscht</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Nachricht löschen</translation>
</message>
<message>
<source>You</source>
<translation>Sie</translation>
@ -980,16 +1000,8 @@
<translation>Nachricht auswählen</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Nachricht anheften</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Nachricht losgeheftet</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Nachricht losheften</translation>
<source>More Options...</source>
<translation>Mehr Optionen...</translation>
</message>
</context>
<context>

View file

@ -435,6 +435,38 @@
<source>Location (%1/%2)</source>
<translation>Location (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Copy Message to Clipboard</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Message unpinned</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Unpin Message</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Pin Message</translation>
</message>
<message>
<source>Additional Options</source>
<translation>Additional Options</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Message deleted</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Delete Message</translation>
</message>
<message>
<source>Forward Message</source>
<translation>Forward Message</translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -957,18 +989,6 @@ messages</numerusform>
<source>Edit Message</source>
<translation>Edit Message</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Copy Message to Clipboard</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Message deleted</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Delete Message</translation>
</message>
<message>
<source>You</source>
<translation>You</translation>
@ -982,16 +1002,8 @@ messages</numerusform>
<translation>Select Message</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Pin Message</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Message unpinned</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Unpin Message</translation>
<source>More Options...</source>
<translation>More Options...</translation>
</message>
</context>
<context>

View file

@ -435,6 +435,38 @@
<source>Location (%1/%2)</source>
<translation>Ubicación: (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Copiar</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Mensaje desanclado</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Desanclar mensaje</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Anclar mensaje</translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation>Mensaje borrado</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Borrar</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -955,18 +987,6 @@
<source>Edit Message</source>
<translation>Editar</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Copiar</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Mensaje borrado</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Borrar</translation>
</message>
<message>
<source>You</source>
<translation>Usted</translation>
@ -980,16 +1000,8 @@
<translation>Seleccionar</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Anclar mensaje</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Mensaje desanclado</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Desanclar mensaje</translation>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -2144,18 +2156,18 @@
<source>scored %Ln points</source>
<comment>myself</comment>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<numerusform>punto %Ln anotado</numerusform>
<numerusform>puntos %Ln anotados</numerusform>
</translation>
</message>
<message>
<source>sent a game</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation type="unfinished">envió un juego</translation>
</message>
<message>
<source>sent a game</source>
<translation type="unfinished"></translation>
<translation type="unfinished">envió un juego</translation>
</message>
</context>
</TS>

View file

@ -435,6 +435,38 @@
<source>Location (%1/%2)</source>
<translation>Sijainti (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Kopioi viesti leikepöydälle</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Viestin kiinnitys poistettu</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Poista viestin kiinnitys</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Kiinnitä viesti</translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation>Viesti poistettu</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Poista viesti</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -956,18 +988,6 @@
<source>Edit Message</source>
<translation>Muokkaa viestiä</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Kopioi viesti leikepöydälle</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Viesti poistettu</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Poista viesti</translation>
</message>
<message>
<source>You</source>
<translation>Sinä</translation>
@ -981,16 +1001,8 @@
<translation>Valitse viesti</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Kiinnitä viesti</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Viestin kiinnitys poistettu</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Poista viestin kiinnitys</translation>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -425,6 +425,38 @@
<source>Location (%1/%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message unpinned</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpin Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pin Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete Message</source>
<translation type="unfinished">Üzenet törlése</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -941,18 +973,6 @@
<source>Edit Message</source>
<translation type="unfinished">Üzenet szerkesztése</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete Message</source>
<translation type="unfinished">Üzenet törlése</translation>
</message>
<message>
<source>You</source>
<translation type="unfinished">Te</translation>
@ -966,15 +986,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<source>Pin Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message unpinned</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpin Message</source>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -435,6 +435,38 @@
<source>Location (%1/%2)</source>
<translation>Posizione(%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Copia messaggio nella clipboard</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Messaggio non più in evidenza</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Togli messaggio in evidenza</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Metti messaggio in evidenza</translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation>Messaggio cancellato</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Cancella messaggio</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -955,18 +987,6 @@
<source>Edit Message</source>
<translation>Modifica messaggio</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Copia messaggio nella clipboard</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Messaggio cancellato</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Cancella messaggio</translation>
</message>
<message>
<source>You</source>
<translation>Tu</translation>
@ -980,16 +1000,8 @@
<translation>Seleziona messaggio</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Metti messaggio in evidenza</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Messaggio non più in evidenza</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Togli messaggio in evidenza</translation>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -445,6 +445,38 @@
<source>Location (%1/%2)</source>
<translation>Lokalizacja (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Skopiuj wiadomość do schowka</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Wiadomość opięta</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Odepnij wiadomość</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Przypnij wiadomość</translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation>Wiadomość usunięta</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Usuń wiadomość</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -969,18 +1001,6 @@
<source>Edit Message</source>
<translation>Edytuj widomość</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Skopiuj wiadomość do schowka</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Wiadomość usunięta</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Usuń wiadomość</translation>
</message>
<message>
<source>You</source>
<translation>Ty</translation>
@ -994,16 +1014,8 @@
<translation>Wybierz wiadomość</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Przypnij wiadomość</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Wiadomość odpięta</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Odepnij wiadomość</translation>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -445,6 +445,38 @@
<source>Location (%1/%2)</source>
<translation>Местоположение (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Скопировать в буфер обмена</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Сообщение откреплено</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Открепить сообщение</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Закрепить сообщение</translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation>Сообщение удалено</translation>
</message>
<message>
<source>Delete Message</source>
<translation type="unfinished">Удалить</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -972,18 +1004,6 @@
<source>Edit Message</source>
<translation>Редактировать</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Скопировать в буфер обмена</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Сообщение удалено</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Удалить</translation>
</message>
<message>
<source>You</source>
<translation>Я</translation>
@ -997,16 +1017,8 @@
<translation>Выбрать сообщение</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Закрепить сообщение</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Сообщение откреплено</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Открепить сообщение</translation>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -445,6 +445,38 @@
<source>Location (%1/%2)</source>
<translation>Poloha (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Kopírovať správu do schránky</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Správa bola odopnutá</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Odopnúť správu</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Pripnúť správu</translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation>Správa bola odstránená</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Odstrániť správu</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -969,18 +1001,6 @@
<source>Edit Message</source>
<translation>Upraviť správu</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Kopírovať správu do schránky</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Správa bola odstránená</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Odstrániť správu</translation>
</message>
<message>
<source>You</source>
<translation>Ja</translation>
@ -994,16 +1014,8 @@
<translation>Vybrať správu</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Pripnúť správu</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Správa bola odopnutá</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Odopnúť správu</translation>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -435,6 +435,38 @@
<source>Location (%1/%2)</source>
<translation>Plats (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Kopiera meddelandet till urklipp</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Meddelandet lösgjort</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Lösgör meddelandet</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Fäst meddelandet</translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation>Mededelande borttaget</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Ta bort meddelandet</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -955,18 +987,6 @@
<source>Edit Message</source>
<translation>Redigera meddelandet</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Kopiera meddelandet till urklipp</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Mededelande borttaget</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Ta bort meddelandet</translation>
</message>
<message>
<source>You</source>
<translation>Du</translation>
@ -980,16 +1000,8 @@
<translation>Markera meddelanden</translation>
</message>
<message>
<source>Pin Message</source>
<translation>Fäst meddelandet</translation>
</message>
<message>
<source>Message unpinned</source>
<translation>Meddelandet lösgjort</translation>
</message>
<message>
<source>Unpin Message</source>
<translation>Lösgör meddelandet</translation>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -425,6 +425,38 @@
<source>Location (%1/%2)</source>
<translation> (%1/%2)</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation></translation>
</message>
<message>
<source>Message unpinned</source>
<translation></translation>
</message>
<message>
<source>Unpin Message</source>
<translation></translation>
</message>
<message>
<source>Pin Message</source>
<translation></translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation></translation>
</message>
<message>
<source>Delete Message</source>
<translation></translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -942,18 +974,6 @@
<source>Edit Message</source>
<translation></translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation></translation>
</message>
<message>
<source>Message deleted</source>
<translation></translation>
</message>
<message>
<source>Delete Message</source>
<translation></translation>
</message>
<message>
<source>You</source>
<translation></translation>
@ -967,16 +987,8 @@
<translation></translation>
</message>
<message>
<source>Pin Message</source>
<translation></translation>
</message>
<message>
<source>Message unpinned</source>
<translation></translation>
</message>
<message>
<source>Unpin Message</source>
<translation></translation>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -435,6 +435,38 @@
<source>Location (%1/%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation type="unfinished">Copy Message to Clipboard</translation>
</message>
<message>
<source>Message unpinned</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpin Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pin Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Additional Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message deleted</source>
<translation type="unfinished">Message deleted</translation>
</message>
<message>
<source>Delete Message</source>
<translation type="unfinished">Delete Message</translation>
</message>
<message>
<source>Forward Message</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatSelectionPage</name>
@ -955,18 +987,6 @@
<source>Edit Message</source>
<translation>Edit Message</translation>
</message>
<message>
<source>Copy Message to Clipboard</source>
<translation>Copy Message to Clipboard</translation>
</message>
<message>
<source>Message deleted</source>
<translation>Message deleted</translation>
</message>
<message>
<source>Delete Message</source>
<translation>Delete Message</translation>
</message>
<message>
<source>You</source>
<translation>You</translation>
@ -980,15 +1000,7 @@
<translation>Select Message</translation>
</message>
<message>
<source>Pin Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Message unpinned</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpin Message</source>
<source>More Options...</source>
<translation type="unfinished"></translation>
</message>
</context>