forked from qt-creator/qt-creator
Sync with Assistant source, fixes empty tab title.
This commit is contained in:
@@ -153,7 +153,11 @@ CentralWidget *CentralWidget::instance()
|
|||||||
void CentralWidget::newTab()
|
void CentralWidget::newTab()
|
||||||
{
|
{
|
||||||
HelpViewer* viewer = currentHelpViewer();
|
HelpViewer* viewer = currentHelpViewer();
|
||||||
|
#if !defined(QT_NO_WEBKIT)
|
||||||
|
if (viewer && viewer->hasLoadFinished())
|
||||||
|
#else
|
||||||
if (viewer)
|
if (viewer)
|
||||||
|
#endif
|
||||||
setSourceInNewTab(viewer->source());
|
setSourceInNewTab(viewer->source());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -500,26 +504,22 @@ void CentralWidget::activateTab(bool onlyHelpViewer)
|
|||||||
|
|
||||||
void CentralWidget::setTabTitle(const QUrl& url)
|
void CentralWidget::setTabTitle(const QUrl& url)
|
||||||
{
|
{
|
||||||
int tab = lastTabPage;
|
|
||||||
HelpViewer* viewer = currentHelpViewer();
|
|
||||||
|
|
||||||
#if !defined(QT_NO_WEBKIT)
|
|
||||||
if (!viewer || viewer->source() != url) {
|
|
||||||
QTabBar *tabBar = qFindChild<QTabBar*>(tabWidget);
|
|
||||||
for (tab = 0; tab < tabBar->count(); ++tab) {
|
|
||||||
viewer = qobject_cast<HelpViewer*>(tabWidget->widget(tab));
|
|
||||||
if (viewer && viewer->source() == url)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
Q_UNUSED(url)
|
Q_UNUSED(url)
|
||||||
#endif
|
#if !defined(QT_NO_WEBKIT)
|
||||||
|
QTabBar *tabBar = qFindChild<QTabBar*>(tabWidget);
|
||||||
if (viewer) {
|
for (int i = 0; i < tabBar->count(); ++i) {
|
||||||
tabWidget->setTabText(tab,
|
HelpViewer* view = qobject_cast<HelpViewer*>(tabWidget->widget(i));
|
||||||
|
if (view) {
|
||||||
|
tabWidget->setTabText(i,
|
||||||
|
quoteTabTitle(view->documentTitle().trimmed()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
if (HelpViewer* viewer = currentHelpViewer()) {
|
||||||
|
tabWidget->setTabText(lastTabPage,
|
||||||
quoteTabTitle(viewer->documentTitle().trimmed()));
|
quoteTabTitle(viewer->documentTitle().trimmed()));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void CentralWidget::currentPageChanged(int index)
|
void CentralWidget::currentPageChanged(int index)
|
||||||
|
@@ -235,6 +235,7 @@ HelpViewer::HelpViewer(QHelpEngine *engine, Help::Internal::CentralWidget *paren
|
|||||||
, helpEngine(engine)
|
, helpEngine(engine)
|
||||||
, parentWidget(parent)
|
, parentWidget(parent)
|
||||||
, multiTabsAllowed(true)
|
, multiTabsAllowed(true)
|
||||||
|
, loadFinished(false)
|
||||||
{
|
{
|
||||||
setPage(new HelpPage(parent, helpEngine, this));
|
setPage(new HelpPage(parent, helpEngine, this));
|
||||||
settings()->setAttribute(QWebSettings::PluginsEnabled, false);
|
settings()->setAttribute(QWebSettings::PluginsEnabled, false);
|
||||||
@@ -262,11 +263,13 @@ HelpViewer::HelpViewer(QHelpEngine *engine, Help::Internal::CentralWidget *paren
|
|||||||
connect(page(), SIGNAL(linkHovered(QString, QString, QString)), this,
|
connect(page(), SIGNAL(linkHovered(QString, QString, QString)), this,
|
||||||
SIGNAL(highlighted(QString)));
|
SIGNAL(highlighted(QString)));
|
||||||
connect(this, SIGNAL(urlChanged(QUrl)), this, SIGNAL(sourceChanged(QUrl)));
|
connect(this, SIGNAL(urlChanged(QUrl)), this, SIGNAL(sourceChanged(QUrl)));
|
||||||
|
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(setLoadFinished(bool)));
|
||||||
setAcceptDrops(false);
|
setAcceptDrops(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HelpViewer::setSource(const QUrl &url)
|
void HelpViewer::setSource(const QUrl &url)
|
||||||
{
|
{
|
||||||
|
loadFinished = false;
|
||||||
if (!homeUrl.isValid())
|
if (!homeUrl.isValid())
|
||||||
homeUrl = url;
|
homeUrl = url;
|
||||||
load(url);
|
load(url);
|
||||||
@@ -356,6 +359,12 @@ void HelpViewer::mousePressEvent(QMouseEvent *event)
|
|||||||
QWebView::mousePressEvent(event);
|
QWebView::mousePressEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HelpViewer::setLoadFinished(bool ok)
|
||||||
|
{
|
||||||
|
loadFinished = ok;
|
||||||
|
emit sourceChanged(url());
|
||||||
|
}
|
||||||
|
|
||||||
#else // !defined(QT_NO_WEBKIT)
|
#else // !defined(QT_NO_WEBKIT)
|
||||||
|
|
||||||
HelpViewer::HelpViewer(QHelpEngine *engine, Help::Internal::CentralWidget *parent)
|
HelpViewer::HelpViewer(QHelpEngine *engine, Help::Internal::CentralWidget *parent)
|
||||||
|
@@ -90,6 +90,8 @@ public:
|
|||||||
{ return pageAction(QWebPage::Forward)->isEnabled(); }
|
{ return pageAction(QWebPage::Forward)->isEnabled(); }
|
||||||
inline bool isBackwardAvailable() const
|
inline bool isBackwardAvailable() const
|
||||||
{ return pageAction(QWebPage::Back)->isEnabled(); }
|
{ return pageAction(QWebPage::Back)->isEnabled(); }
|
||||||
|
inline bool hasLoadFinished() const
|
||||||
|
{ return loadFinished; }
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void home();
|
void home();
|
||||||
@@ -109,12 +111,14 @@ protected:
|
|||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void actionChanged();
|
void actionChanged();
|
||||||
|
void setLoadFinished(bool ok);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QHelpEngine *helpEngine;
|
QHelpEngine *helpEngine;
|
||||||
Help::Internal::CentralWidget* parentWidget;
|
Help::Internal::CentralWidget* parentWidget;
|
||||||
QUrl homeUrl;
|
QUrl homeUrl;
|
||||||
bool multiTabsAllowed;
|
bool multiTabsAllowed;
|
||||||
|
bool loadFinished;
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
Reference in New Issue
Block a user