# kshowmail.h

Go to the documentation of this file.

    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 <tdeapplication.h>
    00028 #include <tdemainwindow.h>
    00029 #include <kuniqueapplication.h>
    00030 #include <tdeaction.h>
    00031 #include <kstdaction.h>
    00032 #include <tdelocale.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 "filterlog.h"
    00053 #include "filterlogview.h"
    00054
    00055
    00056 // forward declaration of the Kshowmail classes
    00057 class KshowmailDoc;
    00058 class KshowmailView;
    00059
    00060 using namespace Types;
    00061
    00077 class KShowMailApp : public TDEMainWindow
    00078 {
    00079   Q_OBJECT
    00080
    00081   friend class KshowmailView;
    00082   friend class KshowmailDock;
    00083   friend class UniqueApp;
    00084
    00085
    00086   private:
    00087
    00091     KshowmailDoc* m_pDoc;
    00092
    00096     KshowmailView *m_pView;
    00097
    00101     KCMultiDialog* SetupDialog;
    00102
    00106     TDEAction* m_actionRefresh;
    00107
    00112     ConfigList m_ConfigList;
    00113
    00117     AlertDialog* m_pAlertDialog;
    00118
    00122     KShowMailDock* m_pDockWindow;
    00123
    00127     TQTimer* m_pTimer;
    00128
    00132      Types::State_Type m_state;
    00133
    00137      unsigned long m_nSecondsToGo;
    00138
    00142      FilterLog fLog;
    00143
    00144
    00145   public:
    00150     KShowMailApp();
    00151
    00155     ~KShowMailApp();
    00156
    00161     static TDEAboutData* m_pAbout;
    00162
    00166     void delayNextRefresh();
    00167
    00168
    00169   protected:
    00170
    00174     void initStatusBar();
    00175
    00179     void initActions();
    00180
    00185     void initDocument();
    00186
    00190     void initView();
    00191
    00199     virtual bool queryClose();
    00200
    00208     virtual bool queryExit();
    00209
    00216     virtual void timerEvent( TQTimerEvent * );
    00217
    00222     virtual bool event(TQEvent *e);
    00223
    00228     void initFirstRefresh();
    00229
    00233     void stopRefreshTimer();
    00234
    00238     void initNextRefresh();
    00239
    00240   protected slots:
    00241
    00249     void slotStatusHelpMsg(const TQString &text);
    00250
    00257     void slotStatusMsg(const TQString &text);
    00258
    00263     void slotConfChanged();
    00264
    00269     void slotDelete();
    00270
    00278     void slotDeletionReady();
    00279
    00284     void slotShowMessage();
    00285
    00292     void slotShowMessageReady();
    00293
    00300     void slotNormalCursor();
    00301
    00308     void slotWaitingCursor();
    00309
    00314     void slotRefresh();
    00315
    00322     void slotRefreshReady();
    00323
    00331     void slotAlertDestroyed();
    00332
    00338     void slotAlertOk ();
    00339
    00343     void slotRefreshView ();
    00344
    00349     void slotStop ();
    00350
    00355     void slotShowHeader();
    00356
    00361     void slotEditToolbars();
    00362
    00366     void slotSaveOptions();
    00367
    00373     void slotFileQuit();
    00374
    00378     void slotSetupAccount();
    00379
    00384     void slotSetup();
    00385
    00389     void slotShowFilterLog();
    00390
    00391     void slotAccountActivated(TQListViewItem*);
    00392     void slotSendFeedbackMail();
    00393     void slotForceClose();
    00394
    00395
    00396
    00397
    00398 private:
    00399
    00400     bool m_bForceClose;
    00401
    00402
    00403   protected:
    00404     void addFeatureList(KFeedbackQuestion * question);
    00405     bool askCloseConfirmation();
    00406
    00407 };
    00408
    00409 #endif // KSHOWMAIL_H