@ -46,10 +46,17 @@ class Retranslator : public QObject
{
{
Q_OBJECT
Q_OBJECT
public :
public :
/// @brief Call @p retranslateFunc when the language changes
static void attachRetranslator ( QObject * parent , std : : function < void ( void ) > retranslateFunc ) ;
static void attachRetranslator ( QObject * parent , std : : function < void ( void ) > retranslateFunc ) ;
/// @brief What retranslator belongs to @p parent (may create one)
static Retranslator * retranslatorFor ( QObject * parent ) ;
/// @brief Call @p retranslateFunc when the language changes
void addRetranslateFunc ( std : : function < void ( void ) > retranslateFunc ) ;
void addRetranslateFunc ( std : : function < void ( void ) > retranslateFunc ) ;
signals :
void languageChange ( ) ;
protected :
protected :
bool eventFilter ( QObject * obj , QEvent * e ) override ;
bool eventFilter ( QObject * obj , QEvent * e ) override ;
@ -65,5 +72,12 @@ private:
# define CALAMARES_RETRANSLATE( body ) CalamaresUtils::Retranslator::attachRetranslator( this, [=] { body } );
# define CALAMARES_RETRANSLATE( body ) CalamaresUtils::Retranslator::attachRetranslator( this, [=] { body } );
# define CALAMARES_RETRANSLATE_WIDGET( widget, body ) \
# define CALAMARES_RETRANSLATE_WIDGET( widget, body ) \
CalamaresUtils : : Retranslator : : attachRetranslator ( widget , [ = ] { body } ) ;
CalamaresUtils : : Retranslator : : attachRetranslator ( widget , [ = ] { body } ) ;
# define CALAMARES_RETRANSLATE_SLOT( slotfunc ) \
{ \
this - > connect ( CalamaresUtils : : Retranslator : : retranslatorFor ( this ) , \
& CalamaresUtils : : Retranslator : : languageChange , \
this , \
slotfunc ) ; \
}
# endif
# endif