00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef FUNCTIONS_H
00022 #define FUNCTIONS_H
00023
00026 #include <tqsize.h>
00027 #include <tqstring.h>
00028
00029 #include "alarmevent.h"
00030
00031 class TQObject;
00032 class TQWidget;
00033 class TQString;
00034 class TDEAction;
00035 class TDEActionCollection;
00036 namespace KCal { class Event; }
00037 class KAEvent;
00038 class MainWindow;
00039 class AlarmListView;
00040 class TemplateListView;
00041 class TemplateMenuAction;
00042
00043 namespace KAlarm
00044 {
00045
00047 enum FileType { Unknown, TextPlain, TextFormatted, TextApplication, Image };
00051 enum UpdateStatus {
00052 UPDATE_OK,
00053 UPDATE_KORG_ERR,
00054 UPDATE_ERROR,
00055 UPDATE_FAILED,
00056 SAVE_FAILED
00057 };
00059 enum UpdateError { ERR_ADD, ERR_DELETE, ERR_REACTIVATE, ERR_TEMPLATE };
00061 enum KOrgUpdateError { KORG_ERR_ADD, KORG_ERR_MODIFY, KORG_ERR_DELETE };
00062
00063
00065 MainWindow* displayMainWindowSelected(const TQString& eventID = TQString());
00066 bool readConfigWindowSize(const char* window, TQSize&);
00067 void writeConfigWindowSize(const char* window, const TQSize&);
00071 FileType fileType(const TQString& mimetype);
00073 int Version();
00074 inline int Version(int major, int minor, int rev) { return major*10000 + minor*100 + rev; }
00075 int getVersionNumber(const TQString& version, TQString* subVersion = 0);
00077 inline int currentCalendarVersion() { return KAEvent::calVersion(); }
00078 inline TQString currentCalendarVersionString() { return KAEvent::calVersionString(); }
00079 TQString browseFile(const TQString& caption, TQString& defaultDir, const TQString& initialFile = TQString(),
00080 const TQString& filter = TQString(), int mode = 0, TQWidget* parent = 0, const char* name = 0);
00081 bool edit(const TQString& eventID);
00082 bool editNew(const TQString& templateName = TQString());
00084 TDEAction* createNewAlarmAction(const TQString& label, TQObject* receiver, const char* slot, TDEActionCollection*, const char* name);
00086 TemplateMenuAction* createNewFromTemplateAction(const TQString& label, TQObject* receiver, const char* slot, TDEActionCollection*, const char* name);
00090 TQValueList<KAEvent> templateList();
00091 void outputAlarmWarnings(TQWidget* parent, const KAEvent* = 0);
00092 void resetDaemon();
00093 void resetDaemonIfQueued();
00094 TQString runKMail(bool minimise);
00095 bool runProgram(const TQCString& program, const TQCString& windowName, TQCString& dcopName, TQString& errorMessage);
00096
00097 UpdateStatus addEvent(KAEvent&, AlarmListView* selectionView, TQWidget* errmsgParent = 0, bool useEventID = false, bool allowKOrgUpdate = true);
00098 bool addExpiredEvent(KAEvent&);
00099 UpdateStatus addTemplate(KAEvent&, TemplateListView* selectionView, TQWidget* errmsgParent = 0);
00100 UpdateStatus modifyEvent(KAEvent& oldEvent, const KAEvent& newEvent, AlarmListView* selectionView, TQWidget* errmsgParent = 0);
00101 UpdateStatus updateEvent(KAEvent&, AlarmListView* selectionView, TQWidget* errmsgParent = 0, bool archiveOnDelete = true, bool incRevision = true);
00102 UpdateStatus updateTemplate(const KAEvent&, TemplateListView* selectionView, TQWidget* errmsgParent = 0);
00103 UpdateStatus deleteEvent(KAEvent&, bool archive = true, TQWidget* errmsgParent = 0);
00104 UpdateStatus deleteTemplate(const KAEvent&);
00105 void deleteDisplayEvent(const TQString& eventID);
00106 UpdateStatus reactivateEvent(KAEvent&, AlarmListView* selectionView, bool useEventID = false);
00107 UpdateStatus enableEvent(KAEvent&, AlarmListView* selectionView, bool enable);
00108 void displayUpdateError(TQWidget* parent, UpdateStatus, UpdateError, int nAlarms);
00109 void displayKOrgUpdateError(TQWidget* parent, KOrgUpdateError, int nAlarms);
00110
00111 TQString stripAccel(const TQString&);
00112
00113 int localeFirstDayOfWeek();
00114
00115
00116
00117
00118
00119 inline int weekDay_to_localeDayInWeek(int weekDay) { return (weekDay + 7 - localeFirstDayOfWeek()) % 7; }
00120
00121
00122
00123
00124
00125 inline int localeDayInWeek_to_weekDay(int index) { return (index + localeFirstDayOfWeek() - 1) % 7 + 1; }
00126
00127 }
00128
00129 #endif // FUNCTIONS_H