VirtualBox

Changeset 100548 in vbox


Ignore:
Timestamp:
Jul 12, 2023 12:31:50 PM (19 months ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9080. Adding an action for restoring removed items back to Viso content.

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

Legend:

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

    r100534 r100548  
    24792479        setStatusTip(QApplication::translate("UIActionPool", "Remove selected item(s) from VISO"));
    24802480        setToolTip(QApplication::translate("UIActionPool", "Remove Selected Item(s) from VISO")
     2481                   + (shortcut().isEmpty() ? QString() : QString(" (%1)").arg(shortcut().toString())));
     2482    }
     2483};
     2484
     2485class UIActionMenuVISOCreatorRestore : public UIActionSimple
     2486{
     2487    Q_OBJECT;
     2488
     2489public:
     2490    /** Constructs action passing @a pParent to the base-class. */
     2491    UIActionMenuVISOCreatorRestore(UIActionPool *pParent)
     2492        : UIActionSimple(pParent,
     2493                         ":/file_manager_restore_24px.png",
     2494                         ":/file_manager_restore_16px.png",
     2495                         ":/file_manager_restore_disabled_24px.png",
     2496                         ":/file_manager_restore_disabled_16px.png")
     2497    {
     2498        setShortcutContext(Qt::WidgetWithChildrenShortcut);
     2499    }
     2500
     2501protected:
     2502
     2503    /** Returns shortcut extra-data ID. */
     2504    virtual QString shortcutExtraDataID() const RT_OVERRIDE
     2505    {
     2506        return QString("VISORestoreItem");
     2507    }
     2508
     2509    /** Handles translation event. */
     2510    virtual void retranslateUi() RT_OVERRIDE
     2511    {
     2512        setName(QApplication::translate("UIActionPool", "&Restore"));
     2513        setShortcutScope(QApplication::translate("UIActionPool", "VISO Creator"));
     2514        setStatusTip(QApplication::translate("UIActionPool", "Restore selected item(s)"));
     2515        setToolTip(QApplication::translate("UIActionPool", "Restore Selected Item(s)")
    24812516                   + (shortcut().isEmpty() ? QString() : QString(" (%1)").arg(shortcut().toString())));
    24822517    }
     
    35243559    m_pool[UIActionIndex_M_VISOCreator_Add] = new UIActionMenuVISOCreatorAdd(this);
    35253560    m_pool[UIActionIndex_M_VISOCreator_Remove] = new UIActionMenuVISOCreatorRemove(this);
     3561    m_pool[UIActionIndex_M_VISOCreator_Restore] = new UIActionMenuVISOCreatorRestore(this);
    35263562    m_pool[UIActionIndex_M_VISOCreator_CreateNewDirectory] = new UIActionMenuVISOCreatorCreateNewDirectory(this);
    35273563    m_pool[UIActionIndex_M_VISOCreator_Rename] = new UIActionMenuVISOCreatorRename(this);
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h

    r100496 r100548  
    158158    UIActionIndex_M_VISOCreator_Add,
    159159    UIActionIndex_M_VISOCreator_Remove,
     160    UIActionIndex_M_VISOCreator_Restore,
    160161    UIActionIndex_M_VISOCreator_CreateNewDirectory,
    161162    UIActionIndex_M_VISOCreator_Rename,
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoContentBrowser.cpp

    r100539 r100548  
    236236    , m_pTableProxyModel(0)
    237237    , m_pRemoveAction(0)
     238    , m_pRestoreAction(0)
    238239    , m_pCreateNewDirectoryAction(0)
    239240    , m_pRenameAction(0)
     
    498499}
    499500
     501void UIVisoContentBrowser::sltRestoreItems()
     502{
     503    restoreItems(tableSelectedItems());
     504}
     505
    500506void UIVisoContentBrowser::removeItems(const QList<UICustomFileSystemItem*> itemList)
    501507{
     
    516522    if (m_pTableProxyModel)
    517523        m_pTableProxyModel->invalidate();
     524}
     525
     526
     527void UIVisoContentBrowser::restoreItems(const QList<UICustomFileSystemItem*> itemList)
     528{
     529    Q_UNUSED(itemList);
    518530}
    519531
     
    579591{
    580592    m_pRemoveAction = m_pActionPool->action(UIActionIndex_M_VISOCreator_Remove);
     593    m_pRestoreAction = m_pActionPool->action(UIActionIndex_M_VISOCreator_Restore);
    581594    m_pCreateNewDirectoryAction = m_pActionPool->action(UIActionIndex_M_VISOCreator_CreateNewDirectory);
    582595    m_pRenameAction = m_pActionPool->action(UIActionIndex_M_VISOCreator_Rename);
     
    587600
    588601    AssertReturnVoid(m_pRemoveAction);
     602    AssertReturnVoid(m_pRestoreAction);
    589603    AssertReturnVoid(m_pCreateNewDirectoryAction);
    590604    AssertReturnVoid(m_pRenameAction);
     
    596610
    597611    m_pRemoveAction->setEnabled(tableViewHasSelection());
     612    m_pRestoreAction->setEnabled(tableViewHasSelection());
    598613    m_pRenameAction->setEnabled(tableViewHasSelection());
    599614
     
    603618    m_pToolBar->addSeparator();
    604619    m_pToolBar->addAction(m_pRemoveAction);
    605 
     620    m_pToolBar->addAction(m_pRestoreAction);
    606621    m_pToolBar->addAction(m_pCreateNewDirectoryAction);
    607622    m_pToolBar->addAction(m_pRenameAction);
     
    622637    m_pSubMenu->addAction(m_pGoForward);
    623638    m_pSubMenu->addAction(m_pGoUp);
    624     m_pSubMenu->addAction(m_pGoHome);
    625639
    626640    m_pSubMenu->addSeparator();
    627641
    628642    m_pSubMenu->addAction(m_pRemoveAction);
     643    m_pSubMenu->addAction(m_pRestoreAction);
    629644    m_pSubMenu->addAction(m_pRenameAction);
    630645    m_pSubMenu->addAction(m_pCreateNewDirectoryAction);
     
    671686        connect(m_pRemoveAction, &QAction::triggered,
    672687                this, &UIVisoContentBrowser::sltRemoveItems);
     688    if (m_pRestoreAction)
     689        connect(m_pRestoreAction, &QAction::triggered,
     690                this, &UIVisoContentBrowser::sltRestoreItems);
    673691    if (m_pResetAction)
    674692        connect(m_pResetAction, &QAction::triggered,
     
    9981016    if (m_pRemoveAction)
    9991017        m_pRemoveAction->setEnabled(!selected.isEmpty());
     1018    if (m_pRestoreAction)
     1019        m_pRestoreAction->setEnabled(!selected.isEmpty());
    10001020    if (m_pRenameAction)
    10011021        m_pRenameAction->setEnabled(!selected.isEmpty());
     
    10261046
    10271047    menu.addAction(m_pRemoveAction);
     1048    menu.addAction(m_pRestoreAction);
    10281049    menu.addAction(m_pCreateNewDirectoryAction);
    10291050    menu.addAction(m_pResetAction);
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoContentBrowser.h

    r100520 r100548  
    8888                              const QString &strOldName, const QString &strNewName);
    8989    void sltRemoveItems();
     90    void sltRestoreItems();
    9091    void sltResetAction();
    9192    void sltItemRenameAction();
     
    124125    void                    renameFileObject(UICustomFileSystemItem *pItem);
    125126    void                    removeItems(const QList<UICustomFileSystemItem*> itemList);
     127    void                    restoreItems(const QList<UICustomFileSystemItem*> itemList);
    126128    /** Creates and entry for pItem consisting of a map item (key is viso path and value is host file system path)
    127129     *  if @p bRemove is true then the value is the string ":remove:" which effectively removes the file object
     
    151153
    152154    QAction                      *m_pRemoveAction;
     155    QAction                      *m_pRestoreAction;
    153156    QAction                      *m_pCreateNewDirectoryAction;
    154157    QAction                      *m_pRenameAction;
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