00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef KMAIL_EDITORWATCHER_H
00020 #define KMAIL_EDITORWATCHER_H
00021
00022 #include <kurl.h>
00023
00024 #include <tqdatetime.h>
00025 #include <tqobject.h>
00026 #include <tqtimer.h>
00027
00028 class TDEProcess;
00029
00030 namespace KMail {
00031
00038 class EditorWatcher : public TQObject
00039 {
00040 Q_OBJECT
00041
00042 public:
00050 EditorWatcher( const KURL &url, const TQString &mimeType, bool openWith,
00051 TQObject *parent, TQWidget *parentWidget );
00052 bool start();
00053 bool fileChanged() const { return mFileModified; }
00054 signals:
00055 void editDone( KMail::EditorWatcher* watcher );
00056
00057 private slots:
00058 void editorExited();
00059 void inotifyEvent();
00060 void checkEditDone();
00061
00062 private:
00063 KURL mUrl;
00064 TQString mMimeType;
00065 bool mOpenWith;
00066 TDEProcess *mEditor;
00067 TQWidget *mParentWidget;
00068
00069 int mInotifyFd;
00070 int mInotifyWatch;
00071 bool mHaveInotify;
00072
00073 bool mFileOpen;
00074 bool mEditorRunning;
00075
00076 bool mFileModified;
00077
00078 TQTimer mTimer;
00079 TQTime mEditTime;
00080
00081 bool mError;
00082 bool mDone;
00083 };
00084
00085 }
00086
00087 #endif