VirtualBox

Changeset 92467 in vbox


Ignore:
Timestamp:
Nov 17, 2021 9:03:15 AM (3 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:10141

  • Adding VISO creator to the list of machine tools,
  • Changing the way we update vm activity tool tabs as selected vm list changes. Previous method was causing some artefacts.
Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp

    r89096 r92467  
    113113    m_machineIds = machineIds;
    114114
    115     hide();
     115    //hide();
    116116    removeTabs(unselectedMachines);
    117117    addTabs(newSelections);
    118     show();
     118    //show();
    119119}
    120120
     
    164164{
    165165    QVector<UIVMActivityMonitor*> removeList;
    166     QVector<UIVMActivityMonitor*> keepList;
    167     for (int i = 0; i < count(); ++i)
     166
     167    for (int i = count() - 1; i >= 0; --i)
    168168    {
    169169        UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>(widget(i));
     
    171171            continue;
    172172        if (machineIdsToRemove.contains(pMonitor->machineId()))
     173        {
    173174            removeList << pMonitor;
    174         else
    175             keepList << pMonitor;
    176     }
    177     clear();
     175            removeTab(i);
     176        }
     177    }
    178178    qDeleteAll(removeList.begin(), removeList.end());
    179 
    180     foreach (UIVMActivityMonitor *pMonitor, keepList)
    181         addTab(pMonitor, pMonitor->machineName());
    182179}
    183180
  • trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h

    r89093 r92467  
    112112};
    113113
    114 /** UIVMActivityMonitor class displays some high level performance metric of the guest system.
     114/** UIVMActivityMonitor class displays some high level performance metrics of the guest system.
    115115  * The values are read in certain periods and cached in the GUI side. Currently we draw some line charts
    116116  * and pie charts (where applicable) alongside with some text. IPerformanceCollector and IMachineDebugger are
  • trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp

    r92400 r92467  
    16191619        case UIToolType_Logs:               strResult = "Logs"; break;
    16201620        case UIToolType_VMActivity:         strResult = "Activity"; break;
     1621        case UIToolType_VISOCreator:        strResult = "VISOCreator"; break;
    16211622        default:
    16221623        {
     
    16441645    keys << "Snapshots";     values << UIToolType_Snapshots;
    16451646    keys << "Logs";          values << UIToolType_Logs;
    1646     keys << "Activity";   values << UIToolType_VMActivity;
     1647    keys << "Activity";      values << UIToolType_VMActivity;
     1648    keys << "VISOCreator";   values << UIToolType_VISOCreator;
    16471649    /* Invalid type for unknown words: */
    16481650    if (!keys.contains(strToolType, Qt::CaseInsensitive))
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp

    r92437 r92467  
    294294                case UIToolType_Logs:
    295295                case UIToolType_VMActivity:
     296                case UIToolType_VISOCreator:
    296297                    return true;
    297298                default:
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h

    r92437 r92467  
    934934    UIToolType_Logs,
    935935    UIToolType_VMActivity,
     936    UIToolType_VISOCreator
    936937};
    937938Q_DECLARE_METATYPE(UIToolType);
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp

    r92423 r92467  
    23082308    virtual void retranslateUi() /* override */
    23092309    {
    2310         setName(QApplication::translate("UIActionPool", "Configuration"));
     2310        setName(QApplication::translate("UIActionPool", "Options"));
    23112311        setShortcutScope(QApplication::translate("UIActionPool", "VISO Creator"));
    23122312        setStatusTip(QApplication::translate("UIActionPool", "Open panel for VISO Creator options"));
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp

    r90545 r92467  
    19051905};
    19061906
     1907/** Simple action extension, used as 'Show VISO Creator' action class. */
     1908class UIActionToggleManagerToolsMachineShowVISOCreator : public UIActionToggle
     1909{
     1910    Q_OBJECT;
     1911
     1912public:
     1913
     1914    /** Constructs action passing @a pParent to the base-class. */
     1915    UIActionToggleManagerToolsMachineShowVISOCreator(UIActionPool *pParent)
     1916        : UIActionToggle(pParent)
     1917    {
     1918        setProperty("UIToolType", QVariant::fromValue(UIToolType_VISOCreator));
     1919        /// @todo use icons with check-boxes
     1920        setIcon(UIIconPool::iconSetFull(":/performance_monitor_32px.png", ":/performance_monitor_16px.png",
     1921                                        ":/performance_monitor_disabled_32px.png", ":/performance_monitor_disabled_16px.png"));
     1922    }
     1923
     1924protected:
     1925
     1926    /** Returns shortcut extra-data ID. */
     1927    virtual QString shortcutExtraDataID() const /* override */
     1928    {
     1929        return QString("ToolsMachineVMVISOCreator");
     1930    }
     1931
     1932    /** Handles translation event. */
     1933    virtual void retranslateUi() /* override */
     1934    {
     1935        setName(QApplication::translate("UIActionPool", "&VISO"));
     1936        setStatusTip(QApplication::translate("UIActionPool", "Open the VISO Creator pane"));
     1937    }
     1938};
    19071939
    19081940/** Menu action extension, used as 'Snapshot' menu class. */
     
    35423574    m_pool[UIActionIndexMN_M_Group_M_Tools_T_Logs] = new UIActionToggleManagerToolsMachineShowLogs(this);
    35433575    m_pool[UIActionIndexMN_M_Group_M_Tools_T_Activity] = new UIActionToggleManagerToolsMachineShowActivity(this);
     3576    m_pool[UIActionIndexMN_M_Group_M_Tools_T_VISOCreator] = new UIActionToggleManagerToolsMachineShowVISOCreator(this);
    35443577    m_pool[UIActionIndexMN_M_Group_S_Discard] = new UIActionSimpleManagerCommonPerformDiscard(this);
    35453578    m_pool[UIActionIndexMN_M_Group_S_ShowLogDialog] = new UIActionSimpleManagerCommonShowMachineLogs(this);
     
    35873620    m_pool[UIActionIndexMN_M_Machine_M_Tools_T_Logs] = new UIActionToggleManagerToolsMachineShowLogs(this);
    35883621    m_pool[UIActionIndexMN_M_Machine_M_Tools_T_Activity] = new UIActionToggleManagerToolsMachineShowActivity(this);
     3622    m_pool[UIActionIndexMN_M_Machine_M_Tools_T_VISOCreator] = new UIActionToggleManagerToolsMachineShowVISOCreator(this);
    35893623    m_pool[UIActionIndexMN_M_Machine_S_Discard] = new UIActionSimpleManagerCommonPerformDiscard(this);
    35903624    m_pool[UIActionIndexMN_M_Machine_S_ShowLogDialog] = new UIActionSimpleManagerCommonShowMachineLogs(this);
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h

    r89094 r92467  
    8484    UIActionIndexMN_M_Group_M_Tools_T_Logs,
    8585    UIActionIndexMN_M_Group_M_Tools_T_Activity,
     86    UIActionIndexMN_M_Group_M_Tools_T_VISOCreator,
    8687    UIActionIndexMN_M_Group_S_Discard,
    8788    UIActionIndexMN_M_Group_S_ShowLogDialog,
     
    128129    UIActionIndexMN_M_Machine_M_Tools_T_Logs,
    129130    UIActionIndexMN_M_Machine_M_Tools_T_Activity,
     131    UIActionIndexMN_M_Machine_M_Tools_T_VISOCreator,
    130132    UIActionIndexMN_M_Machine_S_Discard,
    131133    UIActionIndexMN_M_Machine_S_ShowLogDialog,
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp

    r89094 r92467  
    3232#include "UIToolPaneMachine.h"
    3333#include "UIVirtualMachineItem.h"
     34#include "UIVisoCreator.h"
    3435#include "UIVMLogViewerWidget.h"
    3536
     
    4849    , m_pPaneLogViewer(0)
    4950    , m_pPaneVMActivityMonitor(0)
     51    , m_pPaneVISOCreator(0)
    5052    , m_fActive(false)
    5153{
     
    212214                break;
    213215            }
     216            case UIToolType_VISOCreator:
     217            {
     218                m_pPaneVISOCreator = new UIVisoCreatorWidget(m_pActionPool, 0 /* Parent */, QString() /* Machine Name */);
     219                AssertPtrReturnVoid(m_pPaneVISOCreator);
     220#ifndef VBOX_WS_MAC
     221                const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4;
     222                m_pPaneVISOCreator->setContentsMargins(iMargin, 0, iMargin, 0);
     223#endif
     224
     225                /* Configure pane: */
     226                m_pPaneVISOCreator->setProperty("ToolType", QVariant::fromValue(UIToolType_VISOCreator));
     227
     228                /* Add into layout: */
     229                m_pLayout->addWidget(m_pPaneVISOCreator);
     230                m_pLayout->setCurrentWidget(m_pPaneVISOCreator);
     231                break;
     232            }
    214233            default:
    215234                AssertFailedReturnVoid();
     
    239258            case UIToolType_Snapshots:   m_pPaneSnapshots = 0; break;
    240259            case UIToolType_Logs:        m_pPaneLogViewer = 0; break;
    241             case UIToolType_VMActivity: m_pPaneVMActivityMonitor = 0; break;
     260            case UIToolType_VMActivity:  m_pPaneVMActivityMonitor = 0; break;
     261            case UIToolType_VISOCreator:  m_pPaneVISOCreator = 0; break;
    242262            default: break;
    243263        }
     
    333353            pCurrentToolWidget = m_pPaneVMActivityMonitor;
    334354            break;
     355        case UIToolType_VISOCreator:
     356            pCurrentToolWidget = m_pPaneVISOCreator;
     357            break;
    335358        default:
    336359            break;
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h

    r89094 r92467  
    4242class UISnapshotPane;
    4343class UIVirtualMachineItem;
     44class UIVisoCreatorWidget;
    4445class UIVMLogViewerWidget;
    4546
     
    134135    /** Holds the Performance Monitor pane instance. */
    135136    UIVMActivityToolWidget *m_pPaneVMActivityMonitor;
     137    /** Holds the VISO Creator pane instance. */
     138    UIVisoCreatorWidget *m_pPaneVISOCreator;
    136139
    137140    /** Holds whether this pane is active. */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r92413 r92467  
    30443044                                       m_pWidget->currentMachineTool() == UIToolType_VMActivity;
    30453045    actionPool()->action(UIActionIndex_M_Activity)->setVisible(fPerformanceMenuShown);
     3046    /* Determine whether VISO Creator menu should be visible: */
     3047    const bool fVISOCreatorShown = (fMachineMenuShown || fGroupMenuShown) &&
     3048                                   m_pWidget->currentMachineTool() == UIToolType_VISOCreator;
     3049    actionPool()->action(UIActionIndex_M_VISOCreator)->setVisible(fVISOCreatorShown);
    30463050
    30473051    /* Hide action shortcuts: */
     
    32213225                break;
    32223226            }
     3227            case UIToolType_VISOCreator:
     3228            {
     3229                actionPool()->action(UIActionIndexMN_M_Group_M_Tools_T_VISOCreator)->setChecked(true);
     3230                actionPool()->action(UIActionIndexMN_M_Machine_M_Tools_T_VISOCreator)->setChecked(true);
     3231                break;
     3232            }
    32233233            default:
    32243234                break;
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.cpp

    r88540 r92467  
    463463            case UIToolType_Logs:                 pItem->reconfigure(tr("Logs")); break;
    464464            case UIToolType_VMActivity:           pItem->reconfigure(tr("Activity")); break;
     465            case UIToolType_VISOCreator:          pItem->reconfigure(tr("VISO")); break;
    465466            default: break;
    466467        }
     
    536537                               UIIconPool::iconSet(":/vm_show_logs_24px.png", ":/vm_show_logs_disabled_24px.png"));
    537538
    538     /* Performance: */
     539    /* Activity: */
    539540    m_items << new UIToolsItem(scene(), UIToolClass_Machine, UIToolType_VMActivity, QString(),
     541                               UIIconPool::iconSet(":/performance_monitor_24px.png", ":/performance_monitor_disabled_24px.png"));
     542
     543    /* VISO Creator: */
     544    m_items << new UIToolsItem(scene(), UIToolClass_Machine, UIToolType_VISOCreator, QString(),
    540545                               UIIconPool::iconSet(":/performance_monitor_24px.png", ":/performance_monitor_disabled_24px.png"));
    541546}
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.h

    r92415 r92467  
    4646  * for VISO file system. It has the main menu, main toolbar, and a vertical toolbar and corresponding
    4747  * actions. */
    48 class UIVisoCreatorWidget : public QIWithRetranslateUI<QWidget>
     48class SHARED_LIBRARY_STUFF UIVisoCreatorWidget : public QIWithRetranslateUI<QWidget>
    4949{
    5050    Q_OBJECT;
     
    168168
    169169
    170 class UIVisoCreatorDialog : public QIWithRetranslateUI<QIMainDialog>
     170class SHARED_LIBRARY_STUFF UIVisoCreatorDialog : public QIWithRetranslateUI<QIMainDialog>
    171171{
    172172    Q_OBJECT;
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