Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIBootFailureDialog.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIBootFailureDialog.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIBootFailureDialog.cpp	(revision 104290)
@@ -48,4 +48,5 @@
 #include "UIMessageCenter.h"
 #include "UIModalWindowManager.h"
+#include "UITranslationEventListener.h"
 
 /* COM includes: */
@@ -54,5 +55,5 @@
 
 UIBootFailureDialog::UIBootFailureDialog(QWidget *pParent)
-    : QIWithRetranslateUI<QIMainDialog>(pParent)
+    : QIMainDialog(pParent)
     , m_pParent(pParent)
     , m_pCentralWidget(0)
@@ -87,5 +88,5 @@
 }
 
-void UIBootFailureDialog::retranslateUi()
+void UIBootFailureDialog::sltRetranslateUI()
 {
     if (m_pCloseButton)
@@ -210,5 +211,7 @@
 
     m_pMainLayout->addStretch();
-    retranslateUi();
+    sltRetranslateUI();
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+            this, &UIBootFailureDialog::sltRetranslateUI);
 }
 
@@ -227,5 +230,5 @@
     if (m_pParent)
         gpDesktop->centerWidget(this, m_pParent, false);
-    QIWithRetranslateUI<QIMainDialog>::showEvent(pEvent);
+    QIMainDialog::showEvent(pEvent);
 
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIBootFailureDialog.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIBootFailureDialog.h	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIBootFailureDialog.h	(revision 104290)
@@ -34,5 +34,4 @@
 /* GUI includes: */
 #include "QIMainDialog.h"
-#include "QIWithRetranslateUI.h"
 #include "UIMedium.h"
 #include "UIMediumDefs.h"
@@ -48,5 +47,5 @@
 
 /** QIDialog extension providing GUI with a dialog to select an existing medium. */
-class UIBootFailureDialog : public QIWithRetranslateUI<QIMainDialog>
+class UIBootFailureDialog : public QIMainDialog
 {
 
@@ -77,4 +76,9 @@
     void sltReset();
     void sltFileSelectorPathChanged(const QString &strPath);
+    /** @name Event-handling stuff.
+      * @{ */
+        /** Handles translation event. */
+        void sltRetranslateUI();
+    /** @} */
 
 private:
@@ -83,10 +87,4 @@
     /* Checks if selected iso exists and readable. Returns false if not. Returns true if nothing is selected. */
     bool checkISOImage() const;
-
-    /** @name Event-handling stuff.
-      * @{ */
-        /** Handles translation event. */
-        virtual void retranslateUi() RT_OVERRIDE;
-    /** @} */
 
     /** @name Prepare/cleanup cascade.
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp	(revision 104290)
@@ -35,5 +35,4 @@
 /* GUI includes: */
 #include "QIStatusBarIndicator.h"
-#include "QIWithRetranslateUI.h"
 #include "UIAnimationFramework.h"
 #include "UICommon.h"
@@ -44,8 +43,9 @@
 #include "UIIndicatorsPool.h"
 #include "UIMachine.h"
+#include "UITranslationEventListener.h"
 
 
 /** QIStateStatusBarIndicator extension for Runtime UI. */
-class UISessionStateStatusBarIndicator : public QIWithRetranslateUI<QIStateStatusBarIndicator>
+class UISessionStateStatusBarIndicator : public QIStateStatusBarIndicator
 {
     Q_OBJECT;
@@ -67,8 +67,10 @@
     virtual void updateAppearance() = 0;
 
+protected slots:
+
+    /** Handles translation event. */
+    void sltRetranslateUI();
+
 protected:
-
-    /** Handles translation event. */
-    virtual void retranslateUi() RT_OVERRIDE;
 
     /** Holds the indicator type. */
@@ -150,7 +152,9 @@
     /* Install UISessionStateStatusBarIndicator accessibility interface factory: */
     QAccessible::installFactory(QIAccessibilityInterfaceForUISessionStateStatusBarIndicator::pFactory);
-}
-
-void UISessionStateStatusBarIndicator::retranslateUi()
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+            this, &UISessionStateStatusBarIndicator::sltRetranslateUI);
+}
+
+void UISessionStateStatusBarIndicator::sltRetranslateUI()
 {
     /* Translate description: */
@@ -187,5 +191,5 @@
                 this, &UIIndicatorHardDrive::updateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -239,5 +243,5 @@
                 this, &UIIndicatorOpticalDisks::updateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -291,5 +295,5 @@
                 this, &UIIndicatorFloppyDisks::updateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -352,5 +356,5 @@
                 this, &UIIndicatorAudio::updateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -408,5 +412,5 @@
                 this, &UIIndicatorNetwork::updateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -460,5 +464,5 @@
                 this, &UIIndicatorUSB::updateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -509,5 +513,5 @@
                 this, &UIIndicatorSharedFolders::updateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -557,5 +561,5 @@
                 this, &UIIndicatorDisplay::updateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -626,5 +630,5 @@
                                                              1000);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -764,5 +768,5 @@
         }
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -880,5 +884,5 @@
                 this, static_cast<void(UIIndicatorMouse::*)(int)>(&UIIndicatorMouse::setState)); // us to blame ..
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -959,5 +963,5 @@
                 this, static_cast<void(UIIndicatorKeyboard::*)(int)>(&UIIndicatorKeyboard::setState)); // us to blame ..
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
     }
 
@@ -985,5 +989,5 @@
 
 /** QITextStatusBarIndicator extension for Runtime UI: Keyboard-extension indicator. */
-class UIIndicatorKeyboardExtension : public QIWithRetranslateUI<QITextStatusBarIndicator>
+class UIIndicatorKeyboardExtension : public QITextStatusBarIndicator
 {
     Q_OBJECT;
@@ -998,5 +1002,7 @@
                 this, &UIIndicatorKeyboardExtension::sltUpdateAppearance);
         /* Translate finally: */
-        retranslateUi();
+        sltRetranslateUI();
+        connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+                this, &UIIndicatorKeyboardExtension::sltRetranslateUI);
     }
 
@@ -1009,8 +1015,8 @@
     }
 
-private:
+private slots:
 
     /** Retranslation routine. */
-    virtual void retranslateUi() RT_OVERRIDE
+    void sltRetranslateUI()
     {
         sltUpdateAppearance();
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp	(revision 104290)
@@ -72,4 +72,5 @@
 #include "UINotificationCenter.h"
 #include "UISoftKeyboard.h"
+#include "UITranslationEventListener.h"
 #include "UITakeSnapshotDialog.h"
 #include "UIVersion.h"
@@ -223,5 +224,7 @@
 
     /* Retranslate logic part: */
-    retranslateUi();
+    sltRetranslateUI();
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+        this, &UIMachineLogic::sltRetranslateUI);
 }
 
@@ -747,5 +750,5 @@
 
 UIMachineLogic::UIMachineLogic(UIMachine *pMachine)
-    : QIWithRetranslateUI3<QObject>(pMachine)
+    : QObject(pMachine)
     , m_pMachine(pMachine)
     , m_pKeyboardHandler(0)
@@ -806,5 +809,5 @@
 }
 
-void UIMachineLogic::retranslateUi()
+void UIMachineLogic::sltRetranslateUI()
 {
 #ifdef VBOX_WS_MAC
@@ -1502,5 +1505,5 @@
     }
     /* Call to base-class: */
-    return QIWithRetranslateUI3<QObject>::eventFilter(pWatched, pEvent);
+    return QObject::eventFilter(pWatched, pEvent);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h	(revision 104290)
@@ -33,5 +33,4 @@
 
 /* GUI includes: */
-#include "QIWithRetranslateUI.h"
 #include "UIExtraDataDefs.h"
 #include "UIAdvancedSettingsDialog.h"
@@ -60,5 +59,5 @@
 
 /* Machine logic interface: */
-class UIMachineLogic : public QIWithRetranslateUI3<QObject>
+class UIMachineLogic : public QObject
 {
     Q_OBJECT;
@@ -181,5 +180,4 @@
     void setMouseHandler(UIMouseHandler *pMouseHandler);
     void addMachineWindow(UIMachineWindow *pMachineWindow);
-    void retranslateUi() RT_OVERRIDE;
 #ifdef VBOX_WS_MAC
     bool isDockIconPreviewEnabled() const { return m_fIsDockIconEnabled; }
@@ -329,4 +327,7 @@
     void sltHandleCommitData();
 
+    /** Handles translation event. */
+    void sltRetranslateUI();
+
 private:
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp	(revision 104290)
@@ -51,4 +51,5 @@
 #include "UIKeyboardHandler.h"
 #include "UIMouseHandler.h"
+#include "UITranslationEventListener.h"
 #include "UIVMCloseDialog.h"
 
@@ -135,5 +136,7 @@
 
     /* Retranslate window: */
-    retranslateUi();
+    sltRetranslateUI();
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+        this, &UIMachineWindow::sltRetranslateUI);
 
     /* Show (must be done before updating the appearance): */
@@ -194,5 +197,5 @@
 
 UIMachineWindow::UIMachineWindow(UIMachineLogic *pMachineLogic, ulong uScreenId)
-    : QIWithRetranslateUI2<QMainWindow>(0, pMachineLogic->windowFlags(uScreenId))
+    : QMainWindow(0, pMachineLogic->windowFlags(uScreenId))
     , m_pMachineLogic(pMachineLogic)
     , m_pMachineView(0)
@@ -296,5 +299,5 @@
 }
 
-void UIMachineWindow::retranslateUi()
+void UIMachineWindow::sltRetranslateUI()
 {
     /* Compose window-title prefix: */
@@ -313,5 +316,5 @@
 {
     /* Call to base-class: */
-    const bool fResult = QIWithRetranslateUI2<QMainWindow>::event(pEvent);
+    const bool fResult = QMainWindow::event(pEvent);
 
     /* Handle particular events: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.h	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.h	(revision 104290)
@@ -36,5 +36,4 @@
 
 /* GUI includes: */
-#include "QIWithRetranslateUI.h"
 #include "UIExtraDataDefs.h"
 #ifdef VBOX_WS_MAC
@@ -57,5 +56,5 @@
 
 /* Machine-window interface: */
-class UIMachineWindow : public QIWithRetranslateUI2<QMainWindow>
+class UIMachineWindow : public QMainWindow
 {
     Q_OBJECT;
@@ -133,7 +132,4 @@
     /* Constructor: */
     UIMachineWindow(UIMachineLogic *pMachineLogic, ulong uScreenId);
-
-    /* Translate stuff: */
-    void retranslateUi() RT_OVERRIDE;
 
     /** Handles any Qt @a pEvent. */
@@ -215,4 +211,10 @@
     QSpacerItem *m_pLeftSpacer;
     QSpacerItem *m_pRightSpacer;
+
+private slots:
+
+    /* Translate stuff: */
+    void sltRetranslateUI();
+
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIVMCloseDialog.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIVMCloseDialog.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIVMCloseDialog.cpp	(revision 104290)
@@ -48,4 +48,5 @@
 #include "UIMessageCenter.h"
 #include "UIShortcutPool.h"
+#include "UITranslationEventListener.h"
 #include "UIVMCloseDialog.h"
 
@@ -53,5 +54,5 @@
 UIVMCloseDialog::UIVMCloseDialog(QWidget *pParent, UIMachine *pMachine,
                                  bool fIsACPIEnabled, MachineCloseAction restictedCloseActions)
-    : QIWithRetranslateUI<QIDialog>(pParent)
+    : QIDialog(pParent)
     , m_pMachine(pMachine)
     , m_fIsACPIEnabled(fIsACPIEnabled)
@@ -93,5 +94,5 @@
         && pObject != m_pRadioButtonShutdown
         && pObject != m_pRadioButtonPowerOff)
-        return QIWithRetranslateUI<QIDialog>::eventFilter(pObject, pEvent);
+        return QIDialog::eventFilter(pObject, pEvent);
 
     /* For now we are interested in double-click events only: */
@@ -109,5 +110,5 @@
 
     /* Call to base-class: */
-    return QIWithRetranslateUI<QIDialog>::eventFilter(pObject, pEvent);
+    return QIDialog::eventFilter(pObject, pEvent);
 }
 
@@ -115,5 +116,5 @@
 {
     /* Pre-process in base-class: */
-    const bool fResult = QIWithRetranslateUI<QIDialog>::event(pEvent);
+    const bool fResult = QIDialog::event(pEvent);
 
     /* Post-process know event types: */
@@ -140,8 +141,8 @@
 
     /* Call to base-class: */
-    QIWithRetranslateUI<QIDialog>::showEvent(pEvent);
-}
-
-void UIVMCloseDialog::retranslateUi()
+    QIDialog::showEvent(pEvent);
+}
+
+void UIVMCloseDialog::sltRetranslateUI()
 {
     /* Translate title: */
@@ -296,5 +297,7 @@
 
     /* Apply language settings: */
-    retranslateUi();
+    sltRetranslateUI();
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+            this, &UIVMCloseDialog::sltRetranslateUI);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIVMCloseDialog.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIVMCloseDialog.h	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIVMCloseDialog.h	(revision 104290)
@@ -37,5 +37,4 @@
 /* GUI includes: */
 #include "QIDialog.h"
-#include "QIWithRetranslateUI.h"
 #include "UIExtraDataDefs.h"
 
@@ -50,5 +49,5 @@
 
 /** QIDialog extension to handle Runtime UI close-event. */
-class UIVMCloseDialog : public QIWithRetranslateUI<QIDialog>
+class UIVMCloseDialog : public QIDialog
 {
     Q_OBJECT;
@@ -80,8 +79,8 @@
     virtual void showEvent(QShowEvent *pEvent) RT_OVERRIDE;
 
+private slots:
+
     /** Handles translation event. */
-    virtual void retranslateUi() RT_OVERRIDE;
-
-private slots:
+    void sltRetranslateUI();
 
     /** Updates widgets availability. */
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.cpp	(revision 104290)
@@ -45,8 +45,9 @@
 #include "UIInformationConfiguration.h"
 #include "UIMachine.h"
+#include "UITranslationEventListener.h"
 #include "UIVirtualBoxEventHandler.h"
 
 UIInformationConfiguration::UIInformationConfiguration(QWidget *pParent)
-    : QIWithRetranslateUI<QWidget>(pParent)
+    : QWidget(pParent)
     , m_pMainLayout(0)
     , m_pTableWidget(0)
@@ -59,5 +60,7 @@
 {
     prepareObjects();
-    retranslateUi();
+    sltRetranslateUI();
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+            this, &UIInformationConfiguration::sltRetranslateUI);
     connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigMachineDataChange,
             this, &UIInformationConfiguration::sltMachineDataChanged);
@@ -89,5 +92,5 @@
 }
 
-void UIInformationConfiguration::retranslateUi()
+void UIInformationConfiguration::sltRetranslateUI()
 {
     m_strGeneralTitle = QApplication::translate("UIVMInformationDialog", "General");
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.h	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.h	(revision 104290)
@@ -36,5 +36,4 @@
 
 /* GUI includes: */
-#include "QIWithRetranslateUI.h"
 #include "UITextTable.h"
 
@@ -45,5 +44,5 @@
 class QVBoxLayout;
 
-class UIInformationConfiguration : public QIWithRetranslateUI<QWidget>
+class UIInformationConfiguration : public QWidget
 {
     Q_OBJECT;
@@ -54,10 +53,7 @@
     UIInformationConfiguration(QWidget *pParent);
 
-protected:
-
-    void retranslateUi() RT_OVERRIDE;
-
 private slots:
 
+    void sltRetranslateUI();
     void sltMachineDataChanged();
     void sltHandleTableContextMenuRequest(const QPoint &position);
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationRuntime.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationRuntime.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationRuntime.cpp	(revision 104290)
@@ -43,4 +43,5 @@
 #include "UIGuestOSType.h"
 #include "UIMachine.h"
+#include "UITranslationEventListener.h"
 
 /* COM includes: */
@@ -71,5 +72,5 @@
 *********************************************************************************************************************************/
 /** A QTablWidget extention to show some runtime attributes */
-class UIRuntimeInfoWidget : public QIWithRetranslateUI<QTableWidget>
+class UIRuntimeInfoWidget : public QTableWidget
 {
 
@@ -86,10 +87,7 @@
     QString tableData() const;
 
-protected:
-
-    virtual void retranslateUi() RT_OVERRIDE;
-
 private slots:
 
+    void sltRetranslateUI();
     void sltTimeout();
 
@@ -149,5 +147,5 @@
 
 UIRuntimeInfoWidget::UIRuntimeInfoWidget(QWidget *pParent)
-    : QIWithRetranslateUI<QTableWidget>(pParent)
+    : QTableWidget(pParent)
     , m_iMinimumWidth(0)
     , m_pTimer(0)
@@ -185,9 +183,11 @@
 
 
-    retranslateUi();
+    sltRetranslateUI();
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+            this, &UIRuntimeInfoWidget::sltRetranslateUI);
     computeMinimumWidth();
 }
 
-void UIRuntimeInfoWidget::retranslateUi()
+void UIRuntimeInfoWidget::sltRetranslateUI()
 {
     m_strTableTitle                    = QApplication::translate("UIVMInformationDialog", "Runtime Attributes");
@@ -522,5 +522,5 @@
 
 UIInformationRuntime::UIInformationRuntime(QWidget *pParent)
-    : QIWithRetranslateUI<QWidget>(pParent)
+    : QWidget(pParent)
     , m_pMainLayout(0)
     , m_pRuntimeInfoWidget(0)
@@ -534,8 +534,10 @@
 
     prepareObjects();
-    retranslateUi();
-}
-
-void UIInformationRuntime::retranslateUi()
+    sltRetranslateUI();
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+        this, &UIInformationRuntime::sltRetranslateUI);
+}
+
+void UIInformationRuntime::sltRetranslateUI()
 {
     if (m_pCopyWholeTableAction)
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationRuntime.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationRuntime.h	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationRuntime.h	(revision 104290)
@@ -35,7 +35,4 @@
 #include <QWidget>
 
-/* GUI includes: */
-#include "QIWithRetranslateUI.h"
-
 /* COM includes: */
 #include "KClipboardMode.h"
@@ -51,5 +48,5 @@
 /** UIInformationRuntime class displays a table including some
   * run time attributes. */
-class UIInformationRuntime : public QIWithRetranslateUI<QWidget>
+class UIInformationRuntime : public QWidget
 {
     Q_OBJECT;
@@ -60,9 +57,7 @@
     UIInformationRuntime(QWidget *pParent);
 
-protected:
+private slots:
 
-    virtual void retranslateUi() RT_OVERRIDE;
-
-private slots:
+    virtual void sltRetranslateUI();
 
     /** @name These functions are connected to API events and implement necessary updates on the table.
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp	(revision 104290)
@@ -49,4 +49,5 @@
 #include "UISession.h"
 #include "UIShortcutPool.h"
+#include "UITranslationEventListener.h"
 #include "UIVirtualBoxEventHandler.h"
 #include "UIVMInformationDialog.h"
@@ -54,5 +55,5 @@
 
 UIVMInformationDialog::UIVMInformationDialog()
-    : QMainWindowWithRestorableGeometryAndRetranslateUi(0)
+    : QMainWindowWithRestorableGeometry(0)
     , m_pTabWidget(0)
     , m_fCloseEmitted(false)
@@ -67,5 +68,5 @@
 }
 
-void UIVMInformationDialog::retranslateUi()
+void UIVMInformationDialog::sltRetranslateUI()
 {
     /* Setup dialog title: */
@@ -128,5 +129,5 @@
             break;
     }
-    return QMainWindowWithRestorableGeometryAndRetranslateUi::event(pEvent);
+    return QMainWindowWithRestorableGeometry::event(pEvent);
 }
 
@@ -170,5 +171,7 @@
 
     /* Apply language settings: */
-    retranslateUi();
+    sltRetranslateUI();
+    connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI,
+            this, &UIVMInformationDialog::sltRetranslateUI);
 
     /* Load settings: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.h	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.h	(revision 104290)
@@ -38,5 +38,4 @@
 /* GUI includes: */
 #include "QIWithRestorableGeometry.h"
-#include "QIWithRetranslateUI.h"
 
 /* COM includes: */
@@ -49,10 +48,8 @@
 /* Type definitions: */
 typedef QIWithRestorableGeometry<QMainWindow> QMainWindowWithRestorableGeometry;
-typedef QIWithRetranslateUI<QMainWindowWithRestorableGeometry> QMainWindowWithRestorableGeometryAndRetranslateUi;
-
 
 /** QMainWindow subclass providing user
   * with the dialog unifying VM details and statistics. */
-class UIVMInformationDialog : public QMainWindowWithRestorableGeometryAndRetranslateUi
+class UIVMInformationDialog : public QMainWindowWithRestorableGeometry
 {
     Q_OBJECT;
@@ -72,6 +69,4 @@
 protected:
 
-    /** Handles translation event. */
-    virtual void retranslateUi() RT_OVERRIDE;
     virtual void closeEvent(QCloseEvent *pEvent) RT_OVERRIDE;
     virtual bool event(QEvent *pEvent) RT_OVERRIDE;
@@ -79,4 +74,6 @@
 private slots:
 
+    /** Handles translation event. */
+    void sltRetranslateUI();
     /** Handles tab-widget page change. */
     void sltHandlePageChanged(int iIndex);
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UISlidingToolBar.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UISlidingToolBar.cpp	(revision 104273)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UISlidingToolBar.cpp	(revision 104290)
@@ -27,4 +27,6 @@
 
 /* Qt includes: */
+#include <QApplication>
+#include <QCloseEvent>
 #include <QHBoxLayout>
 
