VirtualBox

Changeset 102732 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Dec 29, 2023 4:35:15 PM (14 months ago)
Author:
vboxsync
Message:

FE/Qt: Extend UIVLogViewerDialog with possibility to embed it to UIVirtualBoxManager tool stack; Ofc that is related to log viewer opened from VBox Manager only, not Runtime UI.

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

Legend:

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

    r102574 r102732  
    3030# include <QFontDatabase>
    3131#endif
     32#include <QAbstractButton>
    3233#include <QPushButton>
    3334#include <QVBoxLayout>
    3435
    3536/* GUI includes: */
     37#include "QIDialogButtonBox.h"
    3638#include "UIDesktopWidgetWatchdog.h"
    3739#include "UIExtraDataManager.h"
     
    102104    button(ButtonType_Close)->setText(UIVMLogViewerWidget::tr("Close"));
    103105    button(ButtonType_Help)->setText(UIVMLogViewerWidget::tr("Help"));
     106    button(ButtonType_Embed)->setText(UIVMLogViewerWidget::tr("Embed"));
    104107    button(ButtonType_Close)->setStatusTip(UIVMLogViewerWidget::tr("Close dialog"));
    105108    button(ButtonType_Help)->setStatusTip(UIVMLogViewerWidget::tr("Show dialog help"));
     109    button(ButtonType_Embed)->setStatusTip(UIVMLogViewerWidget::tr("Embed to manager window"));
    106110    button(ButtonType_Close)->setShortcut(Qt::Key_Escape);
    107111    button(ButtonType_Help)->setShortcut(QKeySequence::HelpContents);
    108112    button(ButtonType_Close)->setToolTip(UIVMLogViewerWidget::tr("Close Window (%1)").arg(button(ButtonType_Close)->shortcut().toString()));
    109113    button(ButtonType_Help)->setToolTip(UIVMLogViewerWidget::tr("Show Help (%1)").arg(button(ButtonType_Help)->shortcut().toString()));
     114    button(ButtonType_Embed)->setToolTip(UIVMLogViewerWidget::tr("Embed to Manager Window"));
    110115}
    111116
     
    167172}
    168173
     174void UIVMLogViewerDialog::configureButtonBox()
     175{
     176    /* General handler for the button being clicked: */
     177    connect(buttonBox(), &QIDialogButtonBox::clicked,
     178            this, &UIVMLogViewerDialog::sltHandleButtonBoxClick);
     179
     180    /* Show/Enable Embed button depending for Manager, not for Runtime: */
     181    button(ButtonType_Embed)->setVisible(m_strMachineName.isEmpty());
     182    button(ButtonType_Embed)->setEnabled(m_strMachineName.isEmpty());
     183}
     184
    169185void UIVMLogViewerDialog::finalize()
    170186{
     
    216232        button(ButtonType_Close)->setShortcut(shortcut);
    217233}
     234
     235void UIVMLogViewerDialog::sltHandleButtonBoxClick(QAbstractButton *pButton)
     236{
     237    /* Disable all buttons first of all: */
     238    button(ButtonType_Embed)->setEnabled(false);
     239
     240    /* Compare with known buttons: */
     241    if (pButton == button(ButtonType_Embed))
     242        emit sigEmbed();
     243}
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerDialog.h

    r102574 r102732  
    4141
    4242/* Forward declarations: */
     43class QAbstractButton;
    4344class UIActionPool;
    4445class UIVirtualMachineItem;
     
    103104        /** Configures central-widget. */
    104105        virtual void configureCentralWidget() RT_OVERRIDE;
     106        /** Configures button-box. */
     107        virtual void configureButtonBox() RT_OVERRIDE;
    105108        /** Perform final preparations. */
    106109        virtual void finalize() RT_OVERRIDE;
     
    123126    void sltSetCloseButtonShortCut(QKeySequence shortcut);
    124127
     128    /** Handles button-box button click. */
     129    void sltHandleButtonBoxClick(QAbstractButton *pButton);
     130
    125131private:
    126132
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r102731 r102732  
    10811081    sltCloseManagerWindow(enmType);
    10821082
    1083     /// @todo add tools which can be embedded ..
     1083    /* Open known tool finally: */
     1084    switch (enmType)
     1085    {
     1086        case UIToolType_Logs: m_pWidget->setToolsTypeMachine(enmType); break;
     1087        default: break;
     1088    }
    10841089}
    10851090
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