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 <qsize.h>
00027 #include <qstring.h>
00028
00029 #include "alarmevent.h"
00030
00031 class QObject;
00032 class QWidget;
00033 class QString;
00034 class KAction;
00035 class KActionCollection;
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 QString& eventID = QString::null);
00066 bool readConfigWindowSize(const char* window, QSize&);
00067 void writeConfigWindowSize(const char* window, const QSize&);
00071 FileType fileType(const QString& mimetype);
00073 int Version();
00074 inline int Version(int major, int minor, int rev) { return major*10000 + minor*100 + rev; }
00075 int getVersionNumber(const QString& version, QString* subVersion = 0);
00077 inline int currentCalendarVersion() { return KAEvent::calVersion(); }
00078 inline QString currentCalendarVersionString() { return KAEvent::calVersionString(); }
00079 QString browseFile(const QString& caption, QString& defaultDir, const QString& initialFile = QString::null,
00080 const QString& filter = QString::null, int mode = 0, QWidget* parent = 0, const char* name = 0);
00081 bool edit(const QString& eventID);
00082 bool editNew(const QString& templateName = QString::null);
00084 KAction* createNewAlarmAction(const QString& label, QObject* receiver, const char* slot, KActionCollection*, const char* name);
00086 TemplateMenuAction* createNewFromTemplateAction(const QString& label, QObject* receiver, const char* slot, KActionCollection*, const char* name);
00090 QValueList<KAEvent> templateList();
00091 void outputAlarmWarnings(QWidget* parent, const KAEvent* = 0);
00092 void resetDaemon();
00093 void resetDaemonIfQueued();
00094 QString runKMail(bool minimise);
00095 bool runProgram(const QCString& program, const QCString& windowName, QCString& dcopName, QString& errorMessage);
00096
00097 UpdateStatus addEvent(KAEvent&, AlarmListView* selectionView, QWidget* errmsgParent = 0, bool useEventID = false, bool allowKOrgUpdate = true);
00098 bool addExpiredEvent(KAEvent&);
00099 UpdateStatus addTemplate(KAEvent&, TemplateListView* selectionView, QWidget* errmsgParent = 0);
00100 UpdateStatus modifyEvent(KAEvent& oldEvent, const KAEvent& newEvent, AlarmListView* selectionView, QWidget* errmsgParent = 0);
00101 UpdateStatus updateEvent(KAEvent&, AlarmListView* selectionView, QWidget* errmsgParent = 0, bool archiveOnDelete = true, bool incRevision = true);
00102 UpdateStatus updateTemplate(const KAEvent&, TemplateListView* selectionView, QWidget* errmsgParent = 0);
00103 UpdateStatus deleteEvent(KAEvent&, bool archive = true, QWidget* errmsgParent = 0);
00104 UpdateStatus deleteTemplate(const KAEvent&);
00105 void deleteDisplayEvent(const QString& eventID);
00106 UpdateStatus reactivateEvent(KAEvent&, AlarmListView* selectionView, bool useEventID = false);
00107 UpdateStatus enableEvent(KAEvent&, AlarmListView* selectionView, bool enable);
00108 void displayUpdateError(QWidget* parent, UpdateStatus, UpdateError, int nAlarms);
00109 void displayKOrgUpdateError(QWidget* parent, KOrgUpdateError, int nAlarms);
00110
00111 QString stripAccel(const QString&);
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