diff options
Diffstat (limited to 'khelpcenter/navigator.h')
-rw-r--r-- | khelpcenter/navigator.h | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/khelpcenter/navigator.h b/khelpcenter/navigator.h new file mode 100644 index 000000000..5e28c0460 --- /dev/null +++ b/khelpcenter/navigator.h @@ -0,0 +1,153 @@ +/* + * This file is part of the KDE Help Center + * + * Copyright (C) 1999 Matthias Elter (me@kde.org) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __navigator_h__ +#define __navigator_h__ + +#include "glossary.h" + +#include <klistview.h> +#include <kurl.h> + +#include <qfile.h> +#include <qtextstream.h> +#include <qtimer.h> +#include <qptrlist.h> +#include <qtabwidget.h> +#include <qlistview.h> +#include <qdict.h> + +class QPushButton; + +class KListView; +class KService; +class KProcess; +class KProcIO; + +class KCMHelpCenter; + +namespace KHC { + +class NavigatorItem; +class Navigator; +class View; +class SearchEngine; +class SearchWidget; +class Formatter; + +class Navigator : public QWidget +{ + Q_OBJECT + public: + Navigator(View *, QWidget *parent=0, const char *name=0); + virtual ~Navigator(); + + KURL homeURL(); + + SearchEngine *searchEngine() const; + Formatter *formatter() const; + + const GlossaryEntry &glossEntry(const QString &term) const { return mGlossaryTree->entry( term ); } + + void insertParentAppDocs( const QString &name, NavigatorItem *parent ); + void insertAppletDocs( NavigatorItem *parent ); + NavigatorItem *insertScrollKeeperDocs( NavigatorItem *parentItem, + NavigatorItem *after ); + void insertInfoDocs( NavigatorItem *parentItem ); + void insertIOSlaveDocs(const QString &, NavigatorItem*parent); + + void createItemFromDesktopFile( NavigatorItem *item, const QString &name ); + + bool showMissingDocs() const; + + void clearSelection(); + + void showOverview( NavigatorItem *item, const KURL &url ); + + void readConfig(); + void writeConfig(); + + public slots: + void openInternalUrl( const KURL &url ); + void slotItemSelected(QListViewItem* index); + void slotSearch(); + void slotShowSearchResult( const QString & ); + void slotSelectGlossEntry( const QString &id ); + void selectItem( const KURL &url ); + void showIndexDialog(); + + signals: + void itemSelected(const QString& itemURL); + void glossSelected(const GlossaryEntry &entry); + + protected slots: + void slotSearchFinished(); + void slotTabChanged( QWidget * ); + void checkSearchButton(); + + bool checkSearchIndex(); + + void clearSearch(); + + protected: + QString createChildrenList( QListViewItem *child ); + + private: + void setupContentsTab(); + void setupIndexTab(); + void setupSearchTab(); + void setupGlossaryTab(); + + void insertPlugins(); + void hideSearch(); + + KListView *mContentsTree; + Glossary *mGlossaryTree; + + SearchWidget *mSearchWidget; + KCMHelpCenter *mIndexDialog; + + QTabWidget *mTabWidget; + + QFrame *mSearchFrame; + QLineEdit *mSearchEdit; + QPushButton *mSearchButton; + + QPtrList<NavigatorItem> manualItems, pluginItems; + + bool mShowMissingDocs; + + SearchEngine *mSearchEngine; + + View *mView; + + KURL mHomeUrl; + + bool mSelected; + + KURL mLastUrl; + + int mDirLevel; +}; + +} + +#endif +// vim:ts=2:sw=2:et |