diff --git a/resources/langs/nheko_de.ts b/resources/langs/nheko_de.ts index cfc58189815e6e8e1e49cef4e205a61b47f6a4fc..ce42242ef76ef3d45c9adfc50be5f8b6ceb4947f 100644 --- a/resources/langs/nheko_de.ts +++ b/resources/langs/nheko_de.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>Raum verlassen</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>Akzeptieren</translation> </message> @@ -491,7 +491,13 @@ <translation>-- Entschlüsselungsfehler (Fehler bei Suche nach megolm Schlüsseln in Datenbank) --</translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished">-- Entschlüsselungsfehler (%1) --</translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation>Nachricht zurückziehen fehlgeschlagen: %1</translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished">-- Verschlüsseltes Event (keine Schlüssel zur Entschlüsselung gefunden) --</translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished">-- Entschlüsselungsfehler (%1) --</translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished">-- Verschlüsseltes Event (Unbekannter Eventtyp) --</translation> @@ -782,7 +782,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>Ins Benachrichtigungsfeld minimieren</translation> </message> @@ -811,6 +811,11 @@ <source>Typing notifications</source> <translation>Schreibbenachrichtigungen</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -857,7 +862,7 @@ <translation>Gerätefingerabdruck</translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation>Sitzungsschlüssel</translation> </message> @@ -877,22 +882,22 @@ <translation>VERSCHLÃœSSELUNG</translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>ALLGEMEINES</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation>Öffne Sessions Datei</translation> </message> diff --git a/resources/langs/nheko_el.ts b/resources/langs/nheko_el.ts index 0d374cf55bdbc9f0d39a2093b0c0584ae99b4f76..3629729881ec787294405fb4d41a4000e56116d4 100644 --- a/resources/langs/nheko_el.ts +++ b/resources/langs/nheko_el.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>ΒγÎÏ‚</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>Αποδοχή</translation> </message> @@ -491,7 +491,13 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished"></translation> @@ -782,7 +782,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>Ελαχιστοποίηση</translation> </message> @@ -811,6 +811,11 @@ <source>Typing notifications</source> <translation type="unfinished"></translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -857,7 +862,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation type="unfinished"></translation> </message> @@ -877,22 +882,22 @@ <translation type="unfinished"></translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>ΓΕÎΙΚΑ</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation type="unfinished"></translation> </message> diff --git a/resources/langs/nheko_en.ts b/resources/langs/nheko_en.ts index c97a4ac200bf00c75659d75dc8f1a664dee2495d..a712d979828fb51eaf9b7a915f5cc322cedbaacf 100644 --- a/resources/langs/nheko_en.ts +++ b/resources/langs/nheko_en.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>Leave room</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>Accept</translation> </message> @@ -491,7 +491,13 @@ <translation>-- Decryption Error (failed to retrieve megolm keys from db) --</translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished">-- Decryption Error (%1) --</translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation>Message redaction failed: %1</translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished">-- Encrypted Event (No keys found for decryption) --</translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished">-- Decryption Error (%1) --</translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished">-- Encrypted Event (Unknown event type) --</translation> @@ -782,7 +782,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>Minimize to tray</translation> </message> @@ -811,6 +811,11 @@ <source>Typing notifications</source> <translation>Typing notifications</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -857,7 +862,7 @@ <translation>Device Fingerprint</translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation>Session Keys</translation> </message> @@ -877,22 +882,22 @@ <translation>ENCRYPTION</translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>GENERAL</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation>Open Sessions File</translation> </message> diff --git a/resources/langs/nheko_fi.ts b/resources/langs/nheko_fi.ts index 8659d560a089eff53e32ad8588c7069f79a844dc..08137a43dc11004a6bc23871f3f0028d743ec70e 100644 --- a/resources/langs/nheko_fi.ts +++ b/resources/langs/nheko_fi.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>Poistu huoneesta</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>Hyväksy</translation> </message> @@ -491,7 +491,13 @@ <translation type="unfinished">-- Virhe purkaessa salausta (megolm-avaimien hakeminen tietokannasta epäonnistui) --</translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished">-- Virhe purkaessa salausta (%1) --</translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation type="unfinished">Viestin poisto epäonnistui: %1</translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished">-- Salattu viesti (salauksen purkuavaimia ei löydetty) --</translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished">-- Virhe purkaessa salausta (%1) --</translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished">-- Salattu viesti (tuntematon viestityyppi) --</translation> @@ -782,7 +782,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>Pienennä ilmoitusalueelle</translation> </message> @@ -811,6 +811,11 @@ <source>Typing notifications</source> <translation>Kirjoitusilmoitukset</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -857,7 +862,7 @@ <translation>Laitteen sormenjälki</translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation>Istunnon avaimet</translation> </message> @@ -877,22 +882,22 @@ <translation>SALAUS</translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>YLEISET ASETUKSET</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation>Avaa Istuntoavaintiedosto</translation> </message> diff --git a/resources/langs/nheko_fr.ts b/resources/langs/nheko_fr.ts index 6efe82523e4547cc0df0ebabfe2a936cbd58c661..eb8354105dd60e888c6ab3810feeed66d7ead09e 100644 --- a/resources/langs/nheko_fr.ts +++ b/resources/langs/nheko_fr.ts @@ -372,12 +372,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>Quitter le salon</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>Accepter</translation> </message> @@ -492,7 +492,13 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -523,13 +529,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished"></translation> @@ -783,7 +783,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>Réduire à la barre des tâches</translation> </message> @@ -812,6 +812,11 @@ <source>Typing notifications</source> <translation>Notifications d'écriture</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -858,7 +863,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation type="unfinished"></translation> </message> @@ -878,22 +883,22 @@ <translation type="unfinished"></translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>GÉNÉRAL</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation type="unfinished"></translation> </message> diff --git a/resources/langs/nheko_ja.ts b/resources/langs/nheko_ja.ts index 05528a42e459967b734ef5dd9b33a0c604c81ea1..bdde216d0f018f8f73076ee868f0a8dc58e9addc 100644 --- a/resources/langs/nheko_ja.ts +++ b/resources/langs/nheko_ja.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>部屋を出る</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>容èª</translation> </message> @@ -491,7 +491,13 @@ <translation>-- 復å·ã‚¨ãƒ©ãƒ¼ (データベースã‹ã‚‰megolméµã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ) --</translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished">-- 復å·ã‚¨ãƒ©ãƒ¼ (%1) --</translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation>メッセージを編集ã§ãã¾ã›ã‚“ã§ã—ãŸ: %1</translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished">-- æš—å·åŒ–イベント (復å·éµãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“) --</translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished">-- 復å·ã‚¨ãƒ©ãƒ¼ (%1) --</translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished">-- æš—å·åŒ–イベント (ä¸æ˜Žãªã‚¤ãƒ™ãƒ³ãƒˆåž‹ã§ã™) --</translation> @@ -781,7 +781,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>トレイã¸æœ€å°åŒ–</translation> </message> @@ -810,6 +810,11 @@ <source>Typing notifications</source> <translation>入力状態ã®é€šçŸ¥</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -856,7 +861,7 @@ <translation>デãƒã‚¤ã‚¹ã®æŒ‡ç´‹</translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation>セッションéµ</translation> </message> @@ -876,22 +881,22 @@ <translation>æš—å·åŒ–</translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>全般</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation>セッションファイルを開ã</translation> </message> diff --git a/resources/langs/nheko_nl.ts b/resources/langs/nheko_nl.ts index 79e827146de4ecb51b514628d2868ce9f12012c5..906b28197c0201b0c11842992a1c5db0ab61ca89 100644 --- a/resources/langs/nheko_nl.ts +++ b/resources/langs/nheko_nl.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>Kamer verlaten</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>Accepteren</translation> </message> @@ -491,7 +491,13 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished"></translation> @@ -782,7 +782,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>Minimaliseren naar systeemvak</translation> </message> @@ -811,6 +811,11 @@ <source>Typing notifications</source> <translation>Meldingen bij typen van berichten</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -857,7 +862,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation type="unfinished"></translation> </message> @@ -877,22 +882,22 @@ <translation type="unfinished"></translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>ALGEMEEN</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation type="unfinished"></translation> </message> diff --git a/resources/langs/nheko_pl.ts b/resources/langs/nheko_pl.ts index 774868dbc0981afeee9ed1e28d782853c5f07107..44dbb0e181b17518fd670325cdb305923cfe5ddb 100644 --- a/resources/langs/nheko_pl.ts +++ b/resources/langs/nheko_pl.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>Opuść pokój</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>Akceptuj</translation> </message> @@ -491,7 +491,13 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation type="unfinished">Redagowanie wiadomoÅ›ci nie powiodÅ‚o siÄ™: %1</translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished"></translation> @@ -783,7 +783,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>Zminimalizuj do paska zadaÅ„</translation> </message> @@ -812,6 +812,11 @@ <source>Typing notifications</source> <translation>Powiadomienia o pisaniu</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -858,7 +863,7 @@ <translation>Odcisk palca urzÄ…dzenia</translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation type="unfinished"></translation> </message> @@ -878,22 +883,22 @@ <translation>SZYFROWANIE</translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>OGÓLNE</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation type="unfinished"></translation> </message> diff --git a/resources/langs/nheko_ru.ts b/resources/langs/nheko_ru.ts index 0dce43f5942e3c1248fe75e5d525e9469b824a10..5753cc6f021831059f9210e89e6434a17dac20c8 100644 --- a/resources/langs/nheko_ru.ts +++ b/resources/langs/nheko_ru.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>Покинуть комнату</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>ПринÑÑ‚ÑŒ</translation> </message> @@ -491,7 +491,13 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation type="unfinished">Ошибка Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑообщениÑ: %1</translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished"></translation> @@ -783,7 +783,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>Сворачивать в ÑиÑтемную панель</translation> </message> @@ -812,6 +812,11 @@ <source>Typing notifications</source> <translation>Сообщать о наборе ÑообщениÑ</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -858,7 +863,7 @@ <translation>Отпечаток уÑтройÑтва</translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation>Ключи ÑеанÑа</translation> </message> @@ -878,22 +883,22 @@ <translation>ШИФРОВÐÐИЕ</translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>ГЛÐÐ’ÐОЕ</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation>Открыть файл ÑеанÑов</translation> </message> diff --git a/resources/langs/nheko_zh_CN.ts b/resources/langs/nheko_zh_CN.ts index 8bd4c750b4ae0409cacf3d8a914c9f901a24fd17..cd8261233402463bab76344633bcd90dde693bad 100644 --- a/resources/langs/nheko_zh_CN.ts +++ b/resources/langs/nheko_zh_CN.ts @@ -371,12 +371,12 @@ <context> <name>RoomInfoListItem</name> <message> - <location filename="../../src/RoomInfoListItem.cpp" line="+97"/> + <location filename="../../src/RoomInfoListItem.cpp" line="+98"/> <source>Leave room</source> <translation>离开èŠå¤©å®¤</translation> </message> <message> - <location line="+154"/> + <location line="+158"/> <source>Accept</source> <translation>接å—</translation> </message> @@ -491,7 +491,13 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+88"/> + <location line="+12"/> + <source>-- Decryption Error (%1) --</source> + <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+76"/> <source>Message redaction failed: %1</source> <translation type="unfinished">åˆ é™¤æ¶ˆæ¯å¤±è´¥ï¼š%1</translation> </message> @@ -522,13 +528,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+46"/> - <source>-- Decryption Error (%1) --</source> - <comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> + <location line="+75"/> <source>-- Encrypted Event (Unknown event type) --</source> <comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment> <translation type="unfinished"></translation> @@ -781,7 +781,7 @@ <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+296"/> + <location filename="../../src/UserSettingsPage.cpp" line="+299"/> <source>Minimize to tray</source> <translation>最å°åŒ–至托盘</translation> </message> @@ -810,6 +810,11 @@ <source>Typing notifications</source> <translation>打å—通知</translation> </message> + <message> + <location line="+1"/> + <source>Sort rooms by unreads</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+2"/> <source>Read receipts</source> @@ -856,7 +861,7 @@ <translation>设备指纹</translation> </message> <message> - <location line="-57"/> + <location line="-58"/> <source>Session Keys</source> <translation>会è¯å¯†é’¥</translation> </message> @@ -876,22 +881,22 @@ <translation>åŠ å¯†</translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>GENERAL</source> <translation>通用</translation> </message> <message> - <location line="+23"/> + <location line="+24"/> <source>INTERFACE</source> <translation type="unfinished"></translation> </message> <message> - <location line="+106"/> + <location line="+107"/> <source>Emoji Font Family</source> <translation type="unfinished"></translation> </message> <message> - <location line="+147"/> + <location line="+152"/> <source>Open Sessions File</source> <translation>打开会è¯æ–‡ä»¶</translation> </message> diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index 029444a38e1ded118a89127e019bcc25fcd60a8c..91ecd58a51a234c8c7793863d11cbd969d379b95 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -100,7 +100,7 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) user_info_widget_ = new UserInfoWidget(sideBar_); user_mentions_popup_ = new popups::UserMentions(); - room_list_ = new RoomList(sideBar_); + room_list_ = new RoomList(userSettings, sideBar_); connect(room_list_, &RoomList::joinRoom, this, &ChatPage::joinRoom); sideBarLayout_->addWidget(user_info_widget_); diff --git a/src/RoomInfoListItem.cpp b/src/RoomInfoListItem.cpp index 61fb5e47b165406195dd994db18a5ffa013a9f30..cc5f5776f4ed89b1a018eec6c4e51900127cb4b3 100644 --- a/src/RoomInfoListItem.cpp +++ b/src/RoomInfoListItem.cpp @@ -26,6 +26,7 @@ #include "Config.h" #include "RoomInfoListItem.h" #include "Splitter.h" +#include "UserSettingsPage.h" #include "Utils.h" #include "ui/Menu.h" #include "ui/Ripple.h" @@ -99,7 +100,10 @@ RoomInfoListItem::init(QWidget *parent) menu_->addAction(leaveRoom_); } -RoomInfoListItem::RoomInfoListItem(QString room_id, const RoomInfo &info, QWidget *parent) +RoomInfoListItem::RoomInfoListItem(QString room_id, + const RoomInfo &info, + QSharedPointer<UserSettings> userSettings, + QWidget *parent) : QWidget(parent) , roomType_{info.is_invite ? RoomType::Invited : RoomType::Joined} , roomId_(std::move(room_id)) @@ -107,6 +111,7 @@ RoomInfoListItem::RoomInfoListItem(QString room_id, const RoomInfo &info, QWidge , isPressed_(false) , unreadMsgCount_(0) , unreadHighlightedMsgCount_(0) + , settings(userSettings) { init(parent); } @@ -324,6 +329,34 @@ RoomInfoListItem::updateUnreadMessageCount(int count, int highlightedCount) update(); } +enum NotificationImportance : short +{ + ImportanceDisabled = -1, + AllEventsRead = 0, + NewMessage = 1, + NewMentions = 2, + Invite = 3 +}; + +short int +RoomInfoListItem::calculateImportance() const +{ + // Returns the degree of importance of the unread messages in the room. + // If sorting by importance is disabled in settings, this only ever + // returns ImportanceDisabled or Invite + if (isInvite()) { + return Invite; + } else if (!settings->isSortByImportanceEnabled()) { + return ImportanceDisabled; + } else if (unreadHighlightedMsgCount_) { + return NewMentions; + } else if (unreadMsgCount_) { + return NewMessage; + } else { + return AllEventsRead; + } +} + void RoomInfoListItem::setPressedState(bool state) { diff --git a/src/RoomInfoListItem.h b/src/RoomInfoListItem.h index c1ee533d0e337e12a60e32bf2e364f412f834b38..e609f4d889d3e10aa13c450584ee01be5aa5475c 100644 --- a/src/RoomInfoListItem.h +++ b/src/RoomInfoListItem.h @@ -25,6 +25,7 @@ #include <mtx/responses.hpp> #include "CacheStructs.h" +#include "UserSettingsPage.h" #include "ui/Avatar.h" class Menu; @@ -63,11 +64,16 @@ class RoomInfoListItem : public QWidget Q_PROPERTY(QColor btnTextColor READ btnTextColor WRITE setBtnTextColor) public: - RoomInfoListItem(QString room_id, const RoomInfo &info, QWidget *parent = nullptr); + RoomInfoListItem(QString room_id, + const RoomInfo &info, + QSharedPointer<UserSettings> userSettings, + QWidget *parent = nullptr); void updateUnreadMessageCount(int count, int highlightedCount); void clearUnreadMessageCount() { updateUnreadMessageCount(0, 0); }; + short int calculateImportance() const; + QString roomId() { return roomId_; } bool isPressed() const { return isPressed_; } int unreadMessageCount() const { return unreadMsgCount_; } @@ -128,7 +134,7 @@ public: roomType_ = RoomType::Joined; } - bool isInvite() { return roomType_ == RoomType::Invited; } + bool isInvite() const { return roomType_ == RoomType::Invited; } void setReadState(bool hasUnreadMessages) { if (hasUnreadMessages_ != hasUnreadMessages) { @@ -214,4 +220,6 @@ private: QColor bubbleBgColor_; QColor bubbleFgColor_; + + QSharedPointer<UserSettings> settings; }; diff --git a/src/RoomList.cpp b/src/RoomList.cpp index 6feb4f76671f958ce7b7ab8b9bc8ccfb436568ab..1c7c340d73b8a3f4bb6d6fdcd0d402b50f15a2e3 100644 --- a/src/RoomList.cpp +++ b/src/RoomList.cpp @@ -16,6 +16,7 @@ */ #include <limits> +#include <set> #include <QObject> #include <QPainter> @@ -26,11 +27,13 @@ #include "MainWindow.h" #include "RoomInfoListItem.h" #include "RoomList.h" +#include "UserSettingsPage.h" #include "Utils.h" #include "ui/OverlayModal.h" -RoomList::RoomList(QWidget *parent) +RoomList::RoomList(QSharedPointer<UserSettings> userSettings, QWidget *parent) : QWidget(parent) + , settings(userSettings) { topLayout_ = new QVBoxLayout(this); topLayout_->setSpacing(0); @@ -62,12 +65,16 @@ RoomList::RoomList(QWidget *parent) topLayout_->addWidget(scrollArea_); connect(this, &RoomList::updateRoomAvatarCb, this, &RoomList::updateRoomAvatar); + connect(userSettings.data(), + &UserSettings::roomSortingChanged, + this, + &RoomList::sortRoomsByLastMessage); } void RoomList::addRoom(const QString &room_id, const RoomInfo &info) { - auto room_item = new RoomInfoListItem(room_id, info, scrollArea_); + auto room_item = new RoomInfoListItem(room_id, info, settings, scrollArea_); room_item->setRoomName(QString::fromStdString(std::move(info.name))); connect(room_item, &RoomInfoListItem::clicked, this, &RoomList::highlightSelectedRoom); @@ -122,6 +129,8 @@ RoomList::updateUnreadMessageCount(const QString &roomid, int count, int highlig rooms_[roomid]->updateUnreadMessageCount(count, highlightedCount); calculateUnreadMessageCount(); + + sortRoomsByLastMessage(); } void @@ -328,30 +337,51 @@ RoomList::updateRoomDescription(const QString &roomid, const DescInfo &info) emit sortRoomsByLastMessage(); } +struct room_sort +{ + bool operator()(const RoomInfoListItem *a, const RoomInfoListItem *b) const + { + // Sort by "importance" (i.e. invites before mentions before + // notifs before new events before old events), then secondly + // by recency. + + // Checking importance first + const auto a_importance = a->calculateImportance(); + const auto b_importance = b->calculateImportance(); + if (a_importance != b_importance) { + return a_importance > b_importance; + } + + // Now sort by recency + // Zero if empty, otherwise the time that the event occured + const uint64_t a_recency = a->lastMessageInfo().userid.isEmpty() + ? 0 + : a->lastMessageInfo().datetime.toMSecsSinceEpoch(); + const uint64_t b_recency = b->lastMessageInfo().userid.isEmpty() + ? 0 + : b->lastMessageInfo().datetime.toMSecsSinceEpoch(); + return a_recency > b_recency; + } +}; + void RoomList::sortRoomsByLastMessage() { isSortPending_ = false; - std::multimap<uint64_t, RoomInfoListItem *, std::greater<uint64_t>> times; + std::multiset<RoomInfoListItem *, room_sort> times; for (int ii = 0; ii < contentsLayout_->count(); ++ii) { auto room = qobject_cast<RoomInfoListItem *>(contentsLayout_->itemAt(ii)->widget()); if (!room) continue; - - // Not a room message. - if (room->isInvite()) - times.emplace(std::numeric_limits<uint64_t>::max(), room); - else if (room->lastMessageInfo().userid.isEmpty()) - times.emplace(0, room); else - times.emplace(room->lastMessageInfo().datetime.toMSecsSinceEpoch(), room); + times.insert(room); } for (auto it = times.cbegin(); it != times.cend(); ++it) { - const auto roomWidget = it->second; + const auto roomWidget = *it; const auto currentIndex = contentsLayout_->indexOf(roomWidget); const auto newIndex = std::distance(times.cbegin(), it); @@ -468,7 +498,7 @@ RoomList::updateRoom(const QString &room_id, const RoomInfo &info) void RoomList::addInvitedRoom(const QString &room_id, const RoomInfo &info) { - auto room_item = new RoomInfoListItem(room_id, info, scrollArea_); + auto room_item = new RoomInfoListItem(room_id, info, settings, scrollArea_); connect(room_item, &RoomInfoListItem::acceptInvite, this, &RoomList::acceptInvite); connect(room_item, &RoomInfoListItem::declineInvite, this, &RoomList::declineInvite); diff --git a/src/RoomList.h b/src/RoomList.h index fef552c6bcdee8e42992c06e9df3ed8fb111634e..a0151f9217b787880a29af59e32a1b9464961c44 100644 --- a/src/RoomList.h +++ b/src/RoomList.h @@ -23,6 +23,9 @@ #include <QVBoxLayout> #include <QWidget> +#include "CacheStructs.h" +#include "UserSettingsPage.h" + class LeaveRoomDialog; class OverlayModal; class RoomInfoListItem; @@ -35,7 +38,7 @@ class RoomList : public QWidget Q_OBJECT public: - explicit RoomList(QWidget *parent = nullptr); + explicit RoomList(QSharedPointer<UserSettings> userSettings, QWidget *parent = nullptr); void initialize(const QMap<QString, RoomInfo> &info); void sync(const std::map<QString, RoomInfo> &info); @@ -100,4 +103,5 @@ private: QString selectedRoom_; bool isSortPending_ = false; + QSharedPointer<UserSettings> settings; }; diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp index 930b1b7b162c475c040c9417a5212767691eee1e..6cd9a95cf641a6103b0091ff5c3a752bce5a234f 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp @@ -58,6 +58,7 @@ UserSettings::load() isButtonsInTimelineEnabled_ = settings.value("user/timeline/buttons", true).toBool(); isMarkdownEnabled_ = settings.value("user/markdown_enabled", true).toBool(); isTypingNotificationsEnabled_ = settings.value("user/typing_notifications", true).toBool(); + sortByImportance_ = settings.value("user/sort_by_unread", true).toBool(); isReadReceiptsEnabled_ = settings.value("user/read_receipts", true).toBool(); theme_ = settings.value("user/theme", defaultTheme_).toString(); font_ = settings.value("user/font_family", "default").toString(); @@ -135,6 +136,7 @@ UserSettings::save() settings.setValue("font_size", baseFontSize_); settings.setValue("typing_notifications", isTypingNotificationsEnabled_); + settings.setValue("minor_events", sortByImportance_); settings.setValue("read_receipts", isReadReceiptsEnabled_); settings.setValue("group_view", isGroupViewEnabled_); settings.setValue("markdown_enabled", isMarkdownEnabled_); @@ -197,6 +199,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge groupViewToggle_ = new Toggle{this}; timelineButtonsToggle_ = new Toggle{this}; typingNotifications_ = new Toggle{this}; + sortByImportance_ = new Toggle{this}; readReceipts_ = new Toggle{this}; markdownEnabled_ = new Toggle{this}; desktopNotifications_ = new Toggle{this}; @@ -300,6 +303,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge boxWrap(tr("Group's sidebar"), groupViewToggle_); boxWrap(tr("Show buttons in timeline"), timelineButtonsToggle_); boxWrap(tr("Typing notifications"), typingNotifications_); + boxWrap(tr("Sort rooms by unreads"), sortByImportance_); formLayout_->addRow(new HorizontalLine{this}); boxWrap(tr("Read receipts"), readReceipts_); boxWrap(tr("Send messages as Markdown"), markdownEnabled_); @@ -401,6 +405,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge settings_->setTypingNotifications(!isDisabled); }); + connect(sortByImportance_, &Toggle::toggled, this, [this](bool isDisabled) { + settings_->setSortByImportance(!isDisabled); + }); + connect(timelineButtonsToggle_, &Toggle::toggled, this, [this](bool isDisabled) { settings_->setButtonsInTimeline(!isDisabled); }); @@ -439,6 +447,7 @@ UserSettingsPage::showEvent(QShowEvent *) groupViewToggle_->setState(!settings_->isGroupViewEnabled()); avatarCircles_->setState(!settings_->isAvatarCirclesEnabled()); typingNotifications_->setState(!settings_->isTypingNotificationsEnabled()); + sortByImportance_->setState(!settings_->isSortByImportanceEnabled()); timelineButtonsToggle_->setState(!settings_->isButtonsInTimelineEnabled()); readReceipts_->setState(!settings_->isReadReceiptsEnabled()); markdownEnabled_->setState(!settings_->isMarkdownEnabled()); diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h index ca5a213cb244ddc65701290749f9437b938926da..1c20214e3362c838e21b0f05f73f1d67f34966e8 100644 --- a/src/UserSettingsPage.h +++ b/src/UserSettingsPage.h @@ -87,6 +87,12 @@ public: save(); } + void setSortByImportance(bool state) + { + sortByImportance_ = state; + emit roomSortingChanged(); + } + void setButtonsInTimeline(bool state) { isButtonsInTimelineEnabled_ = state; @@ -112,6 +118,7 @@ public: bool isAvatarCirclesEnabled() const { return avatarCircles_; } bool isMarkdownEnabled() const { return isMarkdownEnabled_; } bool isTypingNotificationsEnabled() const { return isTypingNotificationsEnabled_; } + bool isSortByImportanceEnabled() const { return sortByImportance_; } bool isButtonsInTimelineEnabled() const { return isButtonsInTimelineEnabled_; } bool isReadReceiptsEnabled() const { return isReadReceiptsEnabled_; } bool hasDesktopNotifications() const { return hasDesktopNotifications_; } @@ -121,6 +128,7 @@ public: signals: void groupViewStateChanged(bool state); + void roomSortingChanged(); private: // Default to system theme if QT_QPA_PLATFORMTHEME var is set. @@ -134,6 +142,7 @@ private: bool isGroupViewEnabled_; bool isMarkdownEnabled_; bool isTypingNotificationsEnabled_; + bool sortByImportance_; bool isButtonsInTimelineEnabled_; bool isReadReceiptsEnabled_; bool hasDesktopNotifications_; @@ -185,6 +194,7 @@ private: Toggle *groupViewToggle_; Toggle *timelineButtonsToggle_; Toggle *typingNotifications_; + Toggle *sortByImportance_; Toggle *readReceipts_; Toggle *markdownEnabled_; Toggle *desktopNotifications_;