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 <tqfile.h>
#include <tqtextstream.h>
#include <tqtimer.h>
#include <tqptrlist.h>
#include <tqtabwidget.h>
#include <tqlistview.h>
#include <tqdict.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 *, TQWidget *parent=0, const char *name=0);
virtual ~Navigator();
KURL homeURL();
SearchEngine *searchEngine() const;
Formatter *formatter() const;
const GlossaryEntry &glossEntry(const TQString &term) const { return mGlossaryTree->entry( term ); }
void insertParentAppDocs( const TQString &name, NavigatorItem *parent );
void insertAppletDocs( NavigatorItem *parent );
NavigatorItem *insertScrollKeeperDocs( NavigatorItem *parentItem,
NavigatorItem *after );
void insertInfoDocs( NavigatorItem *parentItem );
void insertIOSlaveDocs(const TQString &, NavigatorItem*parent);
void createItemFromDesktopFile( NavigatorItem *item, const TQString &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(TQListViewItem* index);
void slotSearch();
void slotShowSearchResult( const TQString & );
void slotSelectGlossEntry( const TQString &id );
void selectItem( const KURL &url );
void showIndexDialog();
signals:
void itemSelected(const TQString& itemURL);
void glossSelected(const GlossaryEntry &entry);
protected slots:
void slotSearchFinished();
void slotTabChanged( TQWidget * );
void checkSearchButton();
bool checkSearchIndex();
void clearSearch();
protected:
TQString createChildrenList( TQListViewItem *child );
private:
void setupContentsTab();
void setupIndexTab();
void setupSearchTab();
void setupGlossaryTab();
void insertPlugins();
void hideSearch();
KListView *mContentsTree;
Glossary *mGlossaryTree;
SearchWidget *mSearchWidget;
KCMHelpCenter *mIndexDialog;
TQTabWidget *mTabWidget;
TQFrame *mSearchFrame;
TQLineEdit *mSearchEdit;
TQPushButton *mSearchButton;
TQPtrList<NavigatorItem> manualItems, pluginItems;
bool mShowMissingDocs;
SearchEngine *mSearchEngine;
View *mView;
KURL mHomeUrl;
bool mSelected;
KURL mLastUrl;
int mDirLevel;
};
}
#endif
// vim:ts=2:sw=2:et