Always append last message content to notifications (#514)
* always append last message content to notifications * make "always show notification" configurable * add unfinished translations * Fix spacing if no sender is printed
This commit is contained in:
parent
3620b8ed03
commit
b11f7dd8b1
17 changed files with 147 additions and 8 deletions
|
@ -191,6 +191,17 @@ AccordionItem {
|
|||
}
|
||||
Behavior on height { SmoothedAnimation { duration: 200 } }
|
||||
}
|
||||
|
||||
TextSwitch {
|
||||
width: parent.columnWidth
|
||||
checked: appSettings.notificationAlwaysShowPreview
|
||||
text: qsTr("Always append message preview to notifications")
|
||||
description: qsTr("In addition to showing the number of unread messages, the latest message will also be appended to notifications.")
|
||||
automaticCheck: false
|
||||
onClicked: {
|
||||
appSettings.notificationAlwaysShowPreview = !checked
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ namespace {
|
|||
const QString KEY_NOTIFICATION_SOUNDS_ENABLED("notificationSoundsEnabled");
|
||||
const QString KEY_NOTIFICATION_SUPPRESS_ENABLED("notificationSuppressContent");
|
||||
const QString KEY_NOTIFICATION_FEEDBACK("notificationFeedback");
|
||||
const QString KEY_NOTIFICATION_ALWAYS_SHOW_PREVIEW("notificationAlwaysShowPreview");
|
||||
const QString KEY_STORAGE_OPTIMIZER("useStorageOptimizer");
|
||||
const QString KEY_INLINEBOT_LOCATION_ACCESS("allowInlineBotLocationAccess");
|
||||
const QString KEY_REMAINING_INTERACTION_HINTS("remainingInteractionHints");
|
||||
|
@ -185,6 +186,20 @@ void AppSettings::setNotificationFeedback(NotificationFeedback feedback)
|
|||
}
|
||||
}
|
||||
|
||||
bool AppSettings::notificationAlwaysShowPreview() const
|
||||
{
|
||||
return settings.value(KEY_NOTIFICATION_ALWAYS_SHOW_PREVIEW, false).toBool();
|
||||
}
|
||||
|
||||
void AppSettings::setNotificationAlwaysShowPreview(bool enable)
|
||||
{
|
||||
if (notificationAlwaysShowPreview() != enable) {
|
||||
LOG(KEY_NOTIFICATION_ALWAYS_SHOW_PREVIEW << enable);
|
||||
settings.setValue(KEY_NOTIFICATION_ALWAYS_SHOW_PREVIEW, enable);
|
||||
emit notificationAlwaysShowPreviewChanged();
|
||||
}
|
||||
}
|
||||
|
||||
bool AppSettings::storageOptimizer() const
|
||||
{
|
||||
return settings.value(KEY_STORAGE_OPTIMIZER, true).toBool();
|
||||
|
|
|
@ -34,6 +34,7 @@ class AppSettings : public QObject {
|
|||
Q_PROPERTY(bool notificationSoundsEnabled READ notificationSoundsEnabled WRITE setNotificationSoundsEnabled NOTIFY notificationSoundsEnabledChanged)
|
||||
Q_PROPERTY(bool notificationSuppressContent READ notificationSuppressContent WRITE setNotificationSuppressContent NOTIFY notificationSuppressContentChanged)
|
||||
Q_PROPERTY(NotificationFeedback notificationFeedback READ notificationFeedback WRITE setNotificationFeedback NOTIFY notificationFeedbackChanged)
|
||||
Q_PROPERTY(bool notificationAlwaysShowPreview READ notificationAlwaysShowPreview WRITE setNotificationAlwaysShowPreview NOTIFY notificationAlwaysShowPreviewChanged)
|
||||
Q_PROPERTY(bool storageOptimizer READ storageOptimizer WRITE setStorageOptimizer NOTIFY storageOptimizerChanged)
|
||||
Q_PROPERTY(bool allowInlineBotLocationAccess READ allowInlineBotLocationAccess WRITE setAllowInlineBotLocationAccess NOTIFY allowInlineBotLocationAccessChanged)
|
||||
Q_PROPERTY(int remainingInteractionHints READ remainingInteractionHints WRITE setRemainingInteractionHints NOTIFY remainingInteractionHintsChanged)
|
||||
|
@ -91,6 +92,9 @@ public:
|
|||
NotificationFeedback notificationFeedback() const;
|
||||
void setNotificationFeedback(NotificationFeedback feedback);
|
||||
|
||||
bool notificationAlwaysShowPreview() const;
|
||||
void setNotificationAlwaysShowPreview(bool enable);
|
||||
|
||||
bool storageOptimizer() const;
|
||||
void setStorageOptimizer(bool enable);
|
||||
|
||||
|
@ -126,6 +130,7 @@ signals:
|
|||
void notificationSoundsEnabledChanged();
|
||||
void notificationSuppressContentChanged();
|
||||
void notificationFeedbackChanged();
|
||||
void notificationAlwaysShowPreviewChanged();
|
||||
void storageOptimizerChanged();
|
||||
void allowInlineBotLocationAccessChanged();
|
||||
void remainingInteractionHintsChanged();
|
||||
|
|
|
@ -341,8 +341,18 @@ void NotificationManager::publishNotification(const NotificationGroup *notificat
|
|||
|
||||
QString notificationBody;
|
||||
const QVariantMap senderInformation = messageMap.value(SENDER_ID).toMap();
|
||||
if (notificationGroup->totalCount == 1 && !messageMap.isEmpty()) {
|
||||
bool outputMessageCount = notificationGroup->totalCount > 1;
|
||||
bool messageIsEmpty = messageMap.isEmpty();
|
||||
if (outputMessageCount || messageIsEmpty) {
|
||||
// Either we have more than one notification or we have no content to display
|
||||
LOG("Group" << notificationGroup->notificationGroupId << "has" << notificationGroup->totalCount << "notifications");
|
||||
notificationBody = tr("%Ln unread messages", "", notificationGroup->totalCount);
|
||||
}
|
||||
if ((!outputMessageCount || appSettings->notificationAlwaysShowPreview()) && !messageIsEmpty) {
|
||||
LOG("Group" << notificationGroup->notificationGroupId << "has 1 notification");
|
||||
if (outputMessageCount) {
|
||||
notificationBody += "; ";
|
||||
}
|
||||
if (chatInformation && (chatInformation->type == TDLibWrapper::ChatTypeBasicGroup ||
|
||||
(chatInformation->type == TDLibWrapper::ChatTypeSupergroup && !chatInformation->isChannel))) {
|
||||
// Add author
|
||||
|
@ -352,15 +362,9 @@ void NotificationManager::publishNotification(const NotificationGroup *notificat
|
|||
} else {
|
||||
fullName = FernschreiberUtils::getUserName(tdLibWrapper->getUserInformation(senderInformation.value(USER_ID).toString()));
|
||||
}
|
||||
|
||||
notificationBody = notificationBody + fullName.trimmed() + ": ";
|
||||
notificationBody += fullName.trimmed() + ": ";
|
||||
}
|
||||
notificationBody += FernschreiberUtils::getMessageShortText(tdLibWrapper, messageMap.value(CONTENT).toMap(), (chatInformation ? chatInformation->isChannel : false), tdLibWrapper->getUserInformation().value(ID).toLongLong(), senderInformation );
|
||||
nemoNotification->setBody(notificationBody);
|
||||
} else {
|
||||
// Either we have more than one notification or we have no content to display
|
||||
LOG("Group" << notificationGroup->notificationGroupId << "has" << notificationGroup->totalCount << "notifications");
|
||||
notificationBody = tr("%Ln unread messages", "", notificationGroup->totalCount);
|
||||
}
|
||||
|
||||
const QString summary(chatInformation ? chatInformation->title : QString());
|
||||
|
|
|
@ -1582,6 +1582,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>Wenn Töne eingeschaltet sind, wird Fernschreiber den aktuellen Sailfish OS-Hinweiston für Chats verwenden, der in den Systemeinstellungen konfiguriert werden kann.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation>Immer bei Hinweisen die Nachricht ausgeben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation>Zusätzlich zur Anzahl der ungelesenen Nachrichten wird immer die neuste Nachricht an Hinweise angefügt.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1584,6 +1584,14 @@ messages</numerusform>
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation>Always append message preview to notifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1582,6 +1582,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>Cuando los sonidos están habilitados, Fernschreiber utilizará el sonido de notificación actual de Sailfish OS para los grupos, que se puede configurar en la configuración del sistema.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1583,6 +1583,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>Kun äänet ovat käytössä, Fernschreiber käyttää Sailfish OS:n ilmoitusääniä keskusteluille, jotia voit muuttaa järjestelmäasetuksista.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1582,6 +1582,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>Lorsque le son est activé, Fernschreiber utilisera le réglage de Sailfish OS. Celui-ci est paramétrable depuis les paramètres du système.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1555,6 +1555,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1582,6 +1582,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>Quando i suoni di notifica sono attivi, Fernschreiber utilizza l'attuale suono di notifica per i messaggi scelto per Sailfish OS, il quale può essere modificato dalle impostazioni di sistema.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1609,6 +1609,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>Gdy dźwięki są włączone, Fernschreiber użyje bieżącego dźwięku powiadomienia Sailfish OS do czatów, które można skonfigurować w ustawieniach systemu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1612,6 +1612,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>Если звуки разрешены, Fernschreiber использует звук, выбранный для чатов в настройках Sailfish OS.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1609,6 +1609,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>Keď sú povolené zvukové oznamy, Fernschreiber použije aktuálne zvukové oznamy Sailfish OS pre čety, ktoré môžu byť upravené v nastaveniach systému.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1582,6 +1582,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>När ljud är aktiverat, använder Fernschreiber aktuell Sailfish-signal för chatt-avisering, vilken kan ställas in i systemets ljudinställningar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1556,6 +1556,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation>如果开启声音,Fernschreiber 会采用当前旗鱼系统通知声音作为对话通知声音,你可以在系统设置进行配置。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
|
@ -1582,6 +1582,14 @@
|
|||
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always append message preview to notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
|
|
Loading…
Reference in a new issue