VirtualBox

Changeset 52461 in vbox


Ignore:
Timestamp:
Aug 22, 2014 11:20:04 AM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
95675
Message:

FE/Qt: 7462: Extra-data Manager: Extend API to allow to modify restricted menu-bar menus/sub-menus at runtime.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/extradata
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp

    r52459 r52461  
    1818/* Qt includes: */
    1919#include <QMutex>
     20#include <QMetaEnum>
    2021#include <QDesktopWidget>
    2122#ifdef DEBUG
     
    25032504}
    25042505
     2506void UIExtraDataManager::setRestrictedRuntimeMenuTypes(UIExtraDataMetaDefs::RuntimeMenuType types, const QString &strID)
     2507{
     2508    /* We have RuntimeMenuType enum registered, so we can enumerate it: */
     2509    const QMetaObject &smo = UIExtraDataMetaDefs::staticMetaObject;
     2510    const int iEnumIndex = smo.indexOfEnumerator("RuntimeMenuType");
     2511    QMetaEnum metaEnum = smo.enumerator(iEnumIndex);
     2512
     2513    /* Prepare result: */
     2514    QStringList result;
     2515    /* Handle RuntimeMenuType_All enum-value: */
     2516    if (types == UIExtraDataMetaDefs::RuntimeMenuType_All)
     2517        result << gpConverter->toInternalString(types);
     2518    else
     2519    {
     2520        /* Handle other enum-values: */
     2521        for (int iKeyIndex = 0; iKeyIndex < metaEnum.keyCount(); ++iKeyIndex)
     2522        {
     2523            /* Get iterated enum-value: */
     2524            const UIExtraDataMetaDefs::RuntimeMenuType enumValue =
     2525                static_cast<const UIExtraDataMetaDefs::RuntimeMenuType>(metaEnum.keyToValue(metaEnum.key(iKeyIndex)));
     2526            /* Skip RuntimeMenuType_All enum-value: */
     2527            if (enumValue == UIExtraDataMetaDefs::RuntimeMenuType_All)
     2528                continue;
     2529            if (types & enumValue)
     2530                result << gpConverter->toInternalString(enumValue);
     2531        }
     2532    }
     2533    /* Save result: */
     2534    setExtraDataStringList(GUI_RestrictedRuntimeMenus, result, strID);
     2535}
     2536
    25052537#ifdef Q_WS_MAC
    25062538UIExtraDataMetaDefs::MenuApplicationActionType UIExtraDataManager::restrictedRuntimeMenuApplicationActionTypes(const QString &strID)
     
    25182550    return result;
    25192551}
     2552
     2553void UIExtraDataManager::setRestrictedMenuApplicationActionTypes(UIExtraDataMetaDefs::MenuApplicationActionType types, const QString &strID)
     2554{
     2555    /* We have MenuApplicationActionType enum registered, so we can enumerate it: */
     2556    const QMetaObject &smo = UIExtraDataMetaDefs::staticMetaObject;
     2557    const int iEnumIndex = smo.indexOfEnumerator("MenuApplicationActionType");
     2558    QMetaEnum metaEnum = smo.enumerator(iEnumIndex);
     2559
     2560    /* Prepare result: */
     2561    QStringList result;
     2562    /* Handle MenuApplicationActionType_All enum-value: */
     2563    if (types == UIExtraDataMetaDefs::MenuApplicationActionType_All)
     2564        result << gpConverter->toInternalString(types);
     2565    else
     2566    {
     2567        /* Handle other enum-values: */
     2568        for (int iKeyIndex = 0; iKeyIndex < metaEnum.keyCount(); ++iKeyIndex)
     2569        {
     2570            /* Get iterated enum-value: */
     2571            const UIExtraDataMetaDefs::MenuApplicationActionType enumValue =
     2572                static_cast<const UIExtraDataMetaDefs::MenuApplicationActionType>(metaEnum.keyToValue(metaEnum.key(iKeyIndex)));
     2573            /* Skip MenuApplicationActionType_All enum-value: */
     2574            if (enumValue == UIExtraDataMetaDefs::MenuApplicationActionType_All)
     2575                continue;
     2576            if (types & enumValue)
     2577                result << gpConverter->toInternalString(enumValue);
     2578        }
     2579    }
     2580    /* Save result: */
     2581    setExtraDataStringList(GUI_RestrictedRuntimeApplicationMenuActions, result, strID);
     2582}
    25202583#endif /* Q_WS_MAC */
    25212584
     
    25352598}
    25362599
     2600void UIExtraDataManager::setRestrictedRuntimeMenuMachineActionTypes(UIExtraDataMetaDefs::RuntimeMenuMachineActionType types, const QString &strID)
     2601{
     2602    /* We have RuntimeMenuMachineActionType enum registered, so we can enumerate it: */
     2603    const QMetaObject &smo = UIExtraDataMetaDefs::staticMetaObject;
     2604    const int iEnumIndex = smo.indexOfEnumerator("RuntimeMenuMachineActionType");
     2605    QMetaEnum metaEnum = smo.enumerator(iEnumIndex);
     2606
     2607    /* Prepare result: */
     2608    QStringList result;
     2609    /* Handle RuntimeMenuMachineActionType_All enum-value: */
     2610    if (types == UIExtraDataMetaDefs::RuntimeMenuMachineActionType_All)
     2611        result << gpConverter->toInternalString(types);
     2612    else
     2613    {
     2614        /* Handle other enum-values: */
     2615        for (int iKeyIndex = 0; iKeyIndex < metaEnum.keyCount(); ++iKeyIndex)
     2616        {
     2617            /* Get iterated enum-value: */
     2618            const UIExtraDataMetaDefs::RuntimeMenuMachineActionType enumValue =
     2619                static_cast<const UIExtraDataMetaDefs::RuntimeMenuMachineActionType>(metaEnum.keyToValue(metaEnum.key(iKeyIndex)));
     2620            /* Skip RuntimeMenuMachineActionType_All enum-value: */
     2621            if (enumValue == UIExtraDataMetaDefs::RuntimeMenuMachineActionType_All)
     2622                continue;
     2623            if (types & enumValue)
     2624                result << gpConverter->toInternalString(enumValue);
     2625        }
     2626    }
     2627    /* Save result: */
     2628    setExtraDataStringList(GUI_RestrictedRuntimeMachineMenuActions, result, strID);
     2629}
     2630
    25372631UIExtraDataMetaDefs::RuntimeMenuViewActionType UIExtraDataManager::restrictedRuntimeMenuViewActionTypes(const QString &strID)
    25382632{
     
    25502644}
    25512645
     2646void UIExtraDataManager::setRestrictedRuntimeMenuViewActionTypes(UIExtraDataMetaDefs::RuntimeMenuViewActionType types, const QString &strID)
     2647{
     2648    /* We have RuntimeMenuViewActionType enum registered, so we can enumerate it: */
     2649    const QMetaObject &smo = UIExtraDataMetaDefs::staticMetaObject;
     2650    const int iEnumIndex = smo.indexOfEnumerator("RuntimeMenuViewActionType");
     2651    QMetaEnum metaEnum = smo.enumerator(iEnumIndex);
     2652
     2653    /* Prepare result: */
     2654    QStringList result;
     2655    /* Handle RuntimeMenuViewActionType_All enum-value: */
     2656    if (types == UIExtraDataMetaDefs::RuntimeMenuViewActionType_All)
     2657        result << gpConverter->toInternalString(types);
     2658    else
     2659    {
     2660        /* Handle other enum-values: */
     2661        for (int iKeyIndex = 0; iKeyIndex < metaEnum.keyCount(); ++iKeyIndex)
     2662        {
     2663            /* Get iterated enum-value: */
     2664            const UIExtraDataMetaDefs::RuntimeMenuViewActionType enumValue =
     2665                static_cast<const UIExtraDataMetaDefs::RuntimeMenuViewActionType>(metaEnum.keyToValue(metaEnum.key(iKeyIndex)));
     2666            /* Skip RuntimeMenuViewActionType_All enum-value: */
     2667            if (enumValue == UIExtraDataMetaDefs::RuntimeMenuViewActionType_All)
     2668                continue;
     2669            if (types & enumValue)
     2670                result << gpConverter->toInternalString(enumValue);
     2671        }
     2672    }
     2673    /* Save result: */
     2674    setExtraDataStringList(GUI_RestrictedRuntimeViewMenuActions, result, strID);
     2675}
     2676
    25522677UIExtraDataMetaDefs::RuntimeMenuDevicesActionType UIExtraDataManager::restrictedRuntimeMenuDevicesActionTypes(const QString &strID)
    25532678{
     
    25652690}
    25662691
     2692void UIExtraDataManager::setRestrictedRuntimeMenuDevicesActionTypes(UIExtraDataMetaDefs::RuntimeMenuDevicesActionType types, const QString &strID)
     2693{
     2694    /* We have RuntimeMenuDevicesActionType enum registered, so we can enumerate it: */
     2695    const QMetaObject &smo = UIExtraDataMetaDefs::staticMetaObject;
     2696    const int iEnumIndex = smo.indexOfEnumerator("RuntimeMenuDevicesActionType");
     2697    QMetaEnum metaEnum = smo.enumerator(iEnumIndex);
     2698
     2699    /* Prepare result: */
     2700    QStringList result;
     2701    /* Handle RuntimeMenuDevicesActionType_All enum-value: */
     2702    if (types == UIExtraDataMetaDefs::RuntimeMenuDevicesActionType_All)
     2703        result << gpConverter->toInternalString(types);
     2704    else
     2705    {
     2706        /* Handle other enum-values: */
     2707        for (int iKeyIndex = 0; iKeyIndex < metaEnum.keyCount(); ++iKeyIndex)
     2708        {
     2709            /* Get iterated enum-value: */
     2710            const UIExtraDataMetaDefs::RuntimeMenuDevicesActionType enumValue =
     2711                static_cast<const UIExtraDataMetaDefs::RuntimeMenuDevicesActionType>(metaEnum.keyToValue(metaEnum.key(iKeyIndex)));
     2712            /* Skip RuntimeMenuDevicesActionType_All enum-value: */
     2713            if (enumValue == UIExtraDataMetaDefs::RuntimeMenuDevicesActionType_All)
     2714                continue;
     2715            if (types & enumValue)
     2716                result << gpConverter->toInternalString(enumValue);
     2717        }
     2718    }
     2719    /* Save result: */
     2720    setExtraDataStringList(GUI_RestrictedRuntimeDevicesMenuActions, result, strID);
     2721}
     2722
    25672723#ifdef VBOX_WITH_DEBUGGER_GUI
    25682724UIExtraDataMetaDefs::RuntimeMenuDebuggerActionType UIExtraDataManager::restrictedRuntimeMenuDebuggerActionTypes(const QString &strID)
     
    25802736    return result;
    25812737}
     2738
     2739void UIExtraDataManager::setRestrictedRuntimeMenuDebuggerActionTypes(UIExtraDataMetaDefs::RuntimeMenuDebuggerActionType types, const QString &strID)
     2740{
     2741    /* We have RuntimeMenuDebuggerActionType enum registered, so we can enumerate it: */
     2742    const QMetaObject &smo = UIExtraDataMetaDefs::staticMetaObject;
     2743    const int iEnumIndex = smo.indexOfEnumerator("RuntimeMenuDebuggerActionType");
     2744    QMetaEnum metaEnum = smo.enumerator(iEnumIndex);
     2745
     2746    /* Prepare result: */
     2747    QStringList result;
     2748    /* Handle RuntimeMenuDebuggerActionType_All enum-value: */
     2749    if (types == UIExtraDataMetaDefs::RuntimeMenuDebuggerActionType_All)
     2750        result << gpConverter->toInternalString(types);
     2751    else
     2752    {
     2753        /* Handle other enum-values: */
     2754        for (int iKeyIndex = 0; iKeyIndex < metaEnum.keyCount(); ++iKeyIndex)
     2755        {
     2756            /* Get iterated enum-value: */
     2757            const UIExtraDataMetaDefs::RuntimeMenuDebuggerActionType enumValue =
     2758                static_cast<const UIExtraDataMetaDefs::RuntimeMenuDebuggerActionType>(metaEnum.keyToValue(metaEnum.key(iKeyIndex)));
     2759            /* Skip RuntimeMenuDebuggerActionType_All enum-value: */
     2760            if (enumValue == UIExtraDataMetaDefs::RuntimeMenuDebuggerActionType_All)
     2761                continue;
     2762            if (types & enumValue)
     2763                result << gpConverter->toInternalString(enumValue);
     2764        }
     2765    }
     2766    /* Save result: */
     2767    setExtraDataStringList(GUI_RestrictedRuntimeDebuggerMenuActions, result, strID);
     2768}
    25822769#endif /* VBOX_WITH_DEBUGGER_GUI */
    25832770
     
    25952782    /* Return result: */
    25962783    return result;
     2784}
     2785
     2786void UIExtraDataManager::setRestrictedRuntimeMenuHelpActionTypes(UIExtraDataMetaDefs::MenuHelpActionType types, const QString &strID)
     2787{
     2788    /* We have MenuHelpActionType enum registered, so we can enumerate it: */
     2789    const QMetaObject &smo = UIExtraDataMetaDefs::staticMetaObject;
     2790    const int iEnumIndex = smo.indexOfEnumerator("MenuHelpActionType");
     2791    QMetaEnum metaEnum = smo.enumerator(iEnumIndex);
     2792
     2793    /* Prepare result: */
     2794    QStringList result;
     2795    /* Handle MenuHelpActionType_All enum-value: */
     2796    if (types == UIExtraDataMetaDefs::MenuHelpActionType_All)
     2797        result << gpConverter->toInternalString(types);
     2798    else
     2799    {
     2800        /* Handle other enum-values: */
     2801        for (int iKeyIndex = 0; iKeyIndex < metaEnum.keyCount(); ++iKeyIndex)
     2802        {
     2803            /* Get iterated enum-value: */
     2804            const UIExtraDataMetaDefs::MenuHelpActionType enumValue =
     2805                static_cast<const UIExtraDataMetaDefs::MenuHelpActionType>(metaEnum.keyToValue(metaEnum.key(iKeyIndex)));
     2806            /* Skip MenuHelpActionType_All enum-value: */
     2807            if (enumValue == UIExtraDataMetaDefs::MenuHelpActionType_All)
     2808                continue;
     2809            if (types & enumValue)
     2810                result << gpConverter->toInternalString(enumValue);
     2811        }
     2812    }
     2813    /* Save result: */
     2814    setExtraDataStringList(GUI_RestrictedRuntimeHelpMenuActions, result, strID);
    25972815}
    25982816
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h

    r52459 r52461  
    286286        /** Returns restricted Runtime UI menu types. */
    287287        UIExtraDataMetaDefs::RuntimeMenuType restrictedRuntimeMenuTypes(const QString &strID);
     288        /** Defines restricted Runtime UI menu types. */
     289        void setRestrictedRuntimeMenuTypes(UIExtraDataMetaDefs::RuntimeMenuType types, const QString &strID);
     290
    288291#ifdef Q_WS_MAC
    289292        /** Mac OS X: Returns restricted Runtime UI action types for Application menu. */
    290293        UIExtraDataMetaDefs::MenuApplicationActionType restrictedRuntimeMenuApplicationActionTypes(const QString &strID);
     294        /** Mac OS X: Defines restricted Runtime UI action types for Application menu. */
     295        void setRestrictedRuntimeMenuTypes(UIExtraDataMetaDefs::MenuApplicationActionType types, const QString &strID);
    291296#endif /* Q_WS_MAC */
     297
    292298        /** Returns restricted Runtime UI action types for Machine menu. */
    293299        UIExtraDataMetaDefs::RuntimeMenuMachineActionType restrictedRuntimeMenuMachineActionTypes(const QString &strID);
     300        /** Defines restricted Runtime UI action types for Machine menu. */
     301        void setRestrictedRuntimeMenuMachineActionTypes(UIExtraDataMetaDefs::RuntimeMenuMachineActionType types, const QString &strID);
     302
    294303        /** Returns restricted Runtime UI action types for View menu. */
    295304        UIExtraDataMetaDefs::RuntimeMenuViewActionType restrictedRuntimeMenuViewActionTypes(const QString &strID);
     305        /** Defines restricted Runtime UI action types for View menu. */
     306        void setRestrictedRuntimeMenuViewActionTypes(UIExtraDataMetaDefs::RuntimeMenuViewActionType types, const QString &strID);
     307
    296308        /** Returns restricted Runtime UI action types for Devices menu. */
    297309        UIExtraDataMetaDefs::RuntimeMenuDevicesActionType restrictedRuntimeMenuDevicesActionTypes(const QString &strID);
     310        /** Defines restricted Runtime UI action types for Devices menu. */
     311        void setRestrictedRuntimeMenuDevicesActionTypes(UIExtraDataMetaDefs::RuntimeMenuDevicesActionType types, const QString &strID);
     312
    298313#ifdef VBOX_WITH_DEBUGGER_GUI
    299314        /** Returns restricted Runtime UI action types for Debugger menu. */
    300315        UIExtraDataMetaDefs::RuntimeMenuDebuggerActionType restrictedRuntimeMenuDebuggerActionTypes(const QString &strID);
     316        /** Defines restricted Runtime UI action types for Debugger menu. */
     317        void setRestrictedRuntimeMenuDebuggerActionTypes(UIExtraDataMetaDefs::RuntimeMenuDebuggerActionType types, const QString &strID);
    301318#endif /* VBOX_WITH_DEBUGGER_GUI */
     319
    302320        /** Returns restricted Runtime UI action types for Help menu. */
    303321        UIExtraDataMetaDefs::MenuHelpActionType restrictedRuntimeMenuHelpActionTypes(const QString &strID);
     322        /** Defines restricted Runtime UI action types for Help menu. */
     323        void setRestrictedRuntimeMenuHelpActionTypes(UIExtraDataMetaDefs::MenuHelpActionType types, const QString &strID);
    304324
    305325        /** Returns restricted Runtime UI visual-states. */
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