VirtualBox

Changeset 86757 in vbox for trunk


Ignore:
Timestamp:
Oct 29, 2020 12:16:42 PM (4 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9831. Adding search functionality

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

Legend:

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

    r86747 r86757  
    2626 #include <QtHelp/QHelpContentWidget>
    2727 #include <QtHelp/QHelpIndexWidget>
     28#include <QtHelp/QHelpSearchEngine>
     29#include <QtHelp/QHelpSearchQueryWidget>
     30#include <QtHelp/QHelpSearchResultWidget>
    2831#endif
    2932#include <QMenu>
     
    5760    HelpBrowserTabs_TOC = 0,
    5861    HelpBrowserTabs_Index,
     62    HelpBrowserTabs_Search,
    5963    HelpBrowserTabs_Bookmarks,
    6064    HelpBrowserTabs_Max
     
    149153    , m_pIndexWidget(0)
    150154    , m_pContentModel(0)
     155    , m_pHelpSearchEngine(0)
     156    , m_pHelpSearchQueryWidget(0)
     157    , m_pHelpSearchResultWidget(0)
    151158    , m_pBookmarksWidget(0)
     159    , m_pSearchContainerWidget(0)
    152160    , m_pShowHideSideBarAction(0)
    153161    , m_pShowHideToolBarAction(0)
     
    155163    , m_pForwardAction(0)
    156164    , m_pBackwardAction(0)
     165    , m_pAddBookmarkAction(0)
    157166    , m_fModelContentCreated(false)
    158167{
     
    188197    prepareToolBar();
    189198    prepareWidgets();
     199    prepareSearchWidgets();
    190200    prepareMenu();
    191201    retranslateUi();
     
    218228    connect(m_pBackwardAction, &QAction::triggered, this, &UIHelpBrowserWidget::sltHandleBackwardAction);
    219229    sltHandleBackwardAvailable(false);
     230
     231    m_pAddBookmarkAction =
     232        new QAction(UIIconPool::iconSet(":/help_browser_add_bookmark.png"), QString(), this);
     233    connect(m_pBackwardAction, &QAction::triggered, this, &UIHelpBrowserWidget::sltHandleAddBookmarkAction);
    220234}
    221235
     
    230244    m_pBookmarksWidget = new QWidget(this);
    231245    m_pTabWidget = new QITabWidget;
    232     AssertReturnVoid(m_pTabWidget && m_pHelpEngine && m_pBookmarksWidget);
    233     //m_pTabWidget->setTabsClosable(true);
     246    AssertReturnVoid(m_pTabWidget &&
     247                     m_pHelpEngine &&
     248                     m_pBookmarksWidget);
    234249
    235250    m_pContentWidget = m_pHelpEngine->contentWidget();
     
    279294#endif
    280295}
    281 #include <QPushButton>
     296
     297void UIHelpBrowserWidget::prepareSearchWidgets()
     298{
     299#if defined(RT_OS_LINUX) && defined(VBOX_WITH_DOCS_QHELP)
     300# if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
     301
     302    AssertReturnVoid(m_pTabWidget && m_pHelpEngine);
     303
     304    m_pSearchContainerWidget = new QWidget;
     305    m_pTabWidget->insertTab(HelpBrowserTabs_Search, m_pSearchContainerWidget, QString());
     306
     307    m_pHelpSearchEngine = m_pHelpEngine->searchEngine();
     308    AssertReturnVoid(m_pHelpSearchEngine);
     309
     310    m_pHelpSearchQueryWidget = m_pHelpSearchEngine->queryWidget();
     311    m_pHelpSearchResultWidget = m_pHelpSearchEngine->resultWidget();
     312    AssertReturnVoid(m_pHelpSearchQueryWidget && m_pHelpSearchResultWidget);
     313
     314    QVBoxLayout *pSearchLayout = new QVBoxLayout(m_pSearchContainerWidget);
     315    pSearchLayout->addWidget(m_pHelpSearchQueryWidget);
     316    pSearchLayout->addWidget(m_pHelpSearchResultWidget);
     317
     318
     319    connect(m_pHelpSearchQueryWidget, &QHelpSearchQueryWidget::search,
     320            this, &UIHelpBrowserWidget::sltHandleSearchStart);
     321    // connect(resultWidget, &QHelpSearchResultWidget::requestShowLink,
     322    //         this, &SearchWidget::requestShowLink);
     323
     324    // connect(searchEngine, &QHelpSearchEngine::searchingStarted,
     325    //         this, &SearchWidget::searchingStarted);
     326    // connect(searchEngine, &QHelpSearchEngine::searchingFinished,
     327    //         this, &SearchWidget::searchingFinished);
     328
     329
     330
     331
     332    // connect(m_pHelpSearchEngine, &QHelpSearchEngine::indexingStarted,
     333    //         this, &UIHelpBrowserWidget::sltHandleIndexingStarted);
     334    // connect(m_pHelpSearchEngine, &QHelpSearchEngine::indexingFinished,
     335    //         this, &UIHelpBrowserWidget::sltHandleIndexingFinished);
     336
     337    //void      searchingFinished(int searchResultCount)
     338
     339
     340    connect(m_pHelpSearchEngine, &QHelpSearchEngine::searchingStarted,
     341            this, &UIHelpBrowserWidget::sltHandleSearchingStarted);
     342
     343    m_pHelpSearchEngine->reindexDocumentation();
     344# endif//if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
     345#endif
     346}
     347
    282348void UIHelpBrowserWidget::prepareToolBar()
    283349{
     
    294360        m_pToolBar->addAction(m_pForwardAction);
    295361        m_pToolBar->addAction(m_pHomeAction);
     362        m_pToolBar->addAction(m_pAddBookmarkAction);
    296363
    297364#ifdef VBOX_WS_MAC
     
    380447        m_pTabWidget->setTabText(HelpBrowserTabs_TOC, tr("Contents"));
    381448        m_pTabWidget->setTabText(HelpBrowserTabs_Index, tr("Index"));
     449        m_pTabWidget->setTabText(HelpBrowserTabs_Search, tr("Search"));
    382450        m_pTabWidget->setTabText(HelpBrowserTabs_Bookmarks, tr("Bookmarks"));
    383451    }
     
    619687}
    620688
     689void UIHelpBrowserWidget::sltHandleAddBookmarkAction()
     690{
     691}
     692
     693void UIHelpBrowserWidget::sltHandleIndexingStarted()
     694{
     695    printf("indexing started\n");
     696}
     697
     698void UIHelpBrowserWidget::sltHandleIndexingFinished()
     699{
     700    printf("indexing finished\n");
     701}
     702
     703void UIHelpBrowserWidget::sltHandleSearchingStarted()
     704{
     705    printf("search started\n");
     706}
     707
     708void UIHelpBrowserWidget::sltHandleSearchStart()
     709{
     710#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
     711    AssertReturnVoid(m_pHelpSearchEngine && m_pHelpSearchQueryWidget);
     712    m_pHelpSearchEngine->search(m_pHelpSearchQueryWidget->searchInput());
     713#endif
     714}
    621715#include "UIHelpBrowserWidget.moc"
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpBrowserWidget.h

    r86747 r86757  
    4343class QHelpContentWidget;
    4444class QHelpIndexWidget;
     45class QHelpSearchEngine;
     46class QHelpSearchQueryWidget;
     47class QHelpSearchResultWidget;
    4548class QPlainTextEdit;
    4649class QSplitter;
     
    9396    void sltHandleHistoryChanged();
    9497    void sltHandleAddressBarIndexChanged(int index);
     98    void sltHandleAddBookmarkAction();
     99    void sltHandleIndexingStarted();
     100    void sltHandleIndexingFinished();
     101    void sltHandleSearchingStarted();
     102    void sltHandleSearchStart();
    95103
    96104private:
     
    99107    void prepareActions();
    100108    void prepareWidgets();
     109    void prepareSearchWidgets();
    101110    void prepareToolBar();
    102111    void prepareMenu();
     
    149158    QHelpIndexWidget    *m_pIndexWidget;
    150159    QHelpContentModel   *m_pContentModel;
     160    QHelpSearchEngine   *m_pHelpSearchEngine;
     161    QHelpSearchQueryWidget *m_pHelpSearchQueryWidget;
     162    QHelpSearchResultWidget *m_pHelpSearchResultWidget;
    151163    QWidget             *m_pBookmarksWidget;
     164    QWidget             *m_pSearchContainerWidget;
    152165    QAction             *m_pShowHideSideBarAction;
    153166    QAction             *m_pShowHideToolBarAction;
     
    155168    QAction             *m_pForwardAction;
    156169    QAction             *m_pBackwardAction;
     170    QAction             *m_pAddBookmarkAction;
    157171    QString              m_strPageNotFoundText;
    158172    /* This is set t true when handling QHelpContentModel::contentsCreated signal. */
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