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

kalarm

  • sources
  • kde-4.14
  • kdepim
  • kalarm
preferences.h
Go to the documentation of this file.
1 /*
2  * preferences.h - program preference settings
3  * Program: kalarm
4  * Copyright © 2001-2016 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 bool noAutoStart() { return self()->base_NoAutoStart(); }
52  static void setNoAutoStart(bool yes);
53  static KTimeZone timeZone(bool reload = false);
54  static void setTimeZone(const KTimeZone&);
55  static const KHolidays::HolidayRegion& holidays();
56  static void setHolidayRegion(const QString& regionCode);
57  static QTime startOfDay() { return self()->mBase_StartOfDay.time(); }
58  static void setStartOfDay(const QTime&);
59  static QTime workDayStart() { return self()->mBase_WorkDayStart.time(); }
60  static QTime workDayEnd() { return self()->mBase_WorkDayEnd.time(); }
61  static QBitArray workDays();
62  static void setWorkDayStart(const QTime& t) { self()->setBase_WorkDayStart(QDateTime(QDate(1900,1,1), t)); }
63  static void setWorkDayEnd(const QTime& t) { self()->setBase_WorkDayEnd(QDateTime(QDate(1900,1,1), t)); }
64  static void setWorkDays(const QBitArray&);
65  static bool quitWarn() { return mUsingDefaults ? self()->base_QuitWarn() : notifying(QUIT_WARN); }
66  static void setQuitWarn(bool yes) { setNotify(QUIT_WARN, yes); }
67  static bool confirmAlarmDeletion() { return mUsingDefaults ? self()->base_ConfirmAlarmDeletion() : notifying(CONFIRM_ALARM_DELETION); }
68  static void setConfirmAlarmDeletion(bool yes){ setNotify(CONFIRM_ALARM_DELETION, yes); }
69  static bool emailCopyToKMail() { return self()->mBase_EmailCopyToKMail && self()->mEmailClient == sendmail; }
70  static void setEmailCopyToKMail(bool yes) { self()->setBase_EmailCopyToKMail(yes); }
71  static bool emailQueuedNotify() { return mUsingDefaults ? self()->base_EmailQueuedNotify() : notifying(EMAIL_QUEUED_NOTIFY); }
72  static void setEmailQueuedNotify(bool yes) { setNotify(EMAIL_QUEUED_NOTIFY, yes); }
73  static MailFrom emailFrom();
74  static QString emailAddress();
75  static void setEmailAddress(MailFrom, const QString& address);
76  static MailFrom emailBccFrom();
77  static QString emailBccAddress();
78  static void setEmailBccAddress(bool useSystemSettings, const QString& address);
79  static bool emailBccUseSystemSettings();
80  static QString cmdXTermCommand();
81  static void setCmdXTermCommand(const QString& cmd);
82  static float defaultSoundVolume() { int vol = self()->mBase_DefaultSoundVolume; return (vol < 0) ? -1 : static_cast<float>(vol) / 100; }
83  static void setDefaultSoundVolume(float v) { self()->setBase_DefaultSoundVolume(v < 0 ? -1 : static_cast<int>(v * 100)); }
84 
85  // Config file entry names for notification messages
86  static const QLatin1String QUIT_WARN;
87  static const QLatin1String ASK_AUTO_START;
88  static const QLatin1String CONFIRM_ALARM_DELETION;
89  static const QLatin1String EMAIL_QUEUED_NOTIFY;
90 
91  virtual bool useDefaults(bool def) { mUsingDefaults = def; return PreferencesBase::useDefaults(def); }
92 
93  signals:
94  void timeZoneChanged(const KTimeZone& newTz);
95  void holidaysChanged(const KHolidays::HolidayRegion& newHolidays);
96  void startOfDayChanged(const QTime& newStartOfDay);
97  void workTimeChanged(const QTime& startTime, const QTime& endTime, const QBitArray& workDays);
98 
99  private slots:
100  void timeZoneChange(const QString&);
101  void holidaysChange(const QString& regionCode);
102  void startDayChange(const QDateTime&);
103  void workTimeChange(const QDateTime&, const QDateTime&, int days);
104 
105  private:
106  Preferences(); // only one instance allowed
107  static int startOfDayCheck(const QTime&);
108  static void setNotify(const QString& messageID, bool notify);
109  static bool notifying(const QString& messageID);
110 
111  static Preferences* mInstance;
112  static bool mUsingDefaults;
113  static KTimeZone mSystemTimeZone;
114  static KHolidays::HolidayRegion* mHolidays;
115  static QString mPreviousVersion; // last KAlarm version which wrote the config file
116  static Backend mPreviousBackend; // backend used by last used version of KAlarm
117 
118  // All the following members are accessed by the Preferences dialog classes
119  static int mMessageButtonDelay; // 0 = scatter; -1 = no delay, no scatter; >0 = delay, no scatter
120 
121  // Change tracking
122  static bool mAutoStartChangedByUser; // AutoStart has been changed by the user
123 };
124 
125 #endif // PREFERENCES_H
126 
127 // vim: et sw=4:
Preferences::setEmailAddress
static void setEmailAddress(MailFrom, const QString &address)
Definition: preferences.cpp:314
Preferences::setCmdXTermCommand
static void setCmdXTermCommand(const QString &cmd)
Definition: preferences.cpp:363
Preferences::setStartOfDay
static void setStartOfDay(const QTime &)
Definition: preferences.cpp:249
Preferences::MailFrom
MailFrom
Definition: preferences.h:40
Preferences::setWorkDayStart
static void setWorkDayStart(const QTime &t)
Definition: preferences.h:62
Preferences::workTimeChanged
void workTimeChanged(const QTime &startTime, const QTime &endTime, const QBitArray &workDays)
Preferences::setAutoStartChangedByUser
static void setAutoStartChangedByUser(bool c)
Definition: preferences.h:45
Preferences::setNoAutoStart
static void setNoAutoStart(bool yes)
Definition: preferences.cpp:126
Preferences::setConfirmAlarmDeletion
static void setConfirmAlarmDeletion(bool yes)
Definition: preferences.h:68
Preferences::setTimeZone
static void setTimeZone(const KTimeZone &)
Definition: preferences.cpp:216
Preferences::setEmailQueuedNotify
static void setEmailQueuedNotify(bool yes)
Definition: preferences.h:72
Preferences::setWorkDayEnd
static void setWorkDayEnd(const QTime &t)
Definition: preferences.h:63
Preferences::quitWarn
static bool quitWarn()
Definition: preferences.h:65
Preferences::MAIL_FROM_ADDR
Definition: preferences.h:40
QTime
Preferences::setAskAutoStart
static void setAskAutoStart(bool yes)
Definition: preferences.cpp:112
Preferences::setDefaultSoundVolume
static void setDefaultSoundVolume(float v)
Definition: preferences.h:83
Preferences::timeZoneChanged
void timeZoneChanged(const KTimeZone &newTz)
Preferences::MAIL_FROM_KMAIL
Definition: preferences.h:40
Preferences::startOfDay
static QTime startOfDay()
Definition: preferences.h:57
Preferences::cmdXTermCommand
static QString cmdXTermCommand()
Definition: preferences.cpp:358
Preferences::setHolidayRegion
static void setHolidayRegion(const QString &regionCode)
Definition: preferences.cpp:238
Preferences::useDefaults
virtual bool useDefaults(bool def)
Definition: preferences.h:91
Preferences::emailBccFrom
static MailFrom emailBccFrom()
Definition: preferences.cpp:327
Preferences::timeZone
static KTimeZone timeZone(bool reload=false)
Definition: preferences.cpp:199
QObject
Preferences::autoStartChangedByUser
static bool autoStartChangedByUser()
Definition: preferences.h:44
Preferences::QUIT_WARN
static const QLatin1String QUIT_WARN
Definition: preferences.h:86
Preferences::ASK_AUTO_START
static const QLatin1String ASK_AUTO_START
Definition: preferences.h:87
QDate
QString
QBitArray
Preferences::EMAIL_QUEUED_NOTIFY
static const QLatin1String EMAIL_QUEUED_NOTIFY
Definition: preferences.h:89
Preferences::emailCopyToKMail
static bool emailCopyToKMail()
Definition: preferences.h:69
Preferences::workDayEnd
static QTime workDayEnd()
Definition: preferences.h:60
Preferences::setQuitWarn
static void setQuitWarn(bool yes)
Definition: preferences.h:66
Preferences::connect
static void connect(const char *signal, const QObject *receiver, const char *member)
Definition: preferences.cpp:369
Preferences::holidays
static const KHolidays::HolidayRegion & holidays()
Definition: preferences.cpp:227
Preferences::workDays
static QBitArray workDays()
Definition: preferences.cpp:264
Preferences::noAutoStart
static bool noAutoStart()
Definition: preferences.h:51
Preferences::CONFIRM_ALARM_DELETION
static const QLatin1String CONFIRM_ALARM_DELETION
Definition: preferences.h:88
Preferences::holidaysChanged
void holidaysChanged(const KHolidays::HolidayRegion &newHolidays)
Preferences::setWorkDays
static void setWorkDays(const QBitArray &)
Definition: preferences.cpp:273
Preferences::startOfDayChanged
void startOfDayChanged(const QTime &newStartOfDay)
Preferences::emailBccAddress
static QString emailBccAddress()
Definition: preferences.cpp:335
Preferences::previousBackend
static Backend previousBackend()
Definition: preferences.h:49
QLatin1String
Preferences::setEmailCopyToKMail
static void setEmailCopyToKMail(bool yes)
Definition: preferences.h:70
Preferences::emailAddress
static QString emailAddress()
Definition: preferences.cpp:304
kalarm.h
PreferencesBase
Preferences::MAIL_FROM_SYS_SETTINGS
Definition: preferences.h:40
Preferences::setEmailBccAddress
static void setEmailBccAddress(bool useSystemSettings, const QString &address)
Definition: preferences.cpp:348
Preferences
Definition: preferences.h:36
Preferences::confirmAlarmDeletion
static bool confirmAlarmDeletion()
Definition: preferences.h:67
Preferences::defaultSoundVolume
static float defaultSoundVolume()
Definition: preferences.h:82
Preferences::emailBccUseSystemSettings
static bool emailBccUseSystemSettings()
Definition: preferences.cpp:343
Preferences::workDayStart
static QTime workDayStart()
Definition: preferences.h:59
QDateTime
Preferences::previousVersion
static QString previousVersion()
Definition: preferences.h:48
Preferences::emailQueuedNotify
static bool emailQueuedNotify()
Definition: preferences.h:71
Preferences::emailFrom
static MailFrom emailFrom()
Definition: preferences.cpp:291
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:34:51 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
  • pimprint

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