Make a branch to make krunner Good Enough For Aaron™.
[kdebase/uwolfer.git] / apps / kinfocenter / toplevel.h
blob4ed0f5bb4f63a97ff7850301fa728be0f7d81418
1 /*
2 Copyright (c) 1999 Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
3 Copyright (c) 2000 Matthias Elter <elter@kde.org>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 #ifndef __TOPLEVEL_H__
21 #define __TOPLEVEL_H__
23 #include <kxmlguiwindow.h>
24 #include <Qt3Support/Q3CheckListItem>
26 class QAction;
27 class QSplitter;
28 class QTabWidget;
30 class KAboutData;
31 class KToggleAction;
33 class DockContainer;
34 class IndexWidget;
35 class SearchWidget;
36 class HelpWidget;
37 class ConfigModule;
38 class ConfigModuleList;
39 class ModuleTitle;
41 class TopLevel : public KXmlGuiWindow
43 Q_OBJECT
45 public:
46 TopLevel();
47 ~TopLevel();
49 protected:
50 void setupActions();
52 protected Q_SLOTS:
53 void activateModule(ConfigModule *);
54 void categorySelected(Q3ListViewItem *category);
55 void newModule(const QString &name, const QString& docPath, const QString &quickhelp);
56 void activateIconView();
57 void activateTreeView();
59 void reportBug();
60 void aboutModule();
62 void activateSmallIcons();
63 void activateMediumIcons();
64 void activateLargeIcons();
65 void activateHugeIcons();
67 void deleteDummyAbout();
69 void slotHelpRequest();
71 void changedModule(ConfigModule *changed);
73 bool queryClose();
75 private:
77 QString handleAmpersand( const QString &modName ) const;
79 QSplitter *_splitter;
80 QTabWidget *_tab;
81 DockContainer *_dock;
82 ModuleTitle *_title;
84 KToggleAction *tree_view, *icon_view;
85 KToggleAction *icon_small, *icon_medium, *icon_large, *icon_huge;
86 QAction *report_bug, *about_module;
88 IndexWidget *_indextab;
89 SearchWidget *_searchtab;
90 HelpWidget *_helptab;
92 ConfigModule *_active;
93 ConfigModuleList *_modules;
95 /**
96 * if someone wants to report a bug
97 * against a module with no about data
98 * we construct one for him
99 **/
100 KAboutData *dummyAbout;
103 #endif