VirtualBox

Ignore:
Timestamp:
Oct 25, 2024 6:17:50 PM (6 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165589
Message:

FE/Qt: VBox Manager: A fix for action-pool stuff; Get rid of menu assigning/deassigning functionality for Start/Show action/button; It conflicts with macOS native menubar creating infinite menu actions.

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

Legend:

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

    r105801 r106709  
    303303UIActionMenu::~UIActionMenu()
    304304{
    305 #if !defined(VBOX_IS_QT6_OR_LATER) || !defined(RT_OS_DARWIN) /** @todo qt6: Tcrashes in QCocoaMenuBar::menuForTag during GUI
    306                                                               * termination, so disabled it for now and hope it isn't needed. */
    307     /* Hide menu: */
    308     hideMenu();
    309 #endif
    310305    /* Delete menu: */
    311306    delete m_pMenu;
     
    319314}
    320315
    321 void UIActionMenu::showMenu()
    322 {
    323     /* Show menu if necessary: */
    324     if (!menu())
    325         setMenu(m_pMenu);
    326 }
    327 
    328 void UIActionMenu::hideMenu()
    329 {
    330     /* Hide menu if necessary: */
    331     if (menu())
    332         setMenu((QMenu *)0);
    333 }
    334 
    335316void UIActionMenu::prepare()
    336317{
    337     /* Create menu: */
     318    /* Prepare menu: */
    338319    m_pMenu = new UIMenu;
    339320    AssertPtrReturnVoid(m_pMenu);
    340321    {
    341         /* Prepare menu: */
     322        setMenu(m_pMenu);
    342323        connect(m_pMenu, &UIMenu::aboutToShow,
    343324                actionPool(), &UIActionPool::sltHandleMenuPrepare);
    344         /* Show menu: */
    345         showMenu();
    346325    }
    347326}
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h

    r105772 r106709  
    376376    void setShowToolTip(bool fShowToolTip);
    377377
    378     /** Shows menu. */
    379     void showMenu();
    380     /** Hides menu. */
    381     void hideMenu();
    382 
    383378private:
    384379
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp

    r105955 r106709  
    10461046            default:
    10471047                break;
    1048         }
    1049     }
    1050 
    1051     /** Handles state change. */
    1052     virtual void handleStateChange() RT_OVERRIDE
    1053     {
    1054         switch (state())
    1055         {
    1056             case 0: showMenu(); break;
    1057             case 1: hideMenu(); break;
    1058             default: break;
    10591048        }
    10601049    }
Note: See TracChangeset for help on using the changeset viewer.

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