khelpmenu.h

00001 /*
00002  * This file is part of the KDE Libraries
00003  * Copyright (C) 1999-2000 Espen Sand (espen@kde.org)
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Library General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Library General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Library General Public License
00016  * along with this library; see the file COPYING.LIB.  If not, write to
00017  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018  * Boston, MA 02110-1301, USA.
00019  *
00020  */
00021 
00022 #ifndef _KHELPMENU_H_
00023 #define _KHELPMENU_H_
00024 
00025 #include <qobject.h>
00026 #include <qstring.h>
00027 
00028 #include <kdelibs_export.h>
00029 
00030 class KActionCollection;
00031 class KPopupMenu;
00032 class QWidget;
00033 
00034 class KAboutData;
00035 class KAboutKDE;
00036 class KBugReport;
00037 class KDialogBase;
00038 class KHelpMenuPrivate;
00039 
00040 
00131 class KDEUI_EXPORT KHelpMenu : public QObject
00132 {
00133   Q_OBJECT
00134 
00135   public:
00136     enum MenuId
00137     {
00138       menuHelpContents = 0,
00139       menuWhatsThis = 1,
00140       menuAboutApp = 2,
00141       menuAboutKDE = 3,
00142       menuReportBug = 4
00143     };
00144 
00158     KHelpMenu( QWidget *parent=0, const QString &aboutAppText=QString::null,
00159            bool showWhatsThis=true );
00160 
00177     KHelpMenu( QWidget *parent, const KAboutData *aboutData,
00178            bool showWhatsThis=true, KActionCollection *actions = 0 );
00179 
00185     ~KHelpMenu();
00186 
00194     KPopupMenu *menu();
00195 
00196   public slots:
00202     void appHelpActivated();
00203 
00207     void contextHelpActivated();
00208 
00214     void aboutApplication();
00215 
00219     void aboutKDE();
00220 
00224     void reportBug();
00225 
00226   private slots:
00232     void menuDestroyed();
00233 
00238     void dialogFinished();
00239 
00245     void timerExpired();
00246 
00247   signals:
00255     void showAboutApplication();
00256 
00257   private:
00258     KPopupMenu   *mMenu;
00259     KDialogBase  *mAboutApp;
00260     KAboutKDE    *mAboutKDE;
00261     KBugReport   *mBugReport;
00262 
00263     QString      mAboutAppText;
00264     QWidget      *mParent;
00265 
00266     bool         mShowWhatsThis;
00267 
00268   protected:
00269     virtual void virtual_hook( int id, void* data );
00270   private:
00271     KHelpMenuPrivate *d;
00272 };
00273 
00274 
00275 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys