VirtualBox

Changeset 84518 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
May 25, 2020 5:24:01 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9653: VirtualBox Manager: Chooser pane cleanup: Move search VM action trigger handling to proper place in UIVirtualBoxManager class; Besides that, corresponding action reworked to be togglable reflecting actual search widget visibility state.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp

    r84435 r84518  
    885885};
    886886
    887 /** Simple action extension, used as 'Machine Search' action class. */
    888 class UIActionSimpleSelectorMachinePerformSearch : public UIActionSimple
    889 {
    890     Q_OBJECT;
    891 
    892 public:
    893 
    894     /** Constructs action passing @a pParent to the base-class. */
    895     UIActionSimpleSelectorMachinePerformSearch(UIActionPool *pParent)
    896         : UIActionSimple(pParent, ":/search_16px.png", ":/search_16px.png")
     887/** Toggle action extension, used as 'Search' action class. */
     888class UIActionToggleSelectorMachineToggleSearch : public UIActionToggle
     889{
     890    Q_OBJECT;
     891
     892public:
     893
     894    /** Constructs action passing @a pParent to the base-class. */
     895    UIActionToggleSelectorMachineToggleSearch(UIActionPool *pParent)
     896        : UIActionToggle(pParent,
     897                         ":/search_16px.png", ":/search_16px.png",
     898                         ":/search_16px.png", ":/search_16px.png") /// @todo use icons with check-boxes
    897899    {}
    898900
     
    18721874    {
    18731875        setShortcutContext(Qt::WidgetWithChildrenShortcut);
     1876        /// @todo use icons with check-boxes
    18741877        setIcon(UIIconPool::iconSetFull(":/snapshot_show_details_32px.png", ":/snapshot_show_details_16px.png",
    18751878                                        ":/snapshot_show_details_disabled_32px.png", ":/snapshot_show_details_disabled_16px.png"));
     
    22522255    {
    22532256        setShortcutContext(Qt::WidgetWithChildrenShortcut);
     2257        /// @todo use icons with check-boxes
    22542258        setIcon(0, UIIconPool::iconSetFull(":/hd_modify_32px.png",          ":/hd_modify_16px.png",
    22552259                                           ":/hd_modify_disabled_32px.png", ":/hd_modify_disabled_16px.png"));
     
    22972301    {
    22982302        setShortcutContext(Qt::WidgetWithChildrenShortcut);
     2303        /// @todo use icons with check-boxes
    22992304        setIcon(0, UIIconPool::iconSetFull(":/hd_search_32px.png",          ":/hd_search_16px.png",
    23002305                                           ":/hd_search_disabled_32px.png", ":/hd_search_disabled_16px.png"));
     
    24932498    {
    24942499        setShortcutContext(Qt::WidgetWithChildrenShortcut);
     2500        /// @todo use icons with check-boxes
    24952501        setIcon(UIIconPool::iconSetFull(":/host_iface_edit_32px.png",          ":/host_iface_edit_16px.png",
    24962502                                        ":/host_iface_edit_disabled_32px.png", ":/host_iface_edit_disabled_16px.png"));
     
    27292735    {
    27302736        setShortcutContext(Qt::WidgetWithChildrenShortcut);
     2737        /// @todo use icons with check-boxes
    27312738        setIcon(UIIconPool::iconSetFull(":/cloud_profile_edit_32px.png",          ":/cloud_profile_edit_16px.png",
    27322739                                        ":/cloud_profile_edit_disabled_32px.png", ":/cloud_profile_edit_disabled_16px.png"));
     
    29862993    m_pool[UIActionIndexST_M_Machine_S_CreateShortcut] = new UIActionSimpleSelectorCommonPerformCreateShortcut(this);
    29872994    m_pool[UIActionIndexST_M_Machine_S_SortParent] = new UIActionSimpleSelectorMachinePerformSortParent(this);
    2988     m_pool[UIActionIndexST_M_Machine_S_Search] = new UIActionSimpleSelectorMachinePerformSearch(this);
     2995    m_pool[UIActionIndexST_M_Machine_T_Search] = new UIActionToggleSelectorMachineToggleSearch(this);
    29892996
    29902997    /* Global Tools actions: */
     
    33453352    pMenu->addSeparator();
    33463353    pMenu->addAction(action(UIActionIndexST_M_Machine_S_SortParent));
    3347     pMenu->addAction(action(UIActionIndexST_M_Machine_S_Search));
     3354    pMenu->addAction(action(UIActionIndexST_M_Machine_T_Search));
    33483355
    33493356    /* Mark menu as valid: */
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h

    r84435 r84518  
    117117    UIActionIndexST_M_Machine_S_CreateShortcut,
    118118    UIActionIndexST_M_Machine_S_SortParent,
    119     UIActionIndexST_M_Machine_S_Search,
     119    UIActionIndexST_M_Machine_T_Search,
    120120
    121121    /* Global Tools actions: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r84517 r84518  
    13721372}
    13731373
     1374void UIVirtualBoxManager::sltPerformMachineSearchWidgetVisibilityToggling(bool fVisible)
     1375{
     1376    m_pWidget->setMachineSearchWidgetVisibility(fVisible);
     1377}
     1378
    13741379void UIVirtualBoxManager::sltGroupCloseMenuAboutToShow()
    13751380{
     
    16391644    connect(actionPool()->action(UIActionIndexST_M_Machine_S_SortParent), &UIAction::triggered,
    16401645            this, &UIVirtualBoxManager::sltPerformGroupSorting);
     1646    connect(actionPool()->action(UIActionIndexST_M_Machine_T_Search), &UIAction::toggled,
     1647            this, &UIVirtualBoxManager::sltPerformMachineSearchWidgetVisibilityToggling);
     1648    connect(m_pWidget, &UIVirtualBoxManagerWidget::sigMachineSearchWidgetVisibilityChanged,
     1649            actionPool()->action(UIActionIndexST_M_Machine_T_Search), &QAction::setChecked);
    16411650
    16421651    /* 'Group/Start or Show' menu connections: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h

    r84517 r84518  
    263263        /** Handles call to sort group. */
    264264        void sltPerformGroupSorting();
     265
     266        /** Handles call to toggle machine search widget visibility to be @a fVisible. */
     267        void sltPerformMachineSearchWidgetVisibilityToggling(bool fVisible);
    265268
    266269        /** Handles call to show group Close menu. */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp

    r84517 r84518  
    144144{
    145145    m_pPaneChooser->sortGroup();
     146}
     147
     148void UIVirtualBoxManagerWidget::setMachineSearchWidgetVisibility(bool fVisible)
     149{
     150    m_pPaneChooser->setMachineSearchWidgetVisibility(fVisible);
    146151}
    147152
     
    630635    connect(m_pPaneChooser, &UIChooser::sigStartOrShowRequest,
    631636            this, &UIVirtualBoxManagerWidget::sigStartOrShowRequest);
     637    connect(m_pPaneChooser, &UIChooser::sigMachineSearchWidgetVisibilityChanged,
     638            this, &UIVirtualBoxManagerWidget::sigMachineSearchWidgetVisibilityChanged);
    632639
    633640    /* Details-pane connections: */
     
    882889    disconnect(m_pPaneChooser, &UIChooser::sigStartOrShowRequest,
    883890               this, &UIVirtualBoxManagerWidget::sigStartOrShowRequest);
     891    disconnect(m_pPaneChooser, &UIChooser::sigMachineSearchWidgetVisibilityChanged,
     892               this, &UIVirtualBoxManagerWidget::sigMachineSearchWidgetVisibilityChanged);
    884893
    885894    /* Details-pane connections: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h

    r84517 r84518  
    7070        /** Notify listeners about start or show request. */
    7171        void sigStartOrShowRequest();
     72        /** Notifies listeners about machine search widget visibility changed to @a fVisible. */
     73        void sigMachineSearchWidgetVisibilityChanged(bool fVisible);
    7274    /** @} */
    7375
     
    150152        /** Sorts group. */
    151153        void sortGroup();
     154        /** Toggle machine search widget to be @a fVisible. */
     155        void setMachineSearchWidgetVisibility(bool fVisible);
    152156    /** @} */
    153157
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp

    r84517 r84518  
    147147    AssertPtrReturnVoid(model());
    148148    model()->sortSelectedGroupItem();
     149}
     150
     151void UIChooser::setMachineSearchWidgetVisibility(bool fVisible)
     152{
     153    AssertPtrReturnVoid(view());
     154    view()->setSearchWidgetVisible(fVisible);
    149155}
    150156
     
    241247    connect(view(), &UIChooserView::sigResized,
    242248            model(), &UIChooserModel::sltHandleViewResized);
     249    connect(view(), &UIChooserView::sigSearchWidgetVisibilityChanged,
     250            this, &UIChooser::sigMachineSearchWidgetVisibilityChanged);
    243251}
    244252
     
    283291    disconnect(view(), &UIChooserView::sigResized,
    284292               model(), &UIChooserModel::sltHandleViewResized);
     293    disconnect(view(), &UIChooserView::sigSearchWidgetVisibilityChanged,
     294               this, &UIChooser::sigMachineSearchWidgetVisibilityChanged);
    285295}
    286296
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.h

    r84517 r84518  
    7474        /** Notify listeners about start or show request. */
    7575        void sigStartOrShowRequest();
     76        /** Notifies listeners about machine search widget visibility changed to @a fVisible. */
     77        void sigMachineSearchWidgetVisibilityChanged(bool fVisible);
    7678    /** @} */
    7779
     
    144146        /** Sorts group. */
    145147        void sortGroup();
     148        /** Toggle machine search widget to be @a fVisible. */
     149        void setMachineSearchWidgetVisibility(bool fVisible);
    146150    /** @} */
    147151
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp

    r84517 r84518  
    11651165}
    11661166
    1167 void UIChooserModel::sltShowHideSearchWidget()
    1168 {
    1169     if (view())
    1170         setSearchWidgetVisible(!view()->isSearchWidgetVisible());
    1171 }
    1172 
    11731167void UIChooserModel::prepare()
    11741168{
     
    11761170    prepareContextMenu();
    11771171    prepareHandlers();
    1178     prepareConnections();
    11791172}
    11801173
     
    12841277        m_pContextMenuMachine->addSeparator();
    12851278        m_pContextMenuMachine->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_SortParent));
    1286         m_pContextMenuMachine->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_Search));
     1279        m_pContextMenuMachine->addAction(actionPool()->action(UIActionIndexST_M_Machine_T_Search));
    12871280    }
    12881281}
     
    12921285    m_pMouseHandler = new UIChooserHandlerMouse(this);
    12931286    m_pKeyboardHandler = new UIChooserHandlerKeyboard(this);
    1294 }
    1295 
    1296 void UIChooserModel::prepareConnections()
    1297 {
    1298     /* Setup action connections: */
    1299     connect(actionPool()->action(UIActionIndexST_M_Machine_S_Search), &UIAction::triggered,
    1300             this, &UIChooserModel::sltShowHideSearchWidget);
    13011287}
    13021288
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h

    r84517 r84518  
    305305        /** Handles D&D object destruction. */
    306306        void sltCurrentDragObjectDestroyed();
    307 
    308         /** Handles machine search widget show/hide request. */
    309         void sltShowHideSearchWidget();
    310307    /** @} */
    311308
     
    322319        /** Prepares handlers. */
    323320        void prepareHandlers();
    324         /** Prepares connections. */
    325         void prepareConnections();
    326321        /** Loads last selected-items. */
    327322        void loadLastSelectedItem();
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp

    r82968 r84518  
    129129    m_pSearchWidget->setVisible(fVisible);
    130130
     131    /* Notify listeners: */
     132    emit sigSearchWidgetVisibilityChanged(fVisible);
     133
    131134    /* Update geometry if widget is visible: */
    132135    if (m_pSearchWidget->isVisible())
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.h

    r82968 r84518  
    3939    /** Notifies listeners about resize. */
    4040    void sigResized();
     41
     42    /** Notifies listeners about search widget visibility changed to @a fVisible. */
     43    void sigSearchWidgetVisibilityChanged(bool fVisible);
    4144
    4245public:
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