void OpenPagesModel::addPage(const QUrl &url, qreal zoom) { beginInsertRows(QModelIndex(), rowCount(), rowCount()); HelpViewer *page = new HelpViewer(zoom); connect(page, SIGNAL(titleChanged()), this, SLOT(handleTitleChanged())); m_pages << page; endInsertRows(); page->setSource(url); }
void CentralWidget::setSource(const QUrl &url) { HelpViewer* viewer = currentHelpViewer(); HelpViewer* lastViewer = qobject_cast<HelpViewer*>(tabWidget->widget(lastTabPage)); if (!viewer && !lastViewer) { viewer = new HelpViewer(helpEngine, this); viewer->installEventFilter(this); lastTabPage = tabWidget->addTab(viewer, QString()); tabWidget->setCurrentIndex(lastTabPage); connectSignals(); qApp->processEvents(); } else viewer = lastViewer; viewer->setSource(url); currentPageChanged(lastTabPage); viewer->setFocus(Qt::OtherFocusReason); tabWidget->setCurrentIndex(lastTabPage); tabWidget->setTabText(lastTabPage, quoteTabTitle(viewer->documentTitle())); }