QWidget *QmlProfilerTraceView::createToolbar() { Utils::StyledBar *bar = new Utils::StyledBar(this); bar->setStyleSheet(QLatin1String("background: #9B9B9B")); bar->setSingleRow(true); bar->setFixedWidth(150); bar->setFixedHeight(24); QHBoxLayout *toolBarLayout = new QHBoxLayout(bar); toolBarLayout->setMargin(0); toolBarLayout->setSpacing(0); QToolButton *buttonPrev= new QToolButton; buttonPrev->setIcon(QIcon(QLatin1String(":/qmlprofiler/ico_prev.png"))); buttonPrev->setToolTip(tr("Jump to previous event")); connect(buttonPrev, SIGNAL(clicked()), this, SIGNAL(jumpToPrev())); connect(this, SIGNAL(enableToolbar(bool)), buttonPrev, SLOT(setEnabled(bool))); QToolButton *buttonNext= new QToolButton; buttonNext->setIcon(QIcon(QLatin1String(":/qmlprofiler/ico_next.png"))); buttonNext->setToolTip(tr("Jump to next event")); connect(buttonNext, SIGNAL(clicked()), this, SIGNAL(jumpToNext())); connect(this, SIGNAL(enableToolbar(bool)), buttonNext, SLOT(setEnabled(bool))); QToolButton *buttonZoomControls = new QToolButton; buttonZoomControls->setIcon(QIcon(QLatin1String(":/qmlprofiler/ico_zoom.png"))); buttonZoomControls->setToolTip(tr("Show zoom slider")); buttonZoomControls->setCheckable(true); buttonZoomControls->setChecked(false); connect(buttonZoomControls, SIGNAL(toggled(bool)), this, SIGNAL(showZoomSlider(bool))); connect(this, SIGNAL(enableToolbar(bool)), buttonZoomControls, SLOT(setEnabled(bool))); d->m_buttonRange = new QToolButton; d->m_buttonRange->setIcon(QIcon(QLatin1String(":/qmlprofiler/ico_rangeselection.png"))); d->m_buttonRange->setToolTip(tr("Select range")); d->m_buttonRange->setCheckable(true); d->m_buttonRange->setChecked(false); connect(d->m_buttonRange, SIGNAL(clicked(bool)), this, SLOT(toggleRangeMode(bool))); connect(this, SIGNAL(enableToolbar(bool)), d->m_buttonRange, SLOT(setEnabled(bool))); connect(this, SIGNAL(rangeModeChanged(bool)), d->m_buttonRange, SLOT(setChecked(bool))); d->m_buttonLock = new QToolButton; d->m_buttonLock->setIcon(QIcon(QLatin1String(":/qmlprofiler/ico_selectionmode.png"))); d->m_buttonLock->setToolTip(tr("View event information on mouseover")); d->m_buttonLock->setCheckable(true); d->m_buttonLock->setChecked(false); connect(d->m_buttonLock, SIGNAL(clicked(bool)), this, SLOT(toggleLockMode(bool))); connect(this, SIGNAL(enableToolbar(bool)), d->m_buttonLock, SLOT(setEnabled(bool))); connect(this, SIGNAL(lockModeChanged(bool)), d->m_buttonLock, SLOT(setChecked(bool))); toolBarLayout->addWidget(buttonPrev); toolBarLayout->addWidget(buttonNext); toolBarLayout->addWidget(new Utils::StyledSeparator()); toolBarLayout->addWidget(buttonZoomControls); toolBarLayout->addWidget(new Utils::StyledSeparator()); toolBarLayout->addWidget(d->m_buttonRange); toolBarLayout->addWidget(d->m_buttonLock); return bar; }
void SearchWidget::showEvent(QShowEvent *event) { if (!event->spontaneous() && !searchEngine) { QVBoxLayout *vLayout = new QVBoxLayout(this); vLayout->setMargin(0); vLayout->setSpacing(0); searchEngine = new QHelpSearchEngine(&LocalHelpManager::helpEngine(), this); Utils::StyledBar *toolbar = new Utils::StyledBar(this); toolbar->setSingleRow(false); QHelpSearchQueryWidget *queryWidget = searchEngine->queryWidget(); QLayout *tbLayout = new QVBoxLayout(); tbLayout->setSpacing(6); tbLayout->setMargin(4); tbLayout->addWidget(queryWidget); toolbar->setLayout(tbLayout); Utils::StyledBar *toolbar2 = new Utils::StyledBar(this); toolbar2->setSingleRow(false); tbLayout = new QVBoxLayout(); tbLayout->setSpacing(0); tbLayout->setMargin(0); tbLayout->addWidget(resultWidget = searchEngine->resultWidget()); toolbar2->setLayout(tbLayout); vLayout->addWidget(toolbar); vLayout->addWidget(toolbar2); setFocusProxy(queryWidget); connect(queryWidget, SIGNAL(search()), this, SLOT(search())); connect(resultWidget, &QHelpSearchResultWidget::requestShowLink, this, [this](const QUrl &url) { emit linkActivated(url, currentSearchTerms(), false/*newPage*/); }); connect(searchEngine, SIGNAL(searchingStarted()), this, SLOT(searchingStarted())); connect(searchEngine, SIGNAL(searchingFinished(int)), this, SLOT(searchingFinished(int))); QTextBrowser* browser = resultWidget->findChild<QTextBrowser*>(); browser->viewport()->installEventFilter(this); connect(searchEngine, SIGNAL(indexingStarted()), this, SLOT(indexingStarted())); connect(searchEngine, SIGNAL(indexingFinished()), this, SLOT(indexingFinished())); QMetaObject::invokeMethod(&LocalHelpManager::helpEngine(), "setupFinished", Qt::QueuedConnection); }
void BookmarkWidget::setup() { regExp.setPatternSyntax(QRegExp::FixedString); regExp.setCaseSensitivity(Qt::CaseInsensitive); QLayout *vlayout = new QVBoxLayout(this); vlayout->setMargin(0); vlayout->setSpacing(0); searchField = new Utils::FancyLineEdit(this); searchField->setFiltering(true); setFocusProxy(searchField); Utils::StyledBar *toolbar = new Utils::StyledBar(this); toolbar->setSingleRow(false); QLayout *tbLayout = new QHBoxLayout(); tbLayout->setMargin(4); tbLayout->addWidget(searchField); toolbar->setLayout(tbLayout); vlayout->addWidget(toolbar); searchField->installEventFilter(this); connect(searchField, &Utils::FancyLineEdit::textChanged, this, &BookmarkWidget::filterChanged); treeView = new TreeView(this); vlayout->addWidget(treeView); filterBookmarkModel = new QSortFilterProxyModel(this); treeView->setModel(filterBookmarkModel); treeView->setDragEnabled(true); treeView->setAcceptDrops(true); treeView->setAutoExpandDelay(1000); treeView->setDropIndicatorShown(true); treeView->viewport()->installEventFilter(this); treeView->setContextMenuPolicy(Qt::CustomContextMenu); connect(treeView, &TreeView::expanded, this, &BookmarkWidget::expand); connect(treeView, &TreeView::collapsed, this, &BookmarkWidget::expand); connect(treeView, &TreeView::activated, this, &BookmarkWidget::activated); connect(treeView, &TreeView::customContextMenuRequested, this, &BookmarkWidget::customContextMenuRequested); filterBookmarkModel->setFilterKeyColumn(0); filterBookmarkModel->setDynamicSortFilter(true); filterBookmarkModel->setSourceModel(bookmarkManager->treeBookmarkModel()); expandItems(); }
IndexWindow::IndexWindow() : m_searchLineEdit(0) , m_indexWidget(0) { QVBoxLayout *layout = new QVBoxLayout(this); m_searchLineEdit = new Utils::FilterLineEdit(); m_searchLineEdit->setPlaceholderText(QString()); setFocusProxy(m_searchLineEdit); connect(m_searchLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterIndices(QString))); m_searchLineEdit->installEventFilter(this); QLabel *l = new QLabel(tr("&Look for:")); l->setBuddy(m_searchLineEdit); layout->addWidget(l); layout->setMargin(0); layout->setSpacing(0); Utils::StyledBar *toolbar = new Utils::StyledBar(this); toolbar->setSingleRow(false); QLayout *tbLayout = new QHBoxLayout(); tbLayout->setSpacing(6); tbLayout->setMargin(4); tbLayout->addWidget(l); tbLayout->addWidget(m_searchLineEdit); toolbar->setLayout(tbLayout); layout->addWidget(toolbar); QHelpEngine *engine = &LocalHelpManager::helpEngine(); m_indexWidget = engine->indexWidget(); m_indexWidget->installEventFilter(this); connect(engine->indexModel(), SIGNAL(indexCreationStarted()), this, SLOT(disableSearchLineEdit())); connect(engine->indexModel(), SIGNAL(indexCreated()), this, SLOT(enableSearchLineEdit())); connect(m_indexWidget, SIGNAL(linkActivated(QUrl,QString)), this, SIGNAL(linkActivated(QUrl))); connect(m_indexWidget, SIGNAL(linksActivated(QMap<QString,QUrl>,QString)), this, SIGNAL(linksActivated(QMap<QString,QUrl>,QString))); connect(m_searchLineEdit, SIGNAL(returnPressed()), m_indexWidget, SLOT(activateCurrentItem())); m_indexWidget->setFrameStyle(QFrame::NoFrame); layout->addWidget(m_indexWidget); m_indexWidget->viewport()->installEventFilter(this); }