aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/qmmpuiplugincache.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-07-21 14:38:08 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-07-21 14:38:08 +0000
commit0006966c0f307ec7dff51130ce26bbe3c7061418 (patch)
treea9a760770de8b91c543e1308392bf2ec9e926a58 /src/qmmpui/qmmpuiplugincache.cpp
parent20967c016b4c63b75cb0af2b0f3ccc006addd6df (diff)
downloadqmmp-0006966c0f307ec7dff51130ce26bbe3c7061418.tar.gz
qmmp-0006966c0f307ec7dff51130ce26bbe3c7061418.tar.bz2
qmmp-0006966c0f307ec7dff51130ce26bbe3c7061418.zip
changed translation api
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8196 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/qmmpuiplugincache.cpp')
-rw-r--r--src/qmmpui/qmmpuiplugincache.cpp19
1 files changed, 15 insertions, 4 deletions
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 <QPluginLoader>
#include <QApplication>
#include <QTranslator>
+#include <qmmp/qmmp.h>
#include "generalfactory.h"
#include "uifactory.h"
#include "filedialogfactory.h"
@@ -159,7 +160,7 @@ GeneralFactory *QmmpUiPluginCache::generalFactory()
{
m_generalFactory = qobject_cast<GeneralFactory *> (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<UiFactory *> (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<FileDialogFactory *> (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");