VirtualBox

Changeset 86884 in vbox


Ignore:
Timestamp:
Nov 13, 2020 3:20:11 PM (4 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9831. Adding "copy link" action to context menus.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpBrowserWidget.cpp

    r86882 r86884  
    1717
    1818/* Qt includes: */
     19#include <QClipboard>
    1920#include <QComboBox>
    2021#include <QDateTime>
     
    293294    void sltHandleOpenLinkInNewTab();
    294295    void sltHandleOpenLink();
     296    void sltHandleCopyLink();
    295297    void sltHandleFindWidgetDrag(const QPoint &delta);
    296298    void sltHandleFindInPageSearchTextChange(const QString &strSearchText);
     
    11821184            this, &UIHelpBrowserViewer::sltHandleOpenLinkInNewTab);
    11831185
     1186    QAction *pCopyLink = new QAction(UIHelpBrowserWidget::tr("Copy Link"));
     1187    connect(pCopyLink, &QAction::triggered,
     1188            this, &UIHelpBrowserViewer::sltHandleCopyLink);
     1189
    11841190    pMenu.addAction(pNavigationActions);
    11851191    pMenu.addAction(pOpenLinkAction);
    11861192    pMenu.addAction(pOpenInNewTabAction);
     1193    pMenu.addAction(pCopyLink);
    11871194
    11881195    QString strAnchor = anchorAt(event->pos());
     
    11921199        pOpenLinkAction->setData(strLink);
    11931200        pOpenInNewTabAction->setData(strLink);
     1201        pCopyLink->setData(strLink);
    11941202    }
    11951203    else
     
    11971205        pOpenLinkAction->setEnabled(false);
    11981206        pOpenInNewTabAction->setEnabled(false);
     1207        pCopyLink->setEnabled(false);
    11991208    }
    12001209    pMenu.exec(event->globalPos());
     
    13331342    if (url.isValid())
    13341343        QTextBrowser::setSource(url);
     1344}
     1345
     1346void UIHelpBrowserViewer::sltHandleCopyLink()
     1347{
     1348    QAction *pSender = qobject_cast<QAction*>(sender());
     1349    if (!pSender)
     1350        return;
     1351    QUrl url = pSender->data().toUrl();
     1352    if (url.isValid())
     1353    {
     1354        QClipboard *pClipboard = QApplication::clipboard();
     1355        if (pClipboard)
     1356            pClipboard->setText(url.toString());
     1357    }
    13351358}
    13361359
     
    20972120    QAction *pOpen = menu.addAction(tr("Open in Link"));
    20982121    QAction *pOpenInNewTab = menu.addAction(tr("Open in Link New Tab"));
     2122    QAction *pCopyLink = menu.addAction(tr("Copy Link"));
     2123
    20992124    pOpen->setData(url);
    21002125    pOpenInNewTab->setData(url);
     2126    pCopyLink->setData(url);
    21012127    connect(pOpenInNewTab, &QAction::triggered,
    21022128            this, &UIHelpBrowserWidget::sltOpenLinkInNewTab);
    21032129    connect(pOpen, &QAction::triggered,
    21042130            this, &UIHelpBrowserWidget::sltOpenLink);
     2131    connect(pCopyLink, &QAction::triggered,
     2132            this, &UIHelpBrowserWidget::sltCopyLink);
    21052133
    21062134    menu.exec(pSender->mapToGlobal(pos));
     
    21152143{
    21162144    openLinkSlotHandler(sender(), false);
     2145}
     2146
     2147void UIHelpBrowserWidget::sltCopyLink()
     2148{
     2149    QAction *pAction = qobject_cast<QAction*>(sender());
     2150    if (!pAction)
     2151        return;
     2152    QUrl url = pAction->data().toUrl();
     2153    if (url.isValid())
     2154    {
     2155        QClipboard *pClipboard = QApplication::clipboard();
     2156        if (pClipboard)
     2157            pClipboard->setText(url.toString());
     2158    }
    21172159}
    21182160
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpBrowserWidget.h

    r86875 r86884  
    9999    void sltOpenLinkInNewTab();
    100100    void sltOpenLink();
     101    void sltCopyLink();
    101102    void sltAddNewBookmark(const QUrl &url, const QString &strTitle);
    102103    void sltHandleFontSizeactions();
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