qTox  Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
translator.h
Go to the documentation of this file.
1 /*
2  Copyright © 2015-2019 by The qTox Project Contributors
3 
4  This file is part of qTox, a Qt-based graphical interface for Tox.
5 
6  qTox is libre software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  qTox is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with qTox. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 
21 #pragma once
22 
23 #include <QMutex>
24 #include <QPair>
25 #include <QVector>
26 #include <functional>
27 
28 class QTranslator;
29 
31 {
32 public:
33  static void translate(const QString& localeName);
34  static void registerHandler(const std::function<void()>&, void* owner);
35  static void unregister(void* owner);
36 
37 private:
38  using Callback = QPair<void*, std::function<void()>>;
39  static QVector<Callback> callbacks;
40  static QMutex lock;
41  static QTranslator* core_translator;
42  static QTranslator* app_translator;
43 };
Translator::core_translator
static QTranslator * core_translator
Definition: translator.h:41
Translator::translate
static void translate(const QString &localeName)
Loads the translations according to the settings or locale.
Definition: translator.cpp:39
Translator::unregister
static void unregister(void *owner)
Unregisters all handlers of an owner.
Definition: translator.cpp:103
Translator::Callback
QPair< void *, std::function< void()> > Callback
Definition: translator.h:38
Translator::lock
static QMutex lock
Definition: translator.h:40
Translator::registerHandler
static void registerHandler(const std::function< void()> &, void *owner)
Register a function to be called when the UI needs to be retranslated.
Definition: translator.cpp:93
Translator::app_translator
static QTranslator * app_translator
Definition: translator.h:42
Translator
Definition: translator.h:30
Translator::callbacks
static QVector< Callback > callbacks
Definition: translator.h:39