VirtualBox

Changeset 104576 in vbox


Ignore:
Timestamp:
May 10, 2024 1:42:38 PM (9 months ago)
Author:
vboxsync
Message:

FE/Qt. bugref:9831. Some fixes on URL handling.

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

Legend:

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

    r104393 r104576  
    19301930void UIHelpBrowserWidget::sltLinkHighlighted(const QUrl &url)
    19311931{
     1932    if (url.isEmpty())
     1933    {
     1934        emit sigStatusBarMessage("", 0);
     1935        return;
     1936    }
     1937
    19321938    QString strMessage = url.url();
    1933     if (url.scheme() != "qthelp")
    1934         strMessage = QString("%1: %2").arg(tr("Click to open this link in an external browser")).arg(strMessage);
    1935 
     1939    if (url.scheme() == "https" || url.scheme() == "http")
     1940        strMessage = QString("%1: %2").arg(tr("Click to open the following URL with an external browser")).arg(strMessage);
     1941    else if (url.scheme() == "qthelp")
     1942        strMessage = QString("%1: %2").arg(tr("Click to navigate to internal URL")).arg(strMessage);
     1943    else
     1944        strMessage = "";
    19361945    emit sigStatusBarMessage(strMessage, 0);
    19371946}
     
    20812090    QMenu menu;
    20822091    QAction *pOpen = menu.addAction(tr("Open Link"));
    2083     QAction *pOpenInNewTab = menu.addAction(tr("Open Link in New Tab"));
     2092    if (url.scheme() == "qthelp")
     2093    {
     2094        QAction *pOpenInNewTab = menu.addAction(tr("Open Link in New Tab"));
     2095        pOpenInNewTab->setData(url);
     2096        pOpenInNewTab->setEnabled(fURLValid);
     2097        connect(pOpenInNewTab, &QAction::triggered, this, &UIHelpBrowserWidget::sltOpenLinkInNewTab);
     2098    }
    20842099    QAction *pCopyLink = menu.addAction(tr("Copy Link"));
    20852100
    20862101    pOpen->setData(url);
    2087     pOpenInNewTab->setData(url);
    20882102    pCopyLink->setData(url);
    20892103
    20902104    pOpen->setEnabled(fURLValid);
    2091     pOpenInNewTab->setEnabled(fURLValid);
    20922105    pCopyLink->setEnabled(fURLValid);
    20932106
    2094     connect(pOpenInNewTab, &QAction::triggered, this, &UIHelpBrowserWidget::sltOpenLinkInNewTab);
    20952107    connect(pOpen, &QAction::triggered, this, &UIHelpBrowserWidget::sltOpenLink);
    20962108    connect(pCopyLink, &QAction::triggered, this, &UIHelpBrowserWidget::sltCopyLink);
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpViewer.cpp

    r104358 r104576  
    417417    connect(m_pFindInPageWidget, &UIFindInPageWidget::sigClose,
    418418            this, &UIHelpViewer::sltCloseFindInPageWidget);
     419    connect(this, &UIHelpViewer::highlighted,
     420            this, &UIHelpViewer::sltUpdateHighlightedURL);
    419421
    420422    m_pFindInPageWidget->setVisible(false);
     
    513515{
    514516    sltToggleFindInPageWidget(false);
     517}
     518
     519void UIHelpViewer::sltUpdateHighlightedURL(const QUrl &url)
     520{
     521    m_highlightedUrl = url;
    515522}
    516523
     
    607614    menu.addAction(pFindInPage);
    608615
    609     QString strAnchor = anchorAt(event->pos());
    610     if (!strAnchor.isEmpty())
    611     {
    612         QString strLink = source().resolved(anchorAt(event->pos())).toString();
     616    if (!m_highlightedUrl.isEmpty())
     617    {
     618        QString strLink = m_highlightedUrl.toString();
    613619        pOpenLinkAction->setData(strLink);
    614620        pOpenInNewTabAction->setData(strLink);
    615621        pCopyLink->setData(strLink);
     622        if (m_highlightedUrl.scheme() == "https" ||
     623            m_highlightedUrl.scheme() == "http")
     624            pOpenInNewTabAction->setEnabled(false);
    616625    }
    617626    else
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpViewer.h

    r104358 r104576  
    118118    void sltToggleFindInPageWidget(bool fVisible);
    119119    void sltCloseFindInPageWidget();
     120    void sltUpdateHighlightedURL(const QUrl &url);
    120121
    121122private:
     
    162163    QGraphicsBlurEffect *m_pOverlayBlurEffect;
    163164    int m_iZoomPercentage;
     165    QUrl m_highlightedUrl;
    164166};
    165167
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