From 0006966c0f307ec7dff51130ce26bbe3c7061418 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 21 Jul 2018 14:38:08 +0000 Subject: changed translation api git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8196 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/qmmpuiplugincache.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/qmmpui/qmmpuiplugincache.cpp') diff --git a/src/qmmpui/qmmpuiplugincache.cpp b/src/qmmpui/qmmpuiplugincache.cpp index 0969b1a29..9495f6fa1 100644 --- a/src/qmmpui/qmmpuiplugincache.cpp +++ b/src/qmmpui/qmmpuiplugincache.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013 by Ilya Kotov * + * Copyright (C) 2013-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -24,6 +24,7 @@ #include #include #include +#include #include "generalfactory.h" #include "uifactory.h" #include "filedialogfactory.h" @@ -159,7 +160,7 @@ GeneralFactory *QmmpUiPluginCache::generalFactory() { m_generalFactory = qobject_cast (instance()); if(m_generalFactory) - qApp->installTranslator(m_generalFactory->createTranslator(qApp)); + loadTranslation(m_generalFactory->properties().translation); } return m_generalFactory; } @@ -170,7 +171,7 @@ UiFactory *QmmpUiPluginCache::uiFactory() { m_uiFactory = qobject_cast (instance()); if(m_uiFactory) - qApp->installTranslator(m_uiFactory->createTranslator(qApp)); + loadTranslation(m_uiFactory->properties().translation); } return m_uiFactory; } @@ -181,7 +182,7 @@ FileDialogFactory *QmmpUiPluginCache::fileDialogFactory() { m_fileDialogFactory = qobject_cast (instance()); if(m_fileDialogFactory) - qApp->installTranslator(m_fileDialogFactory->createTranslator(qApp)); + loadTranslation(m_fileDialogFactory->properties().translation); } return m_fileDialogFactory; } @@ -204,6 +205,16 @@ QObject *QmmpUiPluginCache::instance() return m_instance; } +void QmmpUiPluginCache::loadTranslation(const QString &translation) +{ + if(!translation.isEmpty()) + { + QTranslator *translator = new QTranslator(qApp); + translator->load(translation + Qmmp::systemLanguageID()); + qApp->installTranslator(translator); + } +} + void QmmpUiPluginCache::cleanup(QSettings *settings) { settings->beginGroup("PluginCache"); -- cgit v1.2.3-13-gbd6f