From 2bced828de8aec3994a42c0eb40bd2a1bea104a1 Mon Sep 17 00:00:00 2001 From: Christian Hohnstaedt Date: Wed, 15 Nov 2017 09:50:31 +0100 Subject: [PATCH] Translation: Re-translate the OID resolver in case of a language change --- lib/main.cpp | 2 ++ widgets/MainWindow.cpp | 19 +++++++++++++++++-- widgets/MainWindow.h | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/main.cpp b/lib/main.cpp index da6ff727..79e6d0e8 100644 --- a/lib/main.cpp +++ b/lib/main.cpp @@ -121,6 +121,8 @@ void XCA_application::setupLanguage(QLocale l) QLocale::setDefault(l); installTranslator(qtTr); installTranslator(xcaTr); + if (mainw) + mainw->initResolver(); } void XCA_application::switchLanguage(QAction* a) diff --git a/widgets/MainWindow.cpp b/widgets/MainWindow.cpp index 8c45ca2c..c69d68ba 100644 --- a/widgets/MainWindow.cpp +++ b/widgets/MainWindow.cpp @@ -80,6 +80,22 @@ void MainWindow::load_engine() enableTokenMenu(pkcs11::loaded()); } +void MainWindow::initResolver() +{ + bool shown = false; + QString search; + + if (resolver) { + shown = resolver->isVisible(); + search = resolver->input->text(); + delete resolver; + } + resolver = new OidResolver(NULL); + resolver->setWindowTitle(XCA_TITLE); + if (shown) + resolver->searchOid(search); +} + MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent) { @@ -93,8 +109,7 @@ MainWindow::MainWindow(QWidget *parent) setupUi(this); setWindowTitle(XCA_TITLE); - resolver = new OidResolver(NULL); - resolver->setWindowTitle(XCA_TITLE); + initResolver(); wdList << keyButtons << reqButtons << certButtons << tempButtons << crlButtons; diff --git a/widgets/MainWindow.h b/widgets/MainWindow.h index a720ed69..8a30d4e4 100644 --- a/widgets/MainWindow.h +++ b/widgets/MainWindow.h @@ -146,6 +146,7 @@ class MainWindow: public QMainWindow, public Ui::MainWindow void setDefaultKey(QString def); void load_history(); void update_history(QString file); + void initResolver(); public slots: int init_database();