diff --git a/shared/help/help.pri b/shared/help/help.pri index 9503d085938b6ae619b5d2567fa3fe8a163ec88a..dff0ae7699b673175d3571ba8d4ffa952340805e 100644 --- a/shared/help/help.pri +++ b/shared/help/help.pri @@ -9,7 +9,8 @@ HEADERS += \ $$PWD/helpviewer.h \ $$PWD/contentwindow.h \ $$PWD/bookmarkmanager.h \ - $$PWD/../namespace_global.h + $$PWD/../namespace_global.h \ + $$PWD/indexwindow.h SOURCES += \ $$PWD/filternamedialog.cpp \ @@ -19,7 +20,7 @@ SOURCES += \ $$PWD/contentwindow.cpp \ $$PWD/bookmarkmanager.cpp -FORMS += \ +FORMS += \ $$PWD/filternamedialog.ui \ $$PWD/topicchooser.ui \ $$PWD/bookmarkdialog.ui diff --git a/src/plugins/cpptools/cpphoverhandler.cpp b/src/plugins/cpptools/cpphoverhandler.cpp index 37b63bda9c23f4adf11670e34062efaded814a18..16ed8a9215039009e6d47403939d02d996824f83 100644 --- a/src/plugins/cpptools/cpphoverhandler.cpp +++ b/src/plugins/cpptools/cpphoverhandler.cpp @@ -60,7 +60,7 @@ using namespace CppTools::Internal; CppHoverHandler::CppHoverHandler(CppModelManager *manager, QObject *parent) - : QObject(parent), m_manager(manager) + : QObject(parent), m_manager(manager), m_helpEngineNeedsSetup(false) { QFileInfo fi(ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>()->settings()->fileName()); m_helpEngine = new QHelpEngineCore(fi.absolutePath() @@ -68,6 +68,7 @@ CppHoverHandler::CppHoverHandler(CppModelManager *manager, QObject *parent) //m_helpEngine->setAutoSaveFilter(false); m_helpEngine->setupData(); m_helpEngine->setCurrentFilter(tr("Unfiltered")); + m_helpEngineNeedsSetup = m_helpEngine->registeredDocumentations().count() == 0; } void CppHoverHandler::updateContextHelpId(TextEditor::ITextEditor *editor, int pos) @@ -234,6 +235,12 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in } } + if (m_helpEngineNeedsSetup + && m_helpEngine->registeredDocumentations().count() > 0) { + m_helpEngine->setupData(); + m_helpEngineNeedsSetup = false; + } + if (!m_helpId.isEmpty() && !m_helpEngine->linksForIdentifier(m_helpId).isEmpty()) { m_toolTip = QString(QLatin1String("<table><tr><td valign=middle><nobr>%1</td>" "<td><img src=\":/cpptools/images/f1.svg\"></td></tr></table>")).arg(Qt::escape(m_toolTip)); diff --git a/src/plugins/cpptools/cpphoverhandler.h b/src/plugins/cpptools/cpphoverhandler.h index 9aaa17cb0f88e1e47c04ebca1a96114f53f6917b..d1de5277b1241468b5dfdfbeff5d9ec14ea49927 100644 --- a/src/plugins/cpptools/cpphoverhandler.h +++ b/src/plugins/cpptools/cpphoverhandler.h @@ -68,6 +68,7 @@ private: QHelpEngineCore *m_helpEngine; QString m_helpId; QString m_toolTip; + bool m_helpEngineNeedsSetup; }; } // namespace Internal diff --git a/src/plugins/help/help.pro b/src/plugins/help/help.pro index 1148606cab73e847a7b8bb75ce359cae31a93c21..b2e9a1dbd613cec02e2b73ed04d1cd6c7e1eaa3d 100644 --- a/src/plugins/help/help.pro +++ b/src/plugins/help/help.pro @@ -16,8 +16,8 @@ HEADERS += helpplugin.h \ searchwidget.h \ helpfindsupport.h \ help_global.h \ - helpindexfilter.h \ - indexwindow.h + helpindexfilter.h + SOURCES += helpplugin.cpp \ docsettingspage.cpp \ filtersettingspage.cpp \ @@ -26,6 +26,7 @@ SOURCES += helpplugin.cpp \ searchwidget.cpp \ helpfindsupport.cpp \ helpindexfilter.cpp + FORMS += docsettingspage.ui \ filtersettingspage.ui RESOURCES += help.qrc diff --git a/src/plugins/help/indexwindow.h b/src/plugins/help/indexwindow.h deleted file mode 100644 index 51ebb06653d197fa2fd1b74f5bcdf1bcc44031c8..0000000000000000000000000000000000000000 --- a/src/plugins/help/indexwindow.h +++ /dev/null @@ -1,82 +0,0 @@ -/*************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Qt Software Information (qt-info@nokia.com) -** -** -** Non-Open Source Usage -** -** Licensees may use this file in accordance with the Qt Beta Version -** License Agreement, Agreement version 2.2 provided with the Software or, -** alternatively, in accordance with the terms contained in a written -** agreement between you and Nokia. -** -** GNU General Public License Usage -** -** Alternatively, this file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the packaging -** of this file. Please review the following information to ensure GNU -** General Public Licensing requirements will be met: -** -** http://www.fsf.org/licensing/licenses/info/GPLv2.html and -** http://www.gnu.org/copyleft/gpl.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt GPL Exception -** version 1.2, included in the file GPL_EXCEPTION.txt in this package. -** -***************************************************************************/ - -#ifndef INDEXWINDOW_H -#define INDEXWINDOW_H - -#include <QtCore/QUrl> -#include <QtGui/QWidget> -#include <QtGui/QLineEdit> - -QT_BEGIN_NAMESPACE - -class QHelpIndexWidget; -class QHelpEngine; - -class IndexWindow : public QWidget -{ - Q_OBJECT - -public: - IndexWindow(QHelpEngine *helpEngine, QWidget *parent = 0); - ~IndexWindow(); - - void setSearchLineEditText(const QString &text); - QString searchLineEditText() const - { - return m_searchLineEdit->text(); - } - -signals: - void linkActivated(const QUrl &link); - void linksActivated(const QMap<QString, QUrl> &links, - const QString &keyword); - void escapePressed(); - -private slots: - void filterIndices(const QString &filter); - void enableSearchLineEdit(); - void disableSearchLineEdit(); - -private: - bool eventFilter(QObject *obj, QEvent *e); - void focusInEvent(QFocusEvent *e); - - QLineEdit *m_searchLineEdit; - QHelpIndexWidget *m_indexWidget; - QHelpEngine *m_helpEngine; -}; - -QT_END_NAMESPACE - -#endif // INDEXWINDOW_H