* Pass MessageBoxManager instantiation around instead of relying on a singleton
* Mock MessageBoxManager for unit tests when needed, since they don't have a
QApplication which is required for creating QWidgets
* Remove GUI class, which didn't have a clear purpose
Makes it so that looking back in chat history, you can see which users you were
connected to for any message. Otherwise self client restarts are unseen.
Follows showGroupJoinLeaveMessages setting which defaults to false, so only
users who opt in will see the messages.
Scrap generic numArg handling. It somewhat increases complexity and doesn't
reduce code either.
Similar to how History handles SCHEMA_VERSION. Run separately on global and
personal settings, since some state in global, and personal settings can’t be
done globally since they require the passkey.
Restrict a user from downgrading past the saved settings version, due to
possible compatibility breaks or old qTox versions re-introducing corrupt state
that was already healed.
Pass in new profile state for personal settings rather than relying on settings
file presence because personal settings can be stored in either the personal
settings file or global settings file. This was introduced in
aea9eea8a4 when personal settings were first
moved to their own file.
109247019824 (2):
feat(l10n): update Bulgarian translation from Weblate
feat(l10n): update Bulgarian translation from Weblate
Abu Sarim Hindi (2):
feat(l10n): add Urdu translation using Weblate
feat(l10n): update Urdu translation from Weblate
Alexander-David Beck (3):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
Anthony Bilinski (2):
feat(l10n): add English (United States) translation using Weblate
Deleted translation using Weblate (English (United States))
Artem (1):
feat(l10n): update Russian translation from Weblate
Atrate (1):
feat(l10n): update Polish translation from Weblate
Claes-Göran Nydahl (1):
feat(l10n): update Swedish translation from Weblate
Eric (3):
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
Frankie McEyes (1):
feat(l10n): update Italian translation from Weblate
Gediminas Murauskas (6):
feat(l10n): update Lithuanian translation from Weblate
feat(l10n): update Lithuanian translation from Weblate
feat(l10n): update Lithuanian translation from Weblate
feat(l10n): update Lithuanian translation from Weblate
feat(l10n): update Lithuanian translation from Weblate
feat(l10n): update Lithuanian translation from Weblate
Ivan (1):
feat(l10n): update Russian translation from Weblate
Jonatan Nyberg (1):
feat(l10n): update Swedish translation from Weblate
Kaantaja (1):
feat(l10n): update Finnish translation from Weblate
Karl Tammik (4):
feat(l10n): update Finnish translation from Weblate
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Kristjan Räts (2):
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Matej Golian (1):
feat(l10n): update Slovak translation from Weblate
Oğuz Ersen (2):
feat(l10n): update Turkish translation from Weblate
feat(l10n): update Turkish translation from Weblate
Plamen Nazarov (1):
feat(l10n): update Bulgarian translation from Weblate
Rafael Nadal (2):
feat(l10n): update Czech translation from Weblate
feat(l10n): update Czech translation from Weblate
S3aBreeze (3):
feat(l10n): update Russian translation from Weblate
feat(l10n): update Russian translation from Weblate
feat(l10n): update Russian translation from Weblate
SC (1):
feat(l10n): update Portuguese translation from Weblate
Sparkwave (1):
feat(l10n): update Polish translation from Weblate
The Cats (14):
feat(l10n): update Portuguese (Brazil) translation from Weblate
feat(l10n): update Spanish translation from Weblate
feat(l10n): update French translation from Weblate
feat(l10n): update Spanish translation from Weblate
feat(l10n): update French translation from Weblate
feat(l10n): update Portuguese (Brazil) translation from Weblate
feat(l10n): update French translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update Hebrew translation from Weblate
Tomi P (1):
feat(l10n): update Finnish translation from Weblate
Trendyne (2):
feat(l10n): add Icelandic translation using Weblate
feat(l10n): update Icelandic translation from Weblate
Tymofii Lytvynenko (1):
feat(l10n): update Ukrainian translation from Weblate
coronabond (1):
feat(l10n): update Italian translation from Weblate
litavycia (1):
feat(l10n): update Ukrainian translation from Weblate
mati (1):
feat(l10n): update Polish translation from Weblate
nue (2):
feat(l10n): update Latvian translation from Weblate
feat(l10n): update Latvian translation from Weblate
redtide (1):
feat(l10n): update Italian translation from Weblate
remussatala (2):
feat(l10n): update Romanian translation from Weblate
feat(l10n): update Romanian translation from Weblate
ssantos (2):
feat(l10n): update Portuguese translation from Weblate
feat(l10n): update Portuguese translation from Weblate
t4llkr (1):
feat(l10n): update Russian translation from Weblate
wang (1):
feat(l10n): update Chinese (Simplified) translation from Weblate
曹恩逢 (1):
feat(l10n): update Chinese (Traditional) translation from Weblate
6π (1):
feat(l10n): update French translation from Weblate
Alberto Luaces (3):
feat(l10n): add Galician translation using Weblate
feat(l10n): update Galician translation from Weblate
feat(l10n): update Galician translation from Weblate
Allan Nordhøy (2):
feat(l10n): update Norwegian Bokmål translation from Weblate
feat(l10n): update Norwegian Bokmål translation from Weblate
Anonymous (1):
feat(l10n): update Czech translation from Weblate
Artem (2):
feat(l10n): update Russian translation from Weblate
feat(l10n): update Russian translation from Weblate
Atrate (3):
feat(l10n): update Polish translation from Weblate
feat(l10n): update Polish translation from Weblate
feat(l10n): update Polish translation from Weblate
Balazs (3):
feat(l10n): update Hungarian translation from Weblate
feat(l10n): update Hungarian translation from Weblate
feat(l10n): update Hungarian translation from Weblate
Cornelius Kölbel (1):
feat(l10n): update German translation from Weblate
Emery Hemingway (2):
feat(l10n): add Kannada translation using Weblate
feat(l10n): update Kannada translation from Weblate
Filipovic Dragan (2):
feat(l10n): update Serbian translation from Weblate
feat(l10n): update Serbian translation from Weblate
Hakim Oubouali (2):
feat(l10n): add Berber translation using Weblate
feat(l10n): update Berber translation from Weblate
HelaBasa (2):
feat(l10n): add Sinhala translation using Weblate
feat(l10n): update Sinhala translation from Weblate
Hosted Weblate (81):
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
J. Lavoie (5):
feat(l10n): update French translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update French translation from Weblate
feat(l10n): update Italian translation from Weblate
Jonatan Nyberg (5):
feat(l10n): update Swedish translation from Weblate
feat(l10n): update Swedish translation from Weblate
feat(l10n): update Swedish translation from Weblate
feat(l10n): update Swedish translation from Weblate
feat(l10n): update Swedish translation from Weblate
Karl Tammik (2):
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Kaur Männamaa (5):
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Kristjan Räts (2):
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Lukáš Jelínek (1):
feat(l10n): update Czech translation from Weblate
Luna Jernberg (1):
feat(l10n): update Swedish translation from Weblate
Marek Ľach (1):
feat(l10n): update Slovak translation from Weblate
Martin Beer (7):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
Michalis (2):
feat(l10n): update Greek translation from Weblate
feat(l10n): update Greek translation from Weblate
Milo Ivir (2):
feat(l10n): update Croatian translation from Weblate
feat(l10n): update Croatian translation from Weblate
Riku Viitanen (1):
feat(l10n): update Finnish translation from Weblate
Survesh VRL (1):
feat(l10n): update Tamil translation from Weblate
Søren Ingemann Nielsen (1):
feat(l10n): update Danish translation from Weblate
Tautvydas Zukauskas (1):
feat(l10n): update Lithuanian translation from Weblate
The Cats (4):
feat(l10n): update French translation from Weblate
feat(l10n): update French translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update Portuguese (Brazil) translation from Weblate
Thect (1):
feat(l10n): update Chinese (Traditional) translation from Weblate
Thomas Weber (5):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
Whod (1):
feat(l10n): update Bulgarian translation from Weblate
William (2):
feat(l10n): update Norwegian Bokmål translation from Weblate
feat(l10n): update Norwegian Bokmål translation from Weblate
anonymous (2):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
brokolice (2):
feat(l10n): update Czech translation from Weblate
feat(l10n): update Czech translation from Weblate
mv87 (1):
feat(l10n): update German translation from Weblate
remussatala (1):
feat(l10n): update Romanian translation from Weblate
ssantos (1):
feat(l10n): update Portuguese translation from Weblate
tmerkuri (2):
feat(l10n): add Albanian translation using Weblate
feat(l10n): update Albanian translation from Weblate
Мирослав Николић (1):
feat(l10n): update Serbian translation from Weblate
Allan Nordhøy (3):
feat(l10n): update Norwegian Bokmål translation from Weblate
feat(l10n): update Norwegian Bokmål translation from Weblate
feat(l10n): update Norwegian Bokmål translation from Weblate
Cenk YILDIZLI (1):
feat(l10n): update Turkish translation from Weblate
Coool (1):
feat(l10n): update Latvian translation from Weblate
Dan Baeza (6):
feat(l10n): update Portuguese (Brazil) translation from Weblate
feat(l10n): update French translation from Weblate
feat(l10n): update Portuguese (Brazil) translation from Weblate
feat(l10n): update Spanish translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update Spanish translation from Weblate
Gvido Zageris (1):
feat(l10n): add Latvian translation using Weblate
Gvido Zāģeris (6):
feat(l10n): update Latvian translation from Weblate
feat(l10n): update Latvian translation from Weblate
feat(l10n): update Latvian translation from Weblate
feat(l10n): update Latvian translation from Weblate
feat(l10n): update Latvian translation from Weblate
feat(l10n): update Latvian translation from Weblate
H Zeng (1):
feat(l10n): update Chinese (Simplified) translation from Weblate
Jonatan Nyberg (1):
feat(l10n): update Swedish translation from Weblate
Lupa (2):
feat(l10n): update Russian translation from Weblate
feat(l10n): update Russian translation from Weblate
Moo (3):
feat(l10n): update Lithuanian translation from Weblate
feat(l10n): update Lithuanian translation from Weblate
feat(l10n): update Lithuanian translation from Weblate
Rui Mendes (1):
feat(l10n): update Portuguese translation from Weblate
Ryo Nakano (2):
feat(l10n): update Japanese translation from Weblate
feat(l10n): update Japanese translation from Weblate
Sabri Ünal (1):
feat(l10n): update Turkish translation from Weblate
Schwonder Reismus (1):
feat(l10n): update Russian translation from Weblate
Thomas Weber (3):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
Viktar Vauchkevich (1):
feat(l10n): update Belarusian translation from Weblate
Vlastimil Čoček (3):
feat(l10n): update Czech translation from Weblate
feat(l10n): update Slovak translation from Weblate
feat(l10n): update Czech translation from Weblate
leela (1):
feat(l10n): update Ukrainian translation from Weblate
remussatala (1):
feat(l10n): update Romanian translation from Weblate
ssantos (1):
feat(l10n): update German translation from Weblate
Allan Nordhøy (1):
feat(l10n): update Norwegian Bokmål translation from Weblate
Andreas Kleinert (5):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
H Zeng (6):
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
Johnny (2):
feat(l10n): update Portuguese translation from Weblate
feat(l10n): update French translation from Weblate
Jonatan Nyberg (1):
feat(l10n): update Swedish translation from Weblate
Kaur Männamaa (2):
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Kristjan Räts (1):
feat(l10n): update Estonian translation from Weblate
Moo (1):
feat(l10n): update Lithuanian translation from Weblate
Nathan Follens (1):
feat(l10n): update Dutch translation from Weblate
Nikolay Korotkiy (2):
feat(l10n): update Esperanto translation from Weblate
feat(l10n): update Finnish translation from Weblate
Slobodan Terzić (1):
feat(l10n): update Serbian translation from Weblate
Swirti Liberto (1):
feat(l10n): update French translation from Weblate
Tiger tiger (3):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
Uranna 12 (5):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
Viktar Vauchkevich (1):
feat(l10n): update Belarusian translation from Weblate
anonymous (2):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
gdqyx3whzs (3):
feat(l10n): update Macedonian translation from Weblate
feat(l10n): update Macedonian translation from Weblate
feat(l10n): update Macedonian translation from Weblate
gorbiWTF (1):
feat(l10n): update German translation from Weblate
kgkj kgkj (2):
feat(l10n): update Greek translation from Weblate
feat(l10n): update Greek translation from Weblate
ms-pc (2):
feat(l10n): update Spanish translation from Weblate
feat(l10n): update Spanish translation from Weblate
prhtnsm (3):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
remussatala (2):
feat(l10n): update Romanian translation from Weblate
feat(l10n): update Romanian translation from Weblate
vasily-mett (1):
feat(l10n): update Russian translation from Weblate
wang (4):
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate
feat(l10n): update Chinese (Simplified) translation from Weblate