• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

kalarm

  • sources
  • kde-4.12
  • kdepim
  • kalarm
preferences.h
Go to the documentation of this file.
1 /*
2  * preferences.h - program preference settings
3  * Program: kalarm
4  * Copyright © 2001-2010 by David Jarvie <djarvie@kde.org>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  */
20 
21 #ifndef PREFERENCES_H
22 #define PREFERENCES_H
23 
24 #include "kalarm.h"
25 
26 #include "kalarmconfig.h"
27 
28 #include <QObject>
29 #include <QDateTime>
30 
31 class KTimeZone;
32 namespace KHolidays { class HolidayRegion; }
33 
34 
35 // Settings configured in the Preferences dialog
36 class Preferences : public PreferencesBase
37 {
38  Q_OBJECT
39  public:
40  enum MailFrom { MAIL_FROM_KMAIL, MAIL_FROM_SYS_SETTINGS, MAIL_FROM_ADDR };
41 
42  static Preferences* self();
43  static void connect(const char* signal, const QObject* receiver, const char* member);
44  static bool autoStartChangedByUser() { return mAutoStartChangedByUser; }
45  static void setAutoStartChangedByUser(bool c){ mAutoStartChangedByUser = c; }
46 
47  // Access to settings
48  static QString previousVersion() { return mPreviousVersion; }
49  static Backend previousBackend() { return mPreviousBackend; }
50  static void setAskAutoStart(bool yes);
51  static KTimeZone timeZone(bool reload = false);
52  static void setTimeZone(const KTimeZone&);
53  static const KHolidays::HolidayRegion& holidays();
54  static void setHolidayRegion(const QString& regionCode);
55  static QTime startOfDay() { return self()->mBase_StartOfDay.time(); }
56  static void setStartOfDay(const QTime&);
57  static QTime workDayStart() { return self()->mBase_WorkDayStart.time(); }
58  static QTime workDayEnd() { return self()->mBase_WorkDayEnd.time(); }
59  static QBitArray workDays();
60  static void setWorkDayStart(const QTime& t) { self()->setBase_WorkDayStart(QDateTime(QDate(1900,1,1), t)); }
61  static void setWorkDayEnd(const QTime& t) { self()->setBase_WorkDayEnd(QDateTime(QDate(1900,1,1), t)); }
62  static void setWorkDays(const QBitArray&);
63  static bool quitWarn() { return mUsingDefaults ? self()->base_QuitWarn() : notifying(QUIT_WARN); }
64  static void setQuitWarn(bool yes) { setNotify(QUIT_WARN, yes); }
65  static bool confirmAlarmDeletion() { return mUsingDefaults ? self()->base_ConfirmAlarmDeletion() : notifying(CONFIRM_ALARM_DELETION); }
66  static void setConfirmAlarmDeletion(bool yes){ setNotify(CONFIRM_ALARM_DELETION, yes); }
67  static bool emailCopyToKMail() { return self()->mBase_EmailCopyToKMail && self()->mEmailClient == sendmail; }
68  static void setEmailCopyToKMail(bool yes) { self()->setBase_EmailCopyToKMail(yes); }
69  static bool emailQueuedNotify() { return mUsingDefaults ? self()->base_EmailQueuedNotify() : notifying(EMAIL_QUEUED_NOTIFY); }
70  static void setEmailQueuedNotify(bool yes) { setNotify(EMAIL_QUEUED_NOTIFY, yes); }
71  static MailFrom emailFrom();
72  static QString emailAddress();
73  static void setEmailAddress(MailFrom, const QString& address);
74  static MailFrom emailBccFrom();
75  static QString emailBccAddress();
76  static void setEmailBccAddress(bool useSystemSettings, const QString& address);
77  static bool emailBccUseSystemSettings();
78  static QString cmdXTermCommand();
79  static void setCmdXTermCommand(const QString& cmd);
80  static float defaultSoundVolume() { int vol = self()->mBase_DefaultSoundVolume; return (vol < 0) ? -1 : static_cast<float>(vol) / 100; }
81  static void setDefaultSoundVolume(float v) { self()->setBase_DefaultSoundVolume(v < 0 ? -1 : static_cast<int>(v * 100)); }
82 
83  // Config file entry names for notification messages
84  static const QLatin1String QUIT_WARN;
85  static const QLatin1String ASK_AUTO_START;
86  static const QLatin1String CONFIRM_ALARM_DELETION;
87  static const QLatin1String EMAIL_QUEUED_NOTIFY;
88 
89  virtual bool useDefaults(bool def) { mUsingDefaults = def; return PreferencesBase::useDefaults(def); }
90 
91  signals:
92  void timeZoneChanged(const KTimeZone& newTz);
93  void holidaysChanged(const KHolidays::HolidayRegion& newHolidays);
94  void startOfDayChanged(const QTime& newStartOfDay);
95  void workTimeChanged(const QTime& startTime, const QTime& endTime, const QBitArray& workDays);
96 
97  private slots:
98  void timeZoneChange(const QString&);
99  void holidaysChange(const QString& regionCode);
100  void startDayChange(const QDateTime&);
101  void workTimeChange(const QDateTime&, const QDateTime&, int days);
102 
103  private:
104  Preferences(); // only one instance allowed
105  static int startOfDayCheck(const QTime&);
106  static void setNotify(const QString& messageID, bool notify);
107  static bool notifying(const QString& messageID);
108 
109  static Preferences* mInstance;
110  static bool mUsingDefaults;
111  static KTimeZone mSystemTimeZone;
112  static KHolidays::HolidayRegion* mHolidays;
113  static QString mPreviousVersion; // last KAlarm version which wrote the config file
114  static Backend mPreviousBackend; // backend used by last used version of KAlarm
115 
116  // All the following members are accessed by the Preferences dialog classes
117  static int mMessageButtonDelay; // 0 = scatter; -1 = no delay, no scatter; >0 = delay, no scatter
118 
119  // Change tracking
120  static bool mAutoStartChangedByUser; // AutoStart has been changed by the user
121 };
122 
123 #endif // PREFERENCES_H
124 
125 // vim: et sw=4:
Preferences::setEmailAddress
static void setEmailAddress(MailFrom, const QString &address)
Definition: preferences.cpp:237
Preferences::setCmdXTermCommand
static void setCmdXTermCommand(const QString &cmd)
Definition: preferences.cpp:286
Preferences::setStartOfDay
static void setStartOfDay(const QTime &)
Definition: preferences.cpp:172
Preferences::MailFrom
MailFrom
Definition: preferences.h:40
Preferences::setWorkDayStart
static void setWorkDayStart(const QTime &t)
Definition: preferences.h:60
Preferences::workTimeChanged
void workTimeChanged(const QTime &startTime, const QTime &endTime, const QBitArray &workDays)
PreferencesBase::mBase_WorkDayEnd
QDateTime mBase_WorkDayEnd
Definition: kalarmconfig.h:1695
Preferences::setAutoStartChangedByUser
static void setAutoStartChangedByUser(bool c)
Definition: preferences.h:45
Preferences::setConfirmAlarmDeletion
static void setConfirmAlarmDeletion(bool yes)
Definition: preferences.h:66
Preferences::setTimeZone
static void setTimeZone(const KTimeZone &)
Definition: preferences.cpp:139
PreferencesBase::Backend
Backend
Definition: kalarmconfig.h:20
Preferences::setEmailQueuedNotify
static void setEmailQueuedNotify(bool yes)
Definition: preferences.h:70
Preferences::setWorkDayEnd
static void setWorkDayEnd(const QTime &t)
Definition: preferences.h:61
Preferences::quitWarn
static bool quitWarn()
Definition: preferences.h:63
QObject
Preferences::MAIL_FROM_ADDR
Definition: preferences.h:40
Preferences::setAskAutoStart
static void setAskAutoStart(bool yes)
Definition: preferences.cpp:112
Preferences::setDefaultSoundVolume
static void setDefaultSoundVolume(float v)
Definition: preferences.h:81
Preferences::timeZoneChanged
void timeZoneChanged(const KTimeZone &newTz)
PreferencesBase::setBase_WorkDayStart
static void setBase_WorkDayStart(const QDateTime &v)
Set Start time of working day.
Definition: kalarmconfig.h:764
Preferences::MAIL_FROM_KMAIL
Definition: preferences.h:40
Preferences::startOfDay
static QTime startOfDay()
Definition: preferences.h:55
Preferences::cmdXTermCommand
static QString cmdXTermCommand()
Definition: preferences.cpp:281
Preferences::setHolidayRegion
static void setHolidayRegion(const QString &regionCode)
Definition: preferences.cpp:161
Preferences::useDefaults
virtual bool useDefaults(bool def)
Definition: preferences.h:89
PreferencesBase::setBase_WorkDayEnd
static void setBase_WorkDayEnd(const QDateTime &v)
Set End time of working day.
Definition: kalarmconfig.h:793
Preferences::emailBccFrom
static MailFrom emailBccFrom()
Definition: preferences.cpp:250
Preferences::timeZone
static KTimeZone timeZone(bool reload=false)
Definition: preferences.cpp:122
Preferences::autoStartChangedByUser
static bool autoStartChangedByUser()
Definition: preferences.h:44
Preferences::QUIT_WARN
static const QLatin1String QUIT_WARN
Definition: preferences.h:84
Preferences::ASK_AUTO_START
static const QLatin1String ASK_AUTO_START
Definition: preferences.h:85
Preferences::EMAIL_QUEUED_NOTIFY
static const QLatin1String EMAIL_QUEUED_NOTIFY
Definition: preferences.h:87
Preferences::emailCopyToKMail
static bool emailCopyToKMail()
Definition: preferences.h:67
Preferences::workDayEnd
static QTime workDayEnd()
Definition: preferences.h:58
PreferencesBase::setBase_DefaultSoundVolume
static void setBase_DefaultSoundVolume(int v)
Set Sound volume.
Definition: kalarmconfig.h:1164
Preferences::setQuitWarn
static void setQuitWarn(bool yes)
Definition: preferences.h:64
Preferences::connect
static void connect(const char *signal, const QObject *receiver, const char *member)
Definition: preferences.cpp:292
Preferences::holidays
static const KHolidays::HolidayRegion & holidays()
Definition: preferences.cpp:150
Preferences::workDays
static QBitArray workDays()
Definition: preferences.cpp:187
Preferences::CONFIRM_ALARM_DELETION
static const QLatin1String CONFIRM_ALARM_DELETION
Definition: preferences.h:86
Preferences::holidaysChanged
void holidaysChanged(const KHolidays::HolidayRegion &newHolidays)
Preferences::setWorkDays
static void setWorkDays(const QBitArray &)
Definition: preferences.cpp:196
Preferences::startOfDayChanged
void startOfDayChanged(const QTime &newStartOfDay)
Preferences::emailBccAddress
static QString emailBccAddress()
Definition: preferences.cpp:258
PreferencesBase::mBase_WorkDayStart
QDateTime mBase_WorkDayStart
Definition: kalarmconfig.h:1694
Preferences::previousBackend
static Backend previousBackend()
Definition: preferences.h:49
Preferences::setEmailCopyToKMail
static void setEmailCopyToKMail(bool yes)
Definition: preferences.h:68
Preferences::emailAddress
static QString emailAddress()
Definition: preferences.cpp:227
PreferencesBase::base_EmailQueuedNotify
static bool base_EmailQueuedNotify()
Get Notify when remote emails are queued.
Definition: kalarmconfig.h:1620
kalarmconfig.h
PreferencesBase::setBase_EmailCopyToKMail
static void setBase_EmailCopyToKMail(bool v)
Set Whether to copy sent emails into KMail's Sent folder.
Definition: kalarmconfig.h:627
kalarm.h
PreferencesBase::base_ConfirmAlarmDeletion
static bool base_ConfirmAlarmDeletion()
Get Confirm alarm deletions.
Definition: kalarmconfig.h:1593
PreferencesBase
Definition: kalarmconfig.h:16
Preferences::MAIL_FROM_SYS_SETTINGS
Definition: preferences.h:40
Preferences::setEmailBccAddress
static void setEmailBccAddress(bool useSystemSettings, const QString &address)
Definition: preferences.cpp:271
PreferencesBase::mBase_DefaultSoundVolume
int mBase_DefaultSoundVolume
Definition: kalarmconfig.h:1710
Preferences
Definition: preferences.h:36
Preferences::confirmAlarmDeletion
static bool confirmAlarmDeletion()
Definition: preferences.h:65
Preferences::defaultSoundVolume
static float defaultSoundVolume()
Definition: preferences.h:80
PreferencesBase::sendmail
Definition: kalarmconfig.h:21
PreferencesBase::mBase_EmailCopyToKMail
bool mBase_EmailCopyToKMail
Definition: kalarmconfig.h:1689
Preferences::emailBccUseSystemSettings
static bool emailBccUseSystemSettings()
Definition: preferences.cpp:266
PreferencesBase::base_QuitWarn
static bool base_QuitWarn()
Get Warn before quitting.
Definition: kalarmconfig.h:1566
Preferences::workDayStart
static QTime workDayStart()
Definition: preferences.h:57
Preferences::previousVersion
static QString previousVersion()
Definition: preferences.h:48
Preferences::emailQueuedNotify
static bool emailQueuedNotify()
Definition: preferences.h:69
Preferences::emailFrom
static MailFrom emailFrom()
Definition: preferences.cpp:214
PreferencesBase::mBase_StartOfDay
QDateTime mBase_StartOfDay
Definition: kalarmconfig.h:1693
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:59:10 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kalarm

Skip menu "kalarm"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal