VirtualBox

Changeset 86879 in vbox


Ignore:
Timestamp:
Nov 12, 2020 7:17:21 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
141340
Message:

FE/Qt: bugref:9831. Working on the viewer context menu.

File:
1 edited

Legend:

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

    r86875 r86879  
    250250private slots:
    251251
    252     void sltHandleOpenInNewTab();
     252    void sltHandleOpenLinkInNewTab();
     253    void sltHandleOpenLink();
    253254    void sltHandleFindWidgetDrag(const QPoint &delta);
    254255    void sltHandleFindInPageSearchTextChange(const QString &strSearchText);
     
    10441045void UIHelpBrowserViewer::contextMenuEvent(QContextMenuEvent *event)
    10451046{
    1046     QMenu *pMenu = createStandardContextMenu();
     1047    QMenu pMenu;
     1048    QAction *pOpenLinkAction = new QAction(UIHelpBrowserWidget::tr("Open Link"));
     1049    connect(pOpenLinkAction, &QAction::triggered,
     1050            this, &UIHelpBrowserViewer::sltHandleOpenLink);
     1051
     1052    QAction *pOpenInNewTabAction = new QAction(UIHelpBrowserWidget::tr("Open Link in New Tab"));
     1053    connect(pOpenInNewTabAction, &QAction::triggered,
     1054            this, &UIHelpBrowserViewer::sltHandleOpenLinkInNewTab);
     1055
     1056    pMenu.addAction(pOpenLinkAction);
     1057    pMenu.addAction(pOpenInNewTabAction);
     1058
    10471059    QString strAnchor = anchorAt(event->pos());
    10481060    if (!strAnchor.isEmpty())
    10491061    {
    10501062        QString strLink = source().resolved(anchorAt(event->pos())).toString();
    1051 
    1052         QAction *pOpenInNewTabAction = new QAction(UIHelpBrowserWidget::tr("Open Link in New Tab"));
     1063        pOpenLinkAction->setData(strLink);
    10531064        pOpenInNewTabAction->setData(strLink);
    1054         connect(pOpenInNewTabAction, &QAction::triggered,
    1055                 this, &UIHelpBrowserViewer::sltHandleOpenInNewTab);
    1056         pMenu->addAction(pOpenInNewTabAction);
    1057     }
    1058     pMenu->exec(event->globalPos());
    1059     delete pMenu;
     1065    }
     1066    else
     1067    {
     1068        pOpenLinkAction->setEnabled(false);
     1069        pOpenInNewTabAction->setEnabled(false);
     1070    }
     1071    pMenu.exec(event->globalPos());
    10601072}
    10611073
     
    11741186}
    11751187
    1176 void UIHelpBrowserViewer::sltHandleOpenInNewTab()
     1188void UIHelpBrowserViewer::sltHandleOpenLinkInNewTab()
    11771189{
    11781190    QAction *pSender = qobject_cast<QAction*>(sender());
     
    11821194    if (url.isValid())
    11831195        emit sigOpenLinkInNewTab(url);
     1196}
     1197
     1198void UIHelpBrowserViewer::sltHandleOpenLink()
     1199{
     1200    QAction *pSender = qobject_cast<QAction*>(sender());
     1201    if (!pSender)
     1202        return;
     1203    QUrl url = pSender->data().toUrl();
     1204    if (url.isValid())
     1205        QTextBrowser::setSource(url);
    11841206}
    11851207
     
    16161638    m_pSearchContainerWidget = new QWidget;
    16171639    m_pTabWidget->insertTab(HelpBrowserTabs_Search, m_pSearchContainerWidget, QString());
    1618 
     1640    m_pTabWidget->setTabPosition(QTabWidget::South);
    16191641    m_pSearchEngine = m_pHelpEngine->searchEngine();
    16201642    AssertReturnVoid(m_pSearchEngine);
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