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 menuSwitchLanguage = 5 00144 }; 00145 00159 KHelpMenu( QWidget *parent=0, const QString &aboutAppText=QString::null, 00160 bool showWhatsThis=true ); 00161 00178 KHelpMenu( QWidget *parent, const KAboutData *aboutData, 00179 bool showWhatsThis=true, KActionCollection *actions = 0 ); 00180 00186 ~KHelpMenu(); 00187 00195 KPopupMenu *menu(); 00196 00197 public slots: 00203 void appHelpActivated(); 00204 00208 void contextHelpActivated(); 00209 00215 void aboutApplication(); 00216 00220 void aboutKDE(); 00221 00225 void reportBug(); 00226 00230 void switchApplicationLanguage(); 00231 00232 private slots: 00238 void menuDestroyed(); 00239 00244 void dialogFinished(); 00245 00251 void timerExpired(); 00252 00253 signals: 00261 void showAboutApplication(); 00262 00263 private: 00264 KPopupMenu *mMenu; 00265 KDialogBase *mAboutApp; 00266 KAboutKDE *mAboutKDE; 00267 KBugReport *mBugReport; 00268 00269 QString mAboutAppText; 00270 QWidget *mParent; 00271 00272 bool mShowWhatsThis; 00273 00274 protected: 00275 virtual void virtual_hook( int id, void* data ); 00276 private: 00277 KHelpMenuPrivate *d; 00278 }; 00279 00280 00281 #endif