kalarm
preferences.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef PREFERENCES_H
00022 #define PREFERENCES_H
00023
00024 #include "kalarm.h"
00025
00026 #include <tqobject.h>
00027 #include <tqcolor.h>
00028 #include <tqfont.h>
00029 #include <tqdatetime.h>
00030 #include <tqvaluelist.h>
00031 class TQWidget;
00032
00033 #include "colourlist.h"
00034 #include "editdlg.h"
00035 #include "karecurrence.h"
00036 #include "recurrenceedit.h"
00037 #include "soundpicker.h"
00038 #include "timeperiod.h"
00039
00040
00041
00042 class Preferences : public TQObject
00043 {
00044 Q_OBJECT
00045 TQ_OBJECT
00046 public:
00047 enum MailClient { SENDMAIL, KMAIL };
00048 enum MailFrom { MAIL_FROM_KMAIL, MAIL_FROM_CONTROL_CENTRE, MAIL_FROM_ADDR };
00049 enum CmdLogType { DISCARD_OUTPUT, LOG_TO_FILE, EXEC_IN_TERMINAL };
00050
00051 static void initialise();
00052 static void save(bool syncToDisc = true);
00053 static void syncToDisc();
00054 static void updateStartOfDayCheck();
00055 static void connect(const char* signal, const TQObject* receiver, const char* member);
00056
00057
00058 static const ColourList& messageColours() { return mMessageColours; }
00059 static TQColor defaultBgColour() { return mDefaultBgColour; }
00060 static TQColor defaultFgColour() { return default_defaultFgColour; }
00061 static const TQFont& messageFont() { return mMessageFont; }
00062 static const TQTime& startOfDay() { return mStartOfDay; }
00063 static bool hasStartOfDayChanged() { return mStartOfDayChanged; }
00064 static bool runInSystemTray() { return mRunInSystemTray; }
00065 static bool disableAlarmsIfStopped() { return mDisableAlarmsIfStopped; }
00066 static bool quitWarn() { return notifying(QUIT_WARN); }
00067 static void setQuitWarn(bool yes) { setNotify(QUIT_WARN, yes); }
00068 static bool autostartTrayIcon() { return mAutostartTrayIcon; }
00069 static bool confirmAlarmDeletion() { return notifying(CONFIRM_ALARM_DELETION); }
00070 static void setConfirmAlarmDeletion(bool yes){ setNotify(CONFIRM_ALARM_DELETION, yes); }
00071 static bool modalMessages() { return mModalMessages; }
00072 static int messageButtonDelay() { return mMessageButtonDelay; }
00073 static int tooltipAlarmCount() { return mTooltipAlarmCount; }
00074 static bool showTooltipAlarmTime() { return mShowTooltipAlarmTime; }
00075 static bool showTooltipTimeToAlarm() { return mShowTooltipTimeToAlarm; }
00076 static const TQString& tooltipTimeToPrefix() { return mTooltipTimeToPrefix; }
00077 static int daemonTrayCheckInterval() { return mDaemonTrayCheckInterval; }
00078 static MailClient emailClient() { return mEmailClient; }
00079 static bool emailCopyToKMail() { return mEmailCopyToKMail && mEmailClient == SENDMAIL; }
00080 static bool emailQueuedNotify() { return notifying(EMAIL_QUEUED_NOTIFY); }
00081 static void setEmailQueuedNotify(bool yes) { setNotify(EMAIL_QUEUED_NOTIFY, yes); }
00082 static MailFrom emailFrom() { return mEmailFrom; }
00083 static bool emailBccUseControlCentre() { return mEmailBccFrom == MAIL_FROM_CONTROL_CENTRE; }
00084 static TQString emailAddress();
00085 static TQString emailBccAddress();
00086 static TQString cmdXTermCommand() { return mCmdXTermCommand; }
00087 static TQColor disabledColour() { return mDisabledColour; }
00088 static TQColor expiredColour() { return mExpiredColour; }
00089 static int expiredKeepDays() { return mExpiredKeepDays; }
00090 static SoundPicker::Type defaultSoundType() { return mDefaultSoundType; }
00091 static const TQString& defaultSoundFile() { return mDefaultSoundFile; }
00092 static float defaultSoundVolume() { return mDefaultSoundVolume; }
00093 static bool defaultSoundRepeat() { return mDefaultSoundRepeat; }
00094 static int defaultLateCancel() { return mDefaultLateCancel; }
00095 static bool defaultAutoClose() { return mDefaultAutoClose; }
00096 static bool defaultConfirmAck() { return mDefaultConfirmAck; }
00097 static bool defaultCopyToKOrganizer() { return mDefaultCopyToKOrganizer; }
00098 static bool defaultCmdScript() { return mDefaultCmdScript; }
00099 static EditAlarmDlg::CmdLogType
00100 defaultCmdLogType() { return mDefaultCmdLogType; }
00101 static TQString defaultCmdLogFile() { return mDefaultCmdLogFile; }
00102 static bool defaultEmailBcc() { return mDefaultEmailBcc; }
00103 static RecurrenceEdit::RepeatType
00104 defaultRecurPeriod() { return mDefaultRecurPeriod; }
00105 static KARecurrence::Feb29Type
00106 defaultFeb29Type() { return mDefaultFeb29Type; }
00107 static TimePeriod::Units defaultReminderUnits() { return mDefaultReminderUnits; }
00108 static const TQString& defaultPreAction() { return mDefaultPreAction; }
00109 static const TQString& defaultPostAction() { return mDefaultPostAction; }
00110
00111
00112 static const TQString QUIT_WARN;
00113 static const TQString CONFIRM_ALARM_DELETION;
00114 static const TQString EMAIL_QUEUED_NOTIFY;
00115
00116
00117 static const ColourList default_messageColours;
00118 static const TQColor default_defaultBgColour;
00119 static const TQColor default_defaultFgColour;
00120 static const TQFont& default_messageFont() { return mDefault_messageFont; };
00121 static const TQTime default_startOfDay;
00122 static const bool default_runInSystemTray;
00123 static const bool default_disableAlarmsIfStopped;
00124 static const bool default_quitWarn;
00125 static const bool default_autostartTrayIcon;
00126 static const bool default_confirmAlarmDeletion;
00127 static const bool default_modalMessages;
00128 static const int default_messageButtonDelay;
00129 static const int default_tooltipAlarmCount;
00130 static const bool default_showTooltipAlarmTime;
00131 static const bool default_showTooltipTimeToAlarm;
00132 static const TQString default_tooltipTimeToPrefix;
00133 static const int default_daemonTrayCheckInterval;
00134 static const MailClient default_emailClient;
00135 static const bool default_emailCopyToKMail;
00136 static MailFrom default_emailFrom();
00137 static const bool default_emailQueuedNotify;
00138 static const MailFrom default_emailBccFrom;
00139 static const TQString default_emailAddress;
00140 static const TQString default_emailBccAddress;
00141 static const TQColor default_disabledColour;
00142 static const TQColor default_expiredColour;
00143 static const int default_expiredKeepDays;
00144 static const TQString default_defaultSoundFile;
00145 static const float default_defaultSoundVolume;
00146 static const int default_defaultLateCancel;
00147 static const bool default_defaultAutoClose;
00148 static const bool default_defaultCopyToKOrganizer;
00149 static const SoundPicker::Type default_defaultSoundType;
00150 static const bool default_defaultSoundRepeat;
00151 static const bool default_defaultConfirmAck;
00152 static const bool default_defaultCmdScript;
00153 static const EditAlarmDlg::CmdLogType default_defaultCmdLogType;
00154 static const bool default_defaultEmailBcc;
00155 static const RecurrenceEdit::RepeatType default_defaultRecurPeriod;
00156 static const KARecurrence::Feb29Type default_defaultFeb29Type;
00157 static const TimePeriod::Units default_defaultReminderUnits;
00158 static const TQString default_defaultPreAction;
00159 static const TQString default_defaultPostAction;
00160
00161 signals:
00162 void preferencesChanged();
00163 void startOfDayChanged(const TQTime& oldStartOfDay);
00164
00165 private:
00166 Preferences() { }
00167 void emitPreferencesChanged();
00168 void emitStartOfDayChanged();
00169
00170 static void read();
00171 static void convertOldPrefs();
00172 static int startOfDayCheck();
00173 static TQString emailFrom(MailFrom, bool useAddress, bool bcc);
00174 static MailFrom emailFrom(const TQString&);
00175 static void setNotify(const TQString& messageID, bool notify);
00176 static bool notifying(const TQString& messageID);
00177
00178 static Preferences* mInstance;
00179 static TQFont mDefault_messageFont;
00180 static TQString mEmailAddress;
00181 static TQString mEmailBccAddress;
00182
00183
00184 friend class MiscPrefTab;
00185 friend class EditPrefTab;
00186 friend class ViewPrefTab;
00187 friend class FontColourPrefTab;
00188 friend class EmailPrefTab;
00189 static void setEmailAddress(MailFrom, const TQString& address);
00190 static void setEmailBccAddress(bool useControlCentre, const TQString& address);
00191 static ColourList mMessageColours;
00192 static TQColor mDefaultBgColour;
00193 static TQFont mMessageFont;
00194 static TQTime mStartOfDay;
00195 static bool mRunInSystemTray;
00196 static bool mDisableAlarmsIfStopped;
00197 static bool mAutostartTrayIcon;
00198 static bool mModalMessages;
00199 static int mMessageButtonDelay;
00200 static int mTooltipAlarmCount;
00201 static bool mShowTooltipAlarmTime;
00202 static bool mShowTooltipTimeToAlarm;
00203 static TQString mTooltipTimeToPrefix;
00204 static int mDaemonTrayCheckInterval;
00205 static MailClient mEmailClient;
00206 static MailFrom mEmailFrom;
00207 static MailFrom mEmailBccFrom;
00208 static bool mEmailCopyToKMail;
00209 static TQString mCmdXTermCommand;
00210 static TQColor mDisabledColour;
00211 static TQColor mExpiredColour;
00212 static int mExpiredKeepDays;
00213
00214 static TQString mDefaultSoundFile;
00215 static float mDefaultSoundVolume;
00216 static int mDefaultLateCancel;
00217 static bool mDefaultAutoClose;
00218 static bool mDefaultCopyToKOrganizer;
00219 static SoundPicker::Type mDefaultSoundType;
00220 static bool mDefaultSoundRepeat;
00221 static bool mDefaultConfirmAck;
00222 static bool mDefaultEmailBcc;
00223 static bool mDefaultCmdScript;
00224 static EditAlarmDlg::CmdLogType mDefaultCmdLogType;
00225 static TQString mDefaultCmdLogFile;
00226 static RecurrenceEdit::RepeatType mDefaultRecurPeriod;
00227 static KARecurrence::Feb29Type mDefaultFeb29Type;
00228 static TimePeriod::Units mDefaultReminderUnits;
00229 static TQString mDefaultPreAction;
00230 static TQString mDefaultPostAction;
00231
00232 static TQTime mOldStartOfDay;
00233 static bool mStartOfDayChanged;
00234 };
00235
00236 #endif // PREFERENCES_H
|