Commit Graph

21 Commits (master)

Author SHA1 Message Date
Anthony Bilinski 50bda558cd
chore(l10n): Mark moved AppManager translations as finished
lupdate keeps moved translations, but marks them as unfinished. Since
context hasn't changed, the meaning of phrases is the same in this case.
Mark all moved translations that were finished before as finished now.
2022-05-24 13:26:48 -07:00
Anthony Bilinski 7c519c3895
refactor(main): Move main global state into new AppManager class
main() couldn't hold its own state since cleanup() needed access to it.
Having the state in a class allows QApplication::aboutToQuit to call
into a member function with access to the state.

Data used in logging still needs to be global due to
qInstallMessageHandler not accepting a void* to get back to this.

Set QGuiApplication attributes before constructing Qapplication as required,
by using comma operator to call an initialization function before construction
all members in the member initializer list.

Keep logic largely unchanged, but with a defined destruction order.

Destruction is still abnormal due to QApplication::aboutToQuit forcing
us to do partial cleanup before QApplication returns, since some OSes
will kill qTox before the QApplication returns.
2022-05-24 13:26:48 -07:00
Anthony Bilinski f4e64ee7a6
feat(History): Add a GUI error on database schema mismatch
Fix #5683
2022-05-20 11:38:12 -07:00
Anthony Bilinski 1ac7285c79
refactor(widget): Make RemoveFriendDialog generic for Chats 2022-03-30 19:27:57 -07:00
Anthony Bilinski efc641efd7
feat(Settings): Add GUI notice for global settings upgrade failure
Due to new MessageBoxManager, Settings now has the ability to show errors
during init.
2022-03-24 02:14:21 -07:00
Anthony Bilinski b24faabf42
refactor(GUI): Move remaining messsage box functionality to new class
* 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
2022-03-24 02:14:20 -07:00
Anthony Bilinski e740859ef9
feat(history): Add self join/part messages
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.
2022-03-10 16:23:46 -08:00
Anthony Bilinski 2b41a06b55
feat(Settings): Add system for versioning and upgrading Settings
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.
2022-03-06 06:00:13 -08:00
Anthony Bilinski 069ab92fd0
feat(UI): Add UI For controlling group join and leave system messages setting 2022-02-20 18:14:55 -08:00
Anthony Bilinski 5f8704cf0f
chore(i18n): Update translation files for Weblate
For some reason, re-running update-translation-files.sh right on
1031b315b9 which it generates more new changes.
Rerunning further doesn't generate yet more changes.
2022-02-20 17:04:05 -08:00
Anthony Bilinski 1031b315b9
chore(i18n): update translation files for Weblate 2022-02-19 03:26:11 -08:00
Anthony Bilinski 2d6fe8ee59
chore(i18n): update translation files for Weblate 2021-03-04 05:31:02 -08:00
Anthony Bilinski 4556f74f5a
chore(l10n): update translations 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
2021-03-04 04:43:46 -08:00
sudden6 cb5f1a73ca
chore(i18n): update translation files for Weblate 2019-08-28 21:09:15 -07:00
Anthony Bilinski 80e457da1d
chore(i18n): update translation files for Weblate 2019-04-24 09:01:33 -07:00
sudden6 4a113874a1
chore(l10n): update translations 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
2018-03-03 17:47:45 +01:00
sudden6 fdcc695977
chore(i18n): update translation files for Weblate 2018-01-11 22:21:00 +01:00
Slobodan Terzić 1aec68fdf0
feat(l10n): update Serbian translation from Weblate 2017-11-25 15:16:56 +03:00
Slobodan Terzić 907c3e5c8b
feat(l10n): update Serbian translation from Weblate 2017-11-11 09:16:05 +00:00
Zetok Zalbavar 2ce41521f2
chore(i18n): update translation files for Weblate 2017-10-29 11:36:02 +00:00
Slobodan Terzić 17c0048792
feat(l10n): add Serbian translation using Weblate 2017-10-29 11:36:02 +00:00