1 #ifndef ibase_TLocalizableWrap_included
2 #define ibase_TLocalizableWrap_included
6 #include <QtCore/QObject>
7 #include <QtCore/QCoreApplication>
32 class LanguageChangeEventFilter:
public QObject
41 bool eventFilter(QObject* sourcePtr, QEvent* eventPtr);
47 LanguageChangeEventFilter m_languageChangeEventFilter;
55 :m_languageChangeEventFilter(*this)
63 QCoreApplication* applicationPtr = QCoreApplication::instance();
64 if (applicationPtr !=
NULL){
65 if (enableLocalization){
66 applicationPtr->installEventFilter(&m_languageChangeEventFilter);
69 applicationPtr->removeEventFilter(&m_languageChangeEventFilter);
89 bool TLocalizableWrap<Base>::LanguageChangeEventFilter::eventFilter(QObject* sourcePtr, QEvent* eventPtr)
91 if ((eventPtr->type() == QEvent::LanguageChange) && (sourcePtr == QCoreApplication::instance())){
92 m_parent.OnLanguageChanged();
95 return BaseClass::eventFilter(sourcePtr, eventPtr);
102 #endif // ibase_TLocalizableWrap_included
virtual void EnableLocalization(bool enableLocalization=true)
If enabled, listen to the language change event from the application context.
virtual void OnLanguageChanged()=0