helpdialog.h
来自「奇趣公司比较新的qt/emd版本」· C头文件 代码 · 共 176 行
H
176 行
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the Qt Assistant of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.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://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef HELPDIALOG_H#define HELPDIALOG_H#include "ui_helpdialog.h"#include "index.h"#include "helpwindow.h"#include "docuparser.h"#include <QList>#include <QPair>#include <QListWidget>#include <QTreeWidget>#include <QMap>#include <QStringList>#include <QValidator>#include <QMenu>#include <QHash>class QProgressBar;class MainWindow;class QTextBrowser;class IndexListModel;class HelpNavigationListItem : public QListWidgetItem{public: HelpNavigationListItem(QListWidget *ls, const QString &txt); void addLink(const QString &link); QStringList links() const { return linkList; }private: QStringList linkList;};class SearchValidator : public QValidator{ Q_OBJECTpublic: SearchValidator(QObject *parent) : QValidator(parent) {} ~SearchValidator() {} QValidator::State validate(QString &str, int &) const;};class HelpDialog : public QWidget{ Q_OBJECTpublic: HelpDialog(QWidget *parent, MainWindow *h); inline QTabWidget *tabWidget() const { return ui.tabWidget; } QString titleOfLink(const QString &link); bool eventFilter(QObject *, QEvent *); bool lastWindowClosed() { return lwClosed; } void timerEvent(QTimerEvent *e); static QString removeAnchorFromLink(const QString &link);signals: void showLink(const QString &s); void showSearchLink(const QString &s, const QStringList &terms);public slots: void initialize(); void startSearch(); void addBookmark(); void currentTabChanged(int index); void locateContents(const QString &link);private slots: void on_buttonAdd_clicked(); void on_buttonRemove_clicked(); void on_termsEdit_returnPressed(); void on_helpButton_clicked(); void on_searchButton_clicked(); void on_resultBox_itemActivated(QListWidgetItem*); void updateSearchButton(const QString &txt); void showResultPage(QListWidgetItem *); void showTopic(QTreeWidgetItem *); void loadIndexFile(); void insertContents(); void setupFullTextIndex(); void showTopic(); void searchInIndex(const QString &s); void toggleContents(); void toggleIndex(); void toggleBookmarks(); void toggleSearch(); void lastWinClosed(); void setIndexingProgress(int prog); void showListItemMenu(const QPoint &pos); void showIndexItemMenu(const QPoint &pos); void showTreeItemMenu(const QPoint &pos); void insertBookmarks(); void processEvents();private: typedef QList<ContentItem> ContentList; void removeOldCacheFiles(bool onlyFulltextSearchIndex = false); void buildKeywordDB(); quint32 getFileAges(); void showIndexTopic(); void showBookmarkTopic(); void setupTitleMap(); void saveBookmarks(); void showContentsTopic(); void showInitDoneMessage(); void buildContentDict(); QTreeWidgetItem * locateLink(QTreeWidgetItem *item, const QString &link);private: Ui::HelpDialog ui; IndexListModel *indexModel; QMap<QString, QString> titleMap; bool indexDone, bookmarksInserted, titleMapDone, contentsInserted; bool lwClosed; MainWindow *help; QString documentationPath; Index *fullTextIndex; QStringList terms, foundDocs; bool initDoneMsgShown; void getAllContents(); QList<QPair<QString, ContentList> > contentList; QMenu *itemPopup; QString cacheFilesPath; QStringList keywordDocuments; QAction *actionOpenCurrentTab; QAction *actionOpenLinkInNewWindow; QAction *actionOpenLinkInNewTab;};#endif // HELPDIALOG_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?