From: Thorbjørn Lund Martsum Date: Tue, 20 Mar 2012 07:47:57 +0000 (+0100) Subject: QCoreApplication - add return type bool on install/remove translator X-Git-Tag: 071012110112~1235^2^2~238 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a4a61bb3efac34a202c102f19b170ca705a6901e;p=profile%2Fivi%2Fqtbase.git 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 Reviewed-by: Lars Knoll --- diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 967ed44..c901bc1 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 cf76511..2c942f9 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)