You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/khelpcenter/navigator.h

154 lines
3.6 KiB

/*
* 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