Moved QTranslator from 'main' to 'MainWindow'

This commit is contained in:
Valentino Orlandi 2022-08-18 21:04:42 +02:00
parent 687dc36db2
commit 748507ba14
Signed by: elB4RTO
GPG Key ID: 1719E976DB2D4E71
3 changed files with 7 additions and 21 deletions

View File

@ -7,16 +7,7 @@
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator translator;
const QStringList uiLanguages = QLocale::system().uiLanguages();
for (const QString &locale : uiLanguages) {
const QString baseName = "Craplog_" + QLocale(locale).name();
if (translator.load(":/i18n/" + baseName)) {
a.installTranslator(&translator);
break;
}
}
MainWindow w;
w.show();
return a.exec();

View File

@ -14,7 +14,7 @@
#include <iostream> // !!! REMOVE !!!
MainWindow::MainWindow( QTranslator *translator, QWidget *parent )
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
@ -105,11 +105,6 @@ MainWindow::MainWindow( QTranslator *translator, QWidget *parent )
connect( this->ui->actionCheckUpdates, &QAction::triggered, this, &MainWindow::menu_actionCheckUpdates_triggered );
////////////////////
//// TRANSLATOR ////
this->translator = translator;
/////////////////
//// CONFIGS ////
this->defineOSspec();
@ -752,10 +747,10 @@ void MainWindow::updateUiTheme()
void MainWindow::updateUiLanguage()
{
// remove the old translator
QCoreApplication::removeTranslator( this->translator );
if ( this->translator->load( QString(":/translations/%1").arg(QString::fromStdString( this->language )) ) ) {
QCoreApplication::removeTranslator( &this->translator );
if ( this->translator.load( QString(":/translations/%1").arg(QString::fromStdString( this->language )) ) ) {
// apply the new translator
QCoreApplication::installTranslator( this->translator );
QCoreApplication::installTranslator( &this->translator );
this->ui->retranslateUi( this );
}
}

View File

@ -32,7 +32,7 @@ class MainWindow : public QMainWindow
Q_OBJECT
public:
MainWindow( QTranslator *translator, QWidget *parent=nullptr );
MainWindow(QWidget *parent=nullptr);
~MainWindow();
void closeEvent( QCloseEvent *event );
@ -459,7 +459,7 @@ private:
const std::unordered_map<std::string, bool> s2b = { {"true",true}, {"false",false} };
const std::unordered_map<bool, std::string> b2s = { {true,"true"}, {false,"false"} };
// language
QTranslator *translator;
QTranslator translator;
std::string language = "en";
void updateUiLanguage();
// window geometry