Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogPage.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogPage.cpp	(revision 89585)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogPage.cpp	(revision 89586)
@@ -35,7 +35,8 @@
 *********************************************************************************************************************************/
 
-UIVMLogTab::UIVMLogTab(QWidget *pParent, const QUuid &uMachineId)
+UIVMLogTab::UIVMLogTab(QWidget *pParent, const QUuid &uMachineId, const QString &strMachineName)
     : QIWithRetranslateUI<QWidget>(pParent)
     , m_uMachineId(uMachineId)
+    , m_strMachineName(strMachineName)
 {
 }
@@ -43,4 +44,9 @@
 {
     return m_uMachineId;
+}
+
+const QString UIVMLogTab::machineName() const
+{
+    return m_strMachineName;
 }
 
@@ -49,6 +55,6 @@
 *********************************************************************************************************************************/
 
-UIVMLogPage::UIVMLogPage(QWidget *pParent, const QUuid &uMachineId)
-    : UIVMLogTab(pParent, uMachineId)
+UIVMLogPage::UIVMLogPage(QWidget *pParent, const QUuid &uMachineId, const QString &strMachineName)
+    : UIVMLogTab(pParent, uMachineId, strMachineName)
     , m_pMainLayout(0)
     , m_pTextEdit(0)
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogPage.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogPage.h	(revision 89585)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogPage.h	(revision 89586)
@@ -49,10 +49,12 @@
 public:
 
-    UIVMLogTab(QWidget *pParent, const QUuid &uMachineId);
+    UIVMLogTab(QWidget *pParent, const QUuid &uMachineId, const QString &strMachineName);
     const QUuid &machineId() const;
+    const QString machineName() const;
 
 private:
 
     QUuid m_uMachineId;
+    QString m_strMachineName;
 };
 
@@ -70,5 +72,5 @@
 public:
 
-    UIVMLogPage(QWidget *pParent, const QUuid &uMachineId);
+    UIVMLogPage(QWidget *pParent, const QUuid &uMachineId, const QString &strMachineName);
     ~UIVMLogPage();
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp	(revision 89585)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp	(revision 89586)
@@ -67,6 +67,6 @@
 public:
 
-    UILabelTab(QWidget *pParent, const QUuid &uMachineId)
-        : UIVMLogPage(pParent, uMachineId)
+    UILabelTab(QWidget *pParent, const QUuid &uMachineId, const QString &strMachineName)
+        : UIVMLogPage(pParent, uMachineId, strMachineName)
     {
     }
@@ -113,4 +113,5 @@
     :QTabBar(pParent)
 {
+    setContextMenuPolicy(Qt::CustomContextMenu);
 }
 
@@ -598,4 +599,14 @@
 }
 
+void UIVMLogViewerWidget::sltShowTabBarContextMenu(const QPoint &pos)
+{
+    if (m_pTabWidget && m_pTabWidget->tabBar())
+    {
+        QMenu menu;
+        menu.addAction(tr("Close Other Tabs"));
+        menu.exec(m_pTabWidget->tabBar()->mapToGlobal(pos));
+    }
+}
+
 void UIVMLogViewerWidget::prepare()
 {
@@ -668,4 +679,6 @@
             m_pMainLayout->addWidget(m_pTabWidget);
             connect(m_pTabWidget, &QITabWidget::currentChanged, this, &UIVMLogViewerWidget::sltCurrentTabChanged);
+            connect(m_pTabWidget->tabBar(), &QTabBar::customContextMenuRequested,
+                    this, &UIVMLogViewerWidget::sltShowTabBarContextMenu);
         }
 
@@ -904,4 +917,5 @@
 
 void UIVMLogViewerWidget::createLogPage(const QString &strFileName,
+                                        const QString &strMachineName,
                                         const QUuid &machineId, int iLogFileId,
                                         const QString &strLogContent, bool noLogsToShow)
@@ -911,5 +925,5 @@
 
     /* Create page-container: */
-    UIVMLogPage* pLogPage = new UIVMLogPage(this, machineId);
+    UIVMLogPage* pLogPage = new UIVMLogPage(this, machineId, strMachineName);
     if (pLogPage)
     {
@@ -974,5 +988,5 @@
 
         if (uiCommon().uiType() == UICommon::UIType_SelectorUI)
-            m_pTabWidget->addTab(new UILabelTab(this, uMachineId), strMachineName);
+            m_pTabWidget->addTab(new UILabelTab(this, uMachineId, strMachineName), strMachineName);
 
         bool fNoLogFileForMachine = true;
@@ -984,4 +998,5 @@
                 fNoLogFileForMachine = false;
                 createLogPage(comMachine.QueryLogFilename(iLogFileId),
+                              strMachineName,
                               uMachineId, iLogFileId,
                               strLogContent, false);
@@ -994,5 +1009,5 @@
                                                  "<nobr><b>%2</b></nobr>.</p>")
                                               .arg(strMachineName).arg(comMachine.GetLogFolder()));
-            createLogPage(tr("NoLogFile"), uMachineId, -1 /* iLogFileId */, strDummyTabText, true);
+            createLogPage(tr("NoLogFile"), strMachineName, uMachineId, -1 /* iLogFileId */, strDummyTabText, true);
         }
     }
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.h	(revision 89585)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.h	(revision 89586)
@@ -141,4 +141,5 @@
         void sltResetOptionsToDefault();
     /** @} */
+    void sltShowTabBarContextMenu(const QPoint &pos);
 
 private:
@@ -175,4 +176,5 @@
     /** Returns the newly created log-page using @a strPage filename. */
     void createLogPage(const QString &strFileName,
+                       const QString &strMachineName,
                        const QUuid &machineId, int iLogFileId,
                        const QString &strLogContent, bool noLogsToShow);
