VirtualBox

Ignore:
Timestamp:
Dec 28, 2023 2:00:03 PM (12 months ago)
Author:
vboxsync
Message:

FE/Qt: Adding Detach button to Log Viewer to be able to open it in separate window.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPanel.cpp

    r101092 r102723  
    101101    connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigResetToDefaults,
    102102            this, &UIVMLogViewerPaneContainer::sigResetToDefaults);
     103    connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigDetach,
     104            this, &UIVMLogViewerPaneContainer::sigDetach);
    103105
    104106    retranslateUi();
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPanel.h

    r101092 r102723  
    6363    void sigChangeFont(QFont font);
    6464    void sigResetToDefaults();
     65    void sigDetach();
    6566
    6667    void sigShowSearchPane();
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPreferencesWidget.cpp

    r101563 r102723  
    3232#include <QCheckBox>
    3333#include <QLabel>
     34#include <QPushButton>
    3435#include <QSpinBox>
    3536
    3637/* GUI includes: */
     38#include "QIDialogButtonBox.h"
    3739#include "QIToolButton.h"
    3840#include "UIIconPool.h"
     
    5254    , m_pOpenFontDialogButton(0)
    5355    , m_pResetToDefaultsButton(0)
     56    , m_pButtonBox(0)
    5457    , m_iDefaultFontSize(9)
    5558{
     
    153156    pMainLayout->addLayout(pContainerLayout);
    154157    pMainLayout->addStretch(1);
     158
     159    /* Create button-box: */
     160    m_pButtonBox = new QIDialogButtonBox;
     161    if (m_pButtonBox)
     162    {
     163        /* Configure button-box: */
     164        m_pButtonBox->setVisible(viewer()->embeddingType() == EmbedTo_Stack);
     165        m_pButtonBox->setStandardButtons(QDialogButtonBox::Close);
     166        connect(m_pButtonBox->button(QIDialogButtonBox::Close), &QPushButton::pressed,
     167                this, &UIVMLogViewerPreferencesWidget::sigDetach);
     168
     169        /* Add into layout: */
     170        pMainLayout->addWidget(m_pButtonBox);
     171    }
    155172}
    156173
     
    184201    m_pOpenFontDialogButton->setToolTip(UIVMLogViewerWidget::tr("Open a font dialog to select font face for the logviewer"));
    185202    m_pResetToDefaultsButton->setToolTip(UIVMLogViewerWidget::tr("Reset options to application defaults"));
     203
     204    if (m_pButtonBox)
     205    {
     206        m_pButtonBox->button(QDialogButtonBox::Close)->setText(tr("Detach"));
     207        m_pButtonBox->button(QDialogButtonBox::Close)->setStatusTip(tr("Open the tool in separate window"));
     208    }
    186209}
    187210
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerPreferencesWidget.h

    r100963 r102723  
    3939class QSpinBox;
    4040class QLabel;
     41class QIDialogButtonBox;
    4142class QIToolButton;
    4243class UIVMLogViewerWidget;
     
    5455    void sigChangeFont(QFont font);
    5556    void sigResetToDefaults();
     57    void sigDetach();
    5658
    5759public:
     
    8789    QIToolButton *m_pResetToDefaultsButton;
    8890
     91    QIDialogButtonBox *m_pButtonBox;
     92
    8993    /** Default font size in points. */
    9094    const int    m_iDefaultFontSize;
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp

    r102574 r102723  
    796796    connect(m_pPanel, &UIVMLogViewerPaneContainer::sigResetToDefaults,
    797797            this, &UIVMLogViewerWidget::sltResetOptionsToDefault);
     798    connect(m_pPanel, &UIVMLogViewerPaneContainer::sigDetach,
     799            this, &UIVMLogViewerWidget::sigDetach);
    798800    connect(m_pPanel, &UIVMLogViewerPaneContainer::sigCurrentTabChanged,
    799801            this, &UIVMLogViewerWidget::sltPanelCurrentTabChanged);
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.h

    r102574 r102723  
    7171
    7272    void sigSetCloseButtonShortCut(QKeySequence);
     73    void sigDetach();
    7374
    7475public:
     
    8283                        bool fShowToolbar = true, const QList<QUuid> &machineIDs = QList<QUuid>(), QWidget *pParent = 0);
    8384    ~UIVMLogViewerWidget();
     85
     86    /** Returns the widget's embedding type. */
     87    EmbedTo embeddingType() const { return m_enmEmbedding; }
     88
    8489    /** Returns the width of the current log page. return 0 if there is no current log page: */
    8590    int defaultLogPageWidth() const;
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp

    r102420 r102723  
    195195                    /* Configure pane: */
    196196                    m_pPaneLogViewer->setProperty("ToolType", QVariant::fromValue(UIToolType_Logs));
     197                    connect(m_pPaneLogViewer, &UIVMLogViewerWidget::sigDetach,
     198                            this, &UIToolPaneMachine::sigDetachLogViewer);
    197199                    m_pPaneLogViewer->setSelectedVMListItems(m_items);
    198200
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h

    r102420 r102723  
    7676    void sigSwitchToActivityOverviewPane();
    7777
     78    /** Notifies listeners about request to detach Log Viewer pane. */
     79    void sigDetachLogViewer();
     80
    7881public:
    7982
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r102722 r102723  
    969969{
    970970    updateActionsAppearance();
     971}
     972
     973void UIVirtualBoxManager::sltDetachLogViewer()
     974{
     975    sltOpenManagerWindow(UIToolType_Logs);
    971976}
    972977
     
    24892494    connect(m_pWidget, &UIVirtualBoxManagerWidget::sigCurrentSnapshotItemChange,
    24902495            this, &UIVirtualBoxManager::sltCurrentSnapshotItemChange);
     2496    connect(m_pWidget, &UIVirtualBoxManagerWidget::sigDetachLogViewer,
     2497            this, &UIVirtualBoxManager::sltDetachLogViewer);
    24912498
    24922499    connect(menuBar(), &QMenuBar::customContextMenuRequested,
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h

    r102575 r102723  
    167167        /** Handles current snapshot item change. */
    168168        void sltCurrentSnapshotItemChange();
     169
     170        /** Handles request to detach Log Viewer pane. */
     171        void sltDetachLogViewer();
    169172
    170173        /** Handles state change for cloud machine with certain @a uId. */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp

    r102479 r102723  
    730730                            connect(m_pPaneToolsMachine, &UIToolPaneMachine::sigSwitchToActivityOverviewPane,
    731731                                    this, &UIVirtualBoxManagerWidget::sltSwitchToActivityOverviewPane);
     732                            connect(m_pPaneToolsMachine, &UIToolPaneMachine::sigDetachLogViewer,
     733                                    this, &UIVirtualBoxManagerWidget::sigDetachLogViewer);
    732734
    733735                            /* Add into stack: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h

    r102422 r102723  
    124124    /** @} */
    125125
     126    /** @name Tools / Log Viewer pane stuff.
     127      * @{ */
     128        /** Notifies listeners about request to detach Log Viewer pane. */
     129        void sigDetachLogViewer();
     130    /** @} */
     131
    126132public:
    127133
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette