Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPanel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPanel.cpp	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPanel.cpp	(revision 102723)
@@ -101,4 +101,6 @@
     connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigResetToDefaults,
             this, &UIVMLogViewerPaneContainer::sigResetToDefaults);
+    connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigDetach,
+            this, &UIVMLogViewerPaneContainer::sigDetach);
 
     retranslateUi();
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPanel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPanel.h	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPanel.h	(revision 102723)
@@ -63,4 +63,5 @@
     void sigChangeFont(QFont font);
     void sigResetToDefaults();
+    void sigDetach();
 
     void sigShowSearchPane();
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPreferencesWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPreferencesWidget.cpp	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPreferencesWidget.cpp	(revision 102723)
@@ -32,7 +32,9 @@
 #include <QCheckBox>
 #include <QLabel>
+#include <QPushButton>
 #include <QSpinBox>
 
 /* GUI includes: */
+#include "QIDialogButtonBox.h"
 #include "QIToolButton.h"
 #include "UIIconPool.h"
@@ -52,4 +54,5 @@
     , m_pOpenFontDialogButton(0)
     , m_pResetToDefaultsButton(0)
+    , m_pButtonBox(0)
     , m_iDefaultFontSize(9)
 {
@@ -153,4 +156,18 @@
     pMainLayout->addLayout(pContainerLayout);
     pMainLayout->addStretch(1);
+
+    /* Create button-box: */
+    m_pButtonBox = new QIDialogButtonBox;
+    if (m_pButtonBox)
+    {
+        /* Configure button-box: */
+        m_pButtonBox->setVisible(viewer()->embeddingType() == EmbedTo_Stack);
+        m_pButtonBox->setStandardButtons(QDialogButtonBox::Close);
+        connect(m_pButtonBox->button(QIDialogButtonBox::Close), &QPushButton::pressed,
+                this, &UIVMLogViewerPreferencesWidget::sigDetach);
+
+        /* Add into layout: */
+        pMainLayout->addWidget(m_pButtonBox);
+    }
 }
 
@@ -184,4 +201,10 @@
     m_pOpenFontDialogButton->setToolTip(UIVMLogViewerWidget::tr("Open a font dialog to select font face for the logviewer"));
     m_pResetToDefaultsButton->setToolTip(UIVMLogViewerWidget::tr("Reset options to application defaults"));
+
+    if (m_pButtonBox)
+    {
+        m_pButtonBox->button(QDialogButtonBox::Close)->setText(tr("Detach"));
+        m_pButtonBox->button(QDialogButtonBox::Close)->setStatusTip(tr("Open the tool in separate window"));
+    }
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPreferencesWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPreferencesWidget.h	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPreferencesWidget.h	(revision 102723)
@@ -39,4 +39,5 @@
 class QSpinBox;
 class QLabel;
+class QIDialogButtonBox;
 class QIToolButton;
 class UIVMLogViewerWidget;
@@ -54,4 +55,5 @@
     void sigChangeFont(QFont font);
     void sigResetToDefaults();
+    void sigDetach();
 
 public:
@@ -87,4 +89,6 @@
     QIToolButton *m_pResetToDefaultsButton;
 
+    QIDialogButtonBox *m_pButtonBox;
+
     /** Default font size in points. */
     const int    m_iDefaultFontSize;
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp	(revision 102723)
@@ -796,4 +796,6 @@
     connect(m_pPanel, &UIVMLogViewerPaneContainer::sigResetToDefaults,
             this, &UIVMLogViewerWidget::sltResetOptionsToDefault);
+    connect(m_pPanel, &UIVMLogViewerPaneContainer::sigDetach,
+            this, &UIVMLogViewerWidget::sigDetach);
     connect(m_pPanel, &UIVMLogViewerPaneContainer::sigCurrentTabChanged,
             this, &UIVMLogViewerWidget::sltPanelCurrentTabChanged);
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.h	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.h	(revision 102723)
@@ -71,4 +71,5 @@
 
     void sigSetCloseButtonShortCut(QKeySequence);
+    void sigDetach();
 
 public:
@@ -82,4 +83,8 @@
                         bool fShowToolbar = true, const QList<QUuid> &machineIDs = QList<QUuid>(), QWidget *pParent = 0);
     ~UIVMLogViewerWidget();
+
+    /** Returns the widget's embedding type. */
+    EmbedTo embeddingType() const { return m_enmEmbedding; }
+
     /** Returns the width of the current log page. return 0 if there is no current log page: */
     int defaultLogPageWidth() const;
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp	(revision 102723)
@@ -195,4 +195,6 @@
                     /* Configure pane: */
                     m_pPaneLogViewer->setProperty("ToolType", QVariant::fromValue(UIToolType_Logs));
+                    connect(m_pPaneLogViewer, &UIVMLogViewerWidget::sigDetach,
+                            this, &UIToolPaneMachine::sigDetachLogViewer);
                     m_pPaneLogViewer->setSelectedVMListItems(m_items);
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h	(revision 102723)
@@ -76,4 +76,7 @@
     void sigSwitchToActivityOverviewPane();
 
+    /** Notifies listeners about request to detach Log Viewer pane. */
+    void sigDetachLogViewer();
+
 public:
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 102723)
@@ -969,4 +969,9 @@
 {
     updateActionsAppearance();
+}
+
+void UIVirtualBoxManager::sltDetachLogViewer()
+{
+    sltOpenManagerWindow(UIToolType_Logs);
 }
 
@@ -2489,4 +2494,6 @@
     connect(m_pWidget, &UIVirtualBoxManagerWidget::sigCurrentSnapshotItemChange,
             this, &UIVirtualBoxManager::sltCurrentSnapshotItemChange);
+    connect(m_pWidget, &UIVirtualBoxManagerWidget::sigDetachLogViewer,
+            this, &UIVirtualBoxManager::sltDetachLogViewer);
 
     connect(menuBar(), &QMenuBar::customContextMenuRequested,
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 102723)
@@ -167,4 +167,7 @@
         /** Handles current snapshot item change. */
         void sltCurrentSnapshotItemChange();
+
+        /** Handles request to detach Log Viewer pane. */
+        void sltDetachLogViewer();
 
         /** Handles state change for cloud machine with certain @a uId. */
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp	(revision 102723)
@@ -730,4 +730,6 @@
                             connect(m_pPaneToolsMachine, &UIToolPaneMachine::sigSwitchToActivityOverviewPane,
                                     this, &UIVirtualBoxManagerWidget::sltSwitchToActivityOverviewPane);
+                            connect(m_pPaneToolsMachine, &UIToolPaneMachine::sigDetachLogViewer,
+                                    this, &UIVirtualBoxManagerWidget::sigDetachLogViewer);
 
                             /* Add into stack: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h	(revision 102722)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h	(revision 102723)
@@ -124,4 +124,10 @@
     /** @} */
 
+    /** @name Tools / Log Viewer pane stuff.
+      * @{ */
+        /** Notifies listeners about request to detach Log Viewer pane. */
+        void sigDetachLogViewer();
+    /** @} */
+
 public:
 
