diff options
author | Thorbjørn Lund Martsum <tmartsum@gmail.com> | 2012-03-20 08:47:57 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-21 11:02:46 +0100 |
commit | a4a61bb3efac34a202c102f19b170ca705a6901e (patch) | |
tree | 01c0b8dc0ace9d04c01c659dc819df3838a2ba69 | |
parent | 37b0a8e7e645b97df57aae44059b2aa35bc909c3 (diff) |
QCoreApplication - add return type bool on install/remove translator
This add a bool as return value on QCoreApplication::installTranslator
and QCoreApplication::removeTranslator. It returns true on success.
Before it was very clumsy to detected this. It was needed to react
on the signal and mark a success - just to provide an error message
on failure.
This is 99.99% source compatible - only if someone grabs a function
pointer to this - it will break the code - but it seems to be very
theoretic.
Change-Id: I947fcee1352f530e559bb177a90c10d84eed1aec
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
-rw-r--r-- | src/corelib/kernel/qcoreapplication.cpp | 21 | ||||
-rw-r--r-- | src/corelib/kernel/qcoreapplication.h | 4 |
2 files changed, 16 insertions, 9 deletions
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 967ed447d5..c901bc142e 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -1513,26 +1513,29 @@ void QCoreApplication::quit() generated by \l{Qt Designer} provide a \c retranslateUi() function that can be called. + The function returns true on success and false on failure. + \sa removeTranslator() translate() QTranslator::load() {Dynamic Translation} */ -void QCoreApplication::installTranslator(QTranslator *translationFile) +bool QCoreApplication::installTranslator(QTranslator *translationFile) { if (!translationFile) - return; + return false; if (!QCoreApplicationPrivate::checkInstance("installTranslator")) - return; + return false; QCoreApplicationPrivate *d = self->d_func(); d->translators.prepend(translationFile); #ifndef QT_NO_TRANSLATION_BUILDER if (translationFile->isEmpty()) - return; + return false; #endif QEvent ev(QEvent::LanguageChange); QCoreApplication::sendEvent(self, &ev); + return true; } /*! @@ -1540,20 +1543,24 @@ void QCoreApplication::installTranslator(QTranslator *translationFile) translation files used by this application. (It does not delete the translation file from the file system.) + The function returns true on success and false on failure. + \sa installTranslator() translate(), QObject::tr() */ -void QCoreApplication::removeTranslator(QTranslator *translationFile) +bool QCoreApplication::removeTranslator(QTranslator *translationFile) { if (!translationFile) - return; + return false; if (!QCoreApplicationPrivate::checkInstance("removeTranslator")) - return; + return false; QCoreApplicationPrivate *d = self->d_func(); if (d->translators.removeAll(translationFile) && !self->closingDown()) { QEvent ev(QEvent::LanguageChange); QCoreApplication::sendEvent(self, &ev); + return true; } + return false; } static void replacePercentN(QString *result, int n) diff --git a/src/corelib/kernel/qcoreapplication.h b/src/corelib/kernel/qcoreapplication.h index cf76511f25..2c942f9037 100644 --- a/src/corelib/kernel/qcoreapplication.h +++ b/src/corelib/kernel/qcoreapplication.h @@ -134,8 +134,8 @@ public: #endif // QT_NO_LIBRARY #ifndef QT_NO_TRANSLATION - static void installTranslator(QTranslator * messageFile); - static void removeTranslator(QTranslator * messageFile); + static bool installTranslator(QTranslator * messageFile); + static bool removeTranslator(QTranslator * messageFile); #endif enum Encoding { UnicodeUTF8, Latin1, DefaultCodec = Latin1 #if QT_DEPRECATED_SINCE(5, 0) |