Merge remote-tracking branch 'origin/master' into release-prep-0.7.1

This commit is contained in:
Joseph Donofry 2020-04-23 19:22:54 -04:00
commit 619d9bc185
23 changed files with 197 additions and 86 deletions

4
.gitignore vendored
View File

@ -6,6 +6,7 @@ cscope*
/.ccls-cache /.ccls-cache
/.exrc /.exrc
.gdb_history .gdb_history
.hunter
# GTAGS # GTAGS
GTAGS GTAGS
@ -70,7 +71,8 @@ install_manifest.txt
.LSOverride .LSOverride
# Icon must end with two \r # Icon must end with two \r
Icon Icon
# Thumbnails # Thumbnails
._* ._*

View File

@ -10,8 +10,9 @@
- Fix display of images sent by the user (thank you, wnereiz and not-chicken for reporting) - Fix display of images sent by the user (thank you, wnereiz and not-chicken for reporting)
- Fix crash when trying to maximize image, that wasn't downloaded yet. - Fix crash when trying to maximize image, that wasn't downloaded yet.
- Fix Binding restorMode flooding logs on Qt 5.14.2+ - Fix Binding restoreMode flooding logs on Qt 5.14.2+
- Fix with some qml styles hidden menu items leave empty space - Fix with some qml styles hidden menu items leave empty space
- Fix encrypted messages not showing a user in the sidebar
- Fix hangs when generating colors with some system theme color schemes (#172) - Fix hangs when generating colors with some system theme color schemes (#172)
## [0.7.0] -- 2020-04-19 ## [0.7.0] -- 2020-04-19

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation>-- Entschlüsselungsfehler (Fehler bei Kommunikation mit Datenbank) --</translation> <translation>-- Entschlüsselungsfehler (Fehler bei Kommunikation mit Datenbank) --</translation>
@ -779,7 +779,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Ins Benachrichtigungsfeld minimieren</translation> <translation>Ins Benachrichtigungsfeld minimieren</translation>
</message> </message>
@ -800,6 +800,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation>Entschlüssele Nachrichten in der Raumliste</translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -859,7 +864,7 @@
<translation>Gerätefingerabdruck</translation> <translation>Gerätefingerabdruck</translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation>Sitzungsschlüssel</translation> <translation>Sitzungsschlüssel</translation>
</message> </message>
@ -879,22 +884,22 @@
<translation>VERSCHLÜSSELUNG</translation> <translation>VERSCHLÜSSELUNG</translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation>ALLGEMEINES</translation> <translation>ALLGEMEINES</translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation>Emojischriftart</translation> <translation>Emojischriftart</translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation>Öffne Sessions Datei</translation> <translation>Öffne Sessions Datei</translation>
</message> </message>

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -779,7 +779,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Ελαχιστοποίηση</translation> <translation>Ελαχιστοποίηση</translation>
</message> </message>
@ -800,6 +800,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -859,7 +864,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -879,22 +884,22 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation>ΓΕΝΙΚΑ</translation> <translation>ΓΕΝΙΚΑ</translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation>-- Decryption Error (failed to communicate with DB) --</translation> <translation>-- Decryption Error (failed to communicate with DB) --</translation>
@ -779,7 +779,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Minimize to tray</translation> <translation>Minimize to tray</translation>
</message> </message>
@ -800,6 +800,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation>Show buttons in timeline</translation> <translation>Show buttons in timeline</translation>
</message> </message>
@ -859,7 +864,7 @@
<translation>Device Fingerprint</translation> <translation>Device Fingerprint</translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation>Session Keys</translation> <translation>Session Keys</translation>
</message> </message>
@ -879,22 +884,22 @@
<translation>ENCRYPTION</translation> <translation>ENCRYPTION</translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation>GENERAL</translation> <translation>GENERAL</translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation>INTERFACE</translation> <translation>INTERFACE</translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation>Emoji Font Family</translation> <translation>Emoji Font Family</translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation>Open Sessions File</translation> <translation>Open Sessions File</translation>
</message> </message>

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished">-- Virhe purkaessa salausta (tietokannan kanssa kommunikointi epäonnistui) --</translation> <translation type="unfinished">-- Virhe purkaessa salausta (tietokannan kanssa kommunikointi epäonnistui) --</translation>
@ -779,7 +779,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Pienennä ilmoitusalueelle</translation> <translation>Pienennä ilmoitusalueelle</translation>
</message> </message>
@ -800,6 +800,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -859,7 +864,7 @@
<translation>Laitteen sormenjälki</translation> <translation>Laitteen sormenjälki</translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation>Istunnon avaimet</translation> <translation>Istunnon avaimet</translation>
</message> </message>
@ -879,22 +884,22 @@
<translation>SALAUS</translation> <translation>SALAUS</translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation>YLEISET ASETUKSET</translation> <translation>YLEISET ASETUKSET</translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation>Avaa Istuntoavaintiedosto</translation> <translation>Avaa Istuntoavaintiedosto</translation>
</message> </message>

View File

@ -472,7 +472,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -780,7 +780,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Réduire à la barre des tâches</translation> <translation>Réduire à la barre des tâches</translation>
</message> </message>
@ -801,6 +801,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -860,7 +865,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -880,22 +885,22 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation>GÉNÉRAL</translation> <translation>GÉNÉRAL</translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation>-- () --</translation> <translation>-- () --</translation>
@ -778,7 +778,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation></translation> <translation></translation>
</message> </message>
@ -799,6 +799,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -858,7 +863,7 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation></translation> <translation></translation>
</message> </message>
@ -878,22 +883,22 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation></translation> <translation></translation>
</message> </message>

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -779,7 +779,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Minimaliseren naar systeemvak</translation> <translation>Minimaliseren naar systeemvak</translation>
</message> </message>
@ -800,6 +800,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -859,7 +864,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -879,22 +884,22 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation>ALGEMEEN</translation> <translation>ALGEMEEN</translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -780,7 +780,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Zminimalizuj do paska zadań</translation> <translation>Zminimalizuj do paska zadań</translation>
</message> </message>
@ -801,6 +801,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -860,7 +865,7 @@
<translation>Odcisk palca urządzenia</translation> <translation>Odcisk palca urządzenia</translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -880,22 +885,22 @@
<translation>SZYFROWANIE</translation> <translation>SZYFROWANIE</translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation>OGÓLNE</translation> <translation>OGÓLNE</translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -780,7 +780,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Сворачивать в системную панель</translation> <translation>Сворачивать в системную панель</translation>
</message> </message>
@ -801,6 +801,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -860,7 +865,7 @@
<translation>Отпечаток устройства</translation> <translation>Отпечаток устройства</translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation>Ключи сеанса</translation> <translation>Ключи сеанса</translation>
</message> </message>
@ -880,22 +885,22 @@
<translation>ШИФРОВАНИЕ</translation> <translation>ШИФРОВАНИЕ</translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation>ГЛАВНОЕ</translation> <translation>ГЛАВНОЕ</translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation>Открыть файл сеансов</translation> <translation>Открыть файл сеансов</translation>
</message> </message>

View File

@ -471,7 +471,7 @@
<context> <context>
<name>TimelineModel</name> <name>TimelineModel</name>
<message> <message>
<location filename="../../src/timeline/TimelineModel.cpp" line="+754"/> <location filename="../../src/timeline/TimelineModel.cpp" line="+766"/>
<source>-- Decryption Error (failed to communicate with DB) --</source> <source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment> <comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -778,7 +778,7 @@
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cpp" line="+333"/> <location filename="../../src/UserSettingsPage.cpp" line="+335"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation></translation> <translation></translation>
</message> </message>
@ -799,6 +799,11 @@
</message> </message>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Decrypt messages in sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Show buttons in timeline</source> <source>Show buttons in timeline</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -858,7 +863,7 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location line="-58"/> <location line="-59"/>
<source>Session Keys</source> <source>Session Keys</source>
<translation></translation> <translation></translation>
</message> </message>
@ -878,22 +883,22 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location line="-62"/> <location line="-63"/>
<source>GENERAL</source> <source>GENERAL</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location line="+24"/> <location line="+25"/>
<source>INTERFACE</source> <source>INTERFACE</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+107"/> <location line="+108"/>
<source>Emoji Font Family</source> <source>Emoji Font Family</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+158"/>
<source>Open Sessions File</source> <source>Open Sessions File</source>
<translation></translation> <translation></translation>
</message> </message>

View File

@ -153,6 +153,7 @@ signals:
void updateGroupsInfo(const mtx::responses::JoinedGroups &groups); void updateGroupsInfo(const mtx::responses::JoinedGroups &groups);
void themeChanged(); void themeChanged();
void decryptSidebarChanged();
private slots: private slots:
void showUnreadMessageNotification(int count); void showUnreadMessageNotification(int count);

View File

@ -117,6 +117,10 @@ MainWindow::MainWindow(QWidget *parent)
userSettingsPage_, SIGNAL(trayOptionChanged(bool)), trayIcon_, SLOT(setVisible(bool))); userSettingsPage_, SIGNAL(trayOptionChanged(bool)), trayIcon_, SLOT(setVisible(bool)));
connect( connect(
userSettingsPage_, &UserSettingsPage::themeChanged, chat_page_, &ChatPage::themeChanged); userSettingsPage_, &UserSettingsPage::themeChanged, chat_page_, &ChatPage::themeChanged);
connect(userSettingsPage_,
&UserSettingsPage::decryptSidebarChanged,
chat_page_,
&ChatPage::decryptSidebarChanged);
connect(trayIcon_, connect(trayIcon_,
SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, this,

View File

@ -184,7 +184,7 @@ encrypt_group_message(const std::string &room_id, const std::string &device_id,
data.relates_to = relation; data.relates_to = relation;
auto message_index = olm_outbound_group_session_message_index(res.session); auto message_index = olm_outbound_group_session_message_index(res.session);
nhlog::crypto()->info("next message_index {}", message_index); nhlog::crypto()->debug("next message_index {}", message_index);
// We need to re-pickle the session after we send a message to save the new message_index. // We need to re-pickle the session after we send a message to save the new message_index.
cache::updateOutboundMegolmSession(room_id, message_index); cache::updateOutboundMegolmSession(room_id, message_index);

View File

@ -63,6 +63,7 @@ UserSettings::load()
theme_ = settings.value("user/theme", defaultTheme_).toString(); theme_ = settings.value("user/theme", defaultTheme_).toString();
font_ = settings.value("user/font_family", "default").toString(); font_ = settings.value("user/font_family", "default").toString();
avatarCircles_ = settings.value("user/avatar_circles", true).toBool(); avatarCircles_ = settings.value("user/avatar_circles", true).toBool();
decryptSidebar_ = settings.value("user/decrypt_sidebar", true).toBool();
emojiFont_ = settings.value("user/emoji_font_family", "default").toString(); emojiFont_ = settings.value("user/emoji_font_family", "default").toString();
baseFontSize_ = settings.value("user/font_size", QFont().pointSizeF()).toDouble(); baseFontSize_ = settings.value("user/font_size", QFont().pointSizeF()).toDouble();
@ -167,7 +168,7 @@ UserSettings::save()
settings.endGroup(); settings.endGroup();
settings.setValue("avatar_circles", avatarCircles_); settings.setValue("avatar_circles", avatarCircles_);
settings.setValue("decrypt_sidebar", decryptSidebar_);
settings.setValue("font_size", baseFontSize_); settings.setValue("font_size", baseFontSize_);
settings.setValue("typing_notifications", isTypingNotificationsEnabled_); settings.setValue("typing_notifications", isTypingNotificationsEnabled_);
settings.setValue("minor_events", sortByImportance_); settings.setValue("minor_events", sortByImportance_);
@ -230,6 +231,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
trayToggle_ = new Toggle{this}; trayToggle_ = new Toggle{this};
startInTrayToggle_ = new Toggle{this}; startInTrayToggle_ = new Toggle{this};
avatarCircles_ = new Toggle{this}; avatarCircles_ = new Toggle{this};
decryptSidebar_ = new Toggle(this);
groupViewToggle_ = new Toggle{this}; groupViewToggle_ = new Toggle{this};
timelineButtonsToggle_ = new Toggle{this}; timelineButtonsToggle_ = new Toggle{this};
typingNotifications_ = new Toggle{this}; typingNotifications_ = new Toggle{this};
@ -335,6 +337,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
formLayout_->addRow(new HorizontalLine{this}); formLayout_->addRow(new HorizontalLine{this});
boxWrap(tr("Circular Avatars"), avatarCircles_); boxWrap(tr("Circular Avatars"), avatarCircles_);
boxWrap(tr("Group's sidebar"), groupViewToggle_); boxWrap(tr("Group's sidebar"), groupViewToggle_);
boxWrap(tr("Decrypt messages in sidebar"), decryptSidebar_);
boxWrap(tr("Show buttons in timeline"), timelineButtonsToggle_); boxWrap(tr("Show buttons in timeline"), timelineButtonsToggle_);
boxWrap(tr("Typing notifications"), typingNotifications_); boxWrap(tr("Typing notifications"), typingNotifications_);
boxWrap(tr("Sort rooms by unreads"), sortByImportance_); boxWrap(tr("Sort rooms by unreads"), sortByImportance_);
@ -427,6 +430,11 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
settings_->setGroupView(!isDisabled); settings_->setGroupView(!isDisabled);
}); });
connect(decryptSidebar_, &Toggle::toggled, this, [this](bool isDisabled) {
settings_->setDecryptSidebar(!isDisabled);
emit decryptSidebarChanged();
});
connect(avatarCircles_, &Toggle::toggled, this, [this](bool isDisabled) { connect(avatarCircles_, &Toggle::toggled, this, [this](bool isDisabled) {
settings_->setAvatarCircles(!isDisabled); settings_->setAvatarCircles(!isDisabled);
}); });
@ -479,6 +487,7 @@ UserSettingsPage::showEvent(QShowEvent *)
trayToggle_->setState(!settings_->isTrayEnabled()); trayToggle_->setState(!settings_->isTrayEnabled());
startInTrayToggle_->setState(!settings_->isStartInTrayEnabled()); startInTrayToggle_->setState(!settings_->isStartInTrayEnabled());
groupViewToggle_->setState(!settings_->isGroupViewEnabled()); groupViewToggle_->setState(!settings_->isGroupViewEnabled());
decryptSidebar_->setState(!settings_->isDecryptSidebarEnabled());
avatarCircles_->setState(!settings_->isAvatarCirclesEnabled()); avatarCircles_->setState(!settings_->isAvatarCirclesEnabled());
typingNotifications_->setState(!settings_->isTypingNotificationsEnabled()); typingNotifications_->setState(!settings_->isTypingNotificationsEnabled());
sortByImportance_->setState(!settings_->isSortByImportanceEnabled()); sortByImportance_->setState(!settings_->isSortByImportanceEnabled());

View File

@ -111,11 +111,18 @@ public:
save(); save();
} }
void setDecryptSidebar(bool state)
{
decryptSidebar_ = state;
save();
}
QString theme() const { return !theme_.isEmpty() ? theme_ : defaultTheme_; } QString theme() const { return !theme_.isEmpty() ? theme_ : defaultTheme_; }
bool isTrayEnabled() const { return isTrayEnabled_; } bool isTrayEnabled() const { return isTrayEnabled_; }
bool isStartInTrayEnabled() const { return isStartInTrayEnabled_; } bool isStartInTrayEnabled() const { return isStartInTrayEnabled_; }
bool isGroupViewEnabled() const { return isGroupViewEnabled_; } bool isGroupViewEnabled() const { return isGroupViewEnabled_; }
bool isAvatarCirclesEnabled() const { return avatarCircles_; } bool isAvatarCirclesEnabled() const { return avatarCircles_; }
bool isDecryptSidebarEnabled() const { return decryptSidebar_; }
bool isMarkdownEnabled() const { return isMarkdownEnabled_; } bool isMarkdownEnabled() const { return isMarkdownEnabled_; }
bool isTypingNotificationsEnabled() const { return isTypingNotificationsEnabled_; } bool isTypingNotificationsEnabled() const { return isTypingNotificationsEnabled_; }
bool isSortByImportanceEnabled() const { return sortByImportance_; } bool isSortByImportanceEnabled() const { return sortByImportance_; }
@ -147,6 +154,7 @@ private:
bool isReadReceiptsEnabled_; bool isReadReceiptsEnabled_;
bool hasDesktopNotifications_; bool hasDesktopNotifications_;
bool avatarCircles_; bool avatarCircles_;
bool decryptSidebar_;
double baseFontSize_; double baseFontSize_;
QString font_; QString font_;
QString emojiFont_; QString emojiFont_;
@ -175,6 +183,7 @@ signals:
void moveBack(); void moveBack();
void trayOptionChanged(bool value); void trayOptionChanged(bool value);
void themeChanged(); void themeChanged();
void decryptSidebarChanged();
private slots: private slots:
void importSessionKeys(); void importSessionKeys();
@ -199,6 +208,7 @@ private:
Toggle *markdownEnabled_; Toggle *markdownEnabled_;
Toggle *desktopNotifications_; Toggle *desktopNotifications_;
Toggle *avatarCircles_; Toggle *avatarCircles_;
Toggle *decryptSidebar_;
QLabel *deviceFingerprintValue_; QLabel *deviceFingerprintValue_;
QLabel *deviceIdValue_; QLabel *deviceIdValue_;

View File

@ -179,8 +179,9 @@ utils::getMessageDescription(const TimelineEvent &event,
const auto ts = QDateTime::fromMSecsSinceEpoch(msg->origin_server_ts); const auto ts = QDateTime::fromMSecsSinceEpoch(msg->origin_server_ts);
DescInfo info; DescInfo info;
info.userid = sender; info.userid = sender;
info.body = QString(" %1").arg(messageDescription<Encrypted>()); info.body = QString(" %1").arg(
messageDescription<Encrypted>(username, "", sender == localUser));
info.timestamp = utils::descriptiveTime(ts); info.timestamp = utils::descriptiveTime(ts);
info.event_id = QString::fromStdString(msg->event_id); info.event_id = QString::fromStdString(msg->event_id);
info.datetime = ts; info.datetime = ts;

View File

@ -306,5 +306,4 @@ centerWidget(QWidget *widget, QWidget *parent);
void void
restoreCombobox(QComboBox *combo, const QString &value); restoreCombobox(QComboBox *combo, const QString &value);
} }

View File

@ -8,6 +8,7 @@
#include <QFileDialog> #include <QFileDialog>
#include <QMimeDatabase> #include <QMimeDatabase>
#include <QRegularExpression> #include <QRegularExpression>
#include <QSettings>
#include <QStandardPaths> #include <QStandardPaths>
#include "ChatPage.h" #include "ChatPage.h"
@ -476,14 +477,14 @@ TimelineModel::addEvents(const mtx::responses::Timeline &timeline)
std::vector<QString> ids = internalAddEvents(timeline.events); std::vector<QString> ids = internalAddEvents(timeline.events);
if (ids.empty()) if (!ids.empty()) {
return; beginInsertRows(QModelIndex(), 0, static_cast<int>(ids.size() - 1));
this->eventOrder.insert(this->eventOrder.begin(), ids.rbegin(), ids.rend());
endInsertRows();
}
beginInsertRows(QModelIndex(), 0, static_cast<int>(ids.size() - 1)); if (!timeline.events.empty())
this->eventOrder.insert(this->eventOrder.begin(), ids.rbegin(), ids.rend()); updateLastMessage();
endInsertRows();
updateLastMessage();
} }
template<typename T> template<typename T>
@ -501,6 +502,13 @@ isMessage(const mtx::events::Event<T> &)
return false; return false;
} }
template<typename T>
auto
isMessage(const mtx::events::EncryptedEvent<T> &)
{
return true;
}
void void
TimelineModel::updateLastMessage() TimelineModel::updateLastMessage()
{ {
@ -508,7 +516,9 @@ TimelineModel::updateLastMessage()
auto event = events.value(*it); auto event = events.value(*it);
if (auto e = std::get_if<mtx::events::EncryptedEvent<mtx::events::msg::Encrypted>>( if (auto e = std::get_if<mtx::events::EncryptedEvent<mtx::events::msg::Encrypted>>(
&event)) { &event)) {
event = decryptEvent(*e).event; if (decryptDescription) {
event = decryptEvent(*e).event;
}
} }
if (!std::visit([](const auto &e) -> bool { return isMessage(e); }, event)) if (!std::visit([](const auto &e) -> bool { return isMessage(e); }, event))

View File

@ -189,6 +189,7 @@ public:
Q_INVOKABLE void cacheMedia(QString eventId); Q_INVOKABLE void cacheMedia(QString eventId);
Q_INVOKABLE bool saveMedia(QString eventId) const; Q_INVOKABLE bool saveMedia(QString eventId) const;
void updateLastMessage();
void addEvents(const mtx::responses::Timeline &events); void addEvents(const mtx::responses::Timeline &events);
template<class T> template<class T>
void sendMessage(const T &msg); void sendMessage(const T &msg);
@ -223,6 +224,7 @@ public slots:
emit replyChanged(reply_); emit replyChanged(reply_);
} }
} }
void setDecryptDescription(bool decrypt) { decryptDescription = decrypt; }
private slots: private slots:
// Add old events at the top of the timeline. // Add old events at the top of the timeline.
@ -257,7 +259,6 @@ private:
const std::string &user_id, const std::string &user_id,
const mtx::responses::ClaimKeys &res, const mtx::responses::ClaimKeys &res,
mtx::http::RequestErr err); mtx::http::RequestErr err);
void updateLastMessage();
void readEvent(const std::string &id); void readEvent(const std::string &id);
QHash<QString, mtx::events::collections::TimelineEvents> events; QHash<QString, mtx::events::collections::TimelineEvents> events;
@ -270,6 +271,7 @@ private:
bool isInitialSync = true; bool isInitialSync = true;
bool paginationInProgress = false; bool paginationInProgress = false;
bool decryptDescription = true;
QString currentId; QString currentId;
QString reply_; QString reply_;

View File

@ -16,6 +16,21 @@
Q_DECLARE_METATYPE(mtx::events::collections::TimelineEvents) Q_DECLARE_METATYPE(mtx::events::collections::TimelineEvents)
void
TimelineViewManager::updateEncryptedDescriptions()
{
auto decrypt = settings->isDecryptSidebarEnabled();
QHash<QString, QSharedPointer<TimelineModel>>::iterator i;
for (i = models.begin(); i != models.end(); ++i) {
auto ptr = i.value();
if (!ptr.isNull()) {
ptr->setDecryptDescription(decrypt);
ptr->updateLastMessage();
}
}
}
void void
TimelineViewManager::updateColorPalette() TimelineViewManager::updateColorPalette()
{ {
@ -83,6 +98,10 @@ TimelineViewManager::TimelineViewManager(QSharedPointer<UserSettings> userSettin
&ChatPage::themeChanged, &ChatPage::themeChanged,
this, this,
&TimelineViewManager::updateColorPalette); &TimelineViewManager::updateColorPalette);
connect(dynamic_cast<ChatPage *>(parent),
&ChatPage::decryptSidebarChanged,
this,
&TimelineViewManager::updateEncryptedDescriptions);
} }
void void
@ -114,6 +133,8 @@ TimelineViewManager::addRoom(const QString &room_id)
{ {
if (!models.contains(room_id)) { if (!models.contains(room_id)) {
QSharedPointer<TimelineModel> newRoom(new TimelineModel(this, room_id)); QSharedPointer<TimelineModel> newRoom(new TimelineModel(this, room_id));
newRoom->setDecryptDescription(settings->isDecryptSidebarEnabled());
connect(newRoom.data(), connect(newRoom.data(),
&TimelineModel::newEncryptedImage, &TimelineModel::newEncryptedImage,
imgProvider, imgProvider,

View File

@ -84,6 +84,7 @@ public slots:
const QString &url, const QString &url,
const QString &mime, const QString &mime,
uint64_t dsize); uint64_t dsize);
void updateEncryptedDescriptions();
private: private:
#ifdef USE_QUICK_VIEW #ifdef USE_QUICK_VIEW