kshowmail.h

00001 /***************************************************************************
00002                           kshowmail.h  -  description
00003                              -------------------
00004     begin                : Sat May  6 12:13:57 MEST 2000
00005     copyright            : (C) 2000-2001 by Eggert Ehmke
00006     email                : eggert.ehmke@berlin.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef KSHOWMAIL_H
00019 #define KSHOWMAIL_H
00020 
00021 
00022 #ifdef HAVE_CONFIG_H
00023 #include <config.h>
00024 #endif
00025 
00026 // include files for KDE
00027 #include <kapplication.h>
00028 #include <kmainwindow.h>
00029 #include <kuniqueapplication.h>
00030 #include <kaction.h>
00031 #include <kstdaction.h>
00032 #include <klocale.h>
00033 #include <kstatusbar.h>
00034 #include <krun.h>
00035 #include <kpassdlg.h>
00036 #include <kdebug.h>
00037 #include <kedittoolbar.h>
00038 #include <kcmultidialog.h>
00039 
00040 
00041 //include files for KShowMail
00042 #include "configlist.h"
00043 #include "alertdialog.h"
00044 #include "showrecord.h"
00045 #include "showlistviewitem.h"
00046 #include "kshowmaildock.h"
00047 #include "kfeedback.h"
00048 #include "types.h"
00049 #include "kshowmailview.h"
00050 #include "kshowmaildoc.h"
00051 #include "serverdialog.h"
00052 #include "filterdialog.h"
00053 
00054 
00055 // forward declaration of the Kshowmail classes
00056 class KshowmailDoc;
00057 class KshowmailView;
00058 
00059 using namespace Types;
00060 
00076 class KShowMailApp : public KMainWindow
00077 {
00078   Q_OBJECT
00079 
00080   friend class KshowmailView;
00081   friend class KshowmailDock;
00082   friend class UniqueApp;
00083 
00084 
00085   private:
00086 
00090     KshowmailDoc* m_pDoc;
00091 
00095     KshowmailView *m_pView;
00096 
00100     KCMultiDialog* SetupDialog;
00101 
00105     KAction* m_actionSave;
00106 
00110     KAction* m_actionRefresh;
00111 
00116     ConfigList m_ConfigList;
00117 
00121     AlertDialog* m_pAlertDialog;
00122 
00126     KShowMailDock* m_pDockWindow;
00127 
00131     QTimer* m_pTimer;
00132 
00136      Types::State_Type m_state;
00137 
00141      unsigned long m_nSecondsToGo;
00142 
00143 
00144   public:
00149     KShowMailApp();
00150 
00154     ~KShowMailApp();
00155 
00160     static KAboutData* m_pAbout;
00161 
00165     void delayNextRefresh();
00166 
00167 
00168   protected:
00172     void readOptions();
00173 
00177     void initStatusBar();
00178 
00182     void initActions();
00183 
00188     void initDocument();
00189 
00193     void initView();
00194 
00202     virtual bool queryClose();
00203 
00211     virtual bool queryExit();
00212 
00219     virtual void timerEvent( QTimerEvent * );
00220 
00225     virtual bool event(QEvent *e);
00226 
00231     void initFirstRefresh();
00232 
00236     void stopRefreshTimer();
00237 
00241     void initNextRefresh();
00242 
00243   protected slots:
00244 
00252     void slotStatusHelpMsg(const QString &text);
00253 
00260     void slotStatusMsg(const QString &text);
00261 
00266     void slotConfChanged();
00267 
00272     void slotDelete();
00273 
00281     void slotDeletionReady();
00282 
00287     void slotShowMessage();
00288 
00295     void slotShowMessageReady();
00296 
00303     void slotNormalCursor();
00304 
00311     void slotWaitingCursor();
00312 
00317     void slotRefresh();
00318 
00325     void slotRefreshReady();
00326 
00334     void slotAlertDestroyed();
00335 
00341     void slotAlertOk ();
00342 
00346     void slotRefreshView ();
00347 
00352     void slotStop ();
00353 
00358     void slotShowHeader();
00359 
00364     void slotEditToolbars();
00365 
00369     void slotSaveOptions();
00370 
00376     void slotFileQuit();
00377 
00381     void slotSetupAccount();
00382 
00387     void slotSetup();
00388 
00394     void slotSetupFilters();
00395 
00396 
00397 
00398     void slotAccountActivated(QListViewItem*);
00399     void slotSendFeedbackMail();
00400     void slotForceClose();
00401 
00402 
00403 
00404 
00405 private:
00406 
00407     bool m_bForceClose;
00408 
00409 
00410   protected:
00411     void addFeatureList(KFeedbackQuestion * question);
00412     bool askCloseConfirmation();
00413 
00414 };
00415 
00416 #endif // KSHOWMAIL_H

Generated on Thu Jul 5 19:36:06 2007 for kshowmail by  doxygen 1.5.0