Branch 'kolab/integration/4.13.0' - akonadi/calendar
Christian Mollekopf
mollekopf at kolabsys.com
Tue Dec 9 16:10:33 CET 2014
akonadi/calendar/blockalarmsattribute.cpp | 14 ++++++++++++++
akonadi/calendar/blockalarmsattribute.h | 17 +++++++++++++++++
akonadi/calendar/etmcalendar.cpp | 3 +--
3 files changed, 32 insertions(+), 2 deletions(-)
New commits:
commit 1023bacc08cad5dde4f55fde91d7bd9f8fddc130
Author: Sandro Knauà <knauss at kolabsys.com>
Date: Wed Dec 3 18:38:33 2014 +0100
BlockAlarmAttribute: All methods to set/read all types
BlockAlarmAttribute is used mostly as a everything enabled/disabled. So
make the interface easier to use it this way.
KOLAB: #3731
diff --git a/akonadi/calendar/blockalarmsattribute.cpp b/akonadi/calendar/blockalarmsattribute.cpp
index 61f959d..fc6d371 100644
--- a/akonadi/calendar/blockalarmsattribute.cpp
+++ b/akonadi/calendar/blockalarmsattribute.cpp
@@ -74,6 +74,14 @@ void BlockAlarmsAttribute::blockAlarmType(KCalCore::Alarm::Type type, bool block
}
}
+void BlockAlarmsAttribute::blockEverything(bool block)
+{
+ blockAlarmType(KCalCore::Alarm::Audio, block);
+ blockAlarmType(KCalCore::Alarm::Display, block);
+ blockAlarmType(KCalCore::Alarm::Email, block);
+ blockAlarmType(KCalCore::Alarm::Procedure, block);
+}
+
bool BlockAlarmsAttribute::isAlarmTypeBlocked(KCalCore::Alarm::Type type) const
{
switch (type) {
@@ -90,6 +98,12 @@ bool BlockAlarmsAttribute::isAlarmTypeBlocked(KCalCore::Alarm::Type type) const
}
}
+bool BlockAlarmsAttribute::isEverythingBlocked() const
+{
+ return isAlarmTypeBlocked(KCalCore::Alarm::Audio) && isAlarmTypeBlocked(KCalCore::Alarm::Display)
+ && isAlarmTypeBlocked(KCalCore::Alarm::Email) && isAlarmTypeBlocked(KCalCore::Alarm::Procedure);
+}
+
QByteArray BlockAlarmsAttribute::type() const
{
return "BlockAlarmsAttribute";
diff --git a/akonadi/calendar/blockalarmsattribute.h b/akonadi/calendar/blockalarmsattribute.h
index 7b04c48..9a2a201 100644
--- a/akonadi/calendar/blockalarmsattribute.h
+++ b/akonadi/calendar/blockalarmsattribute.h
@@ -61,6 +61,15 @@ public:
void blockAlarmType(KCalCore::Alarm::Type type, bool block = true);
/**
+ * Blocks or unblocks every alarm type.
+ *
+ * By default, all alarm types are blocked.
+ *
+ * @since 5.0
+ */
+ void blockEverything(bool block = true);
+
+ /**
* Returns whether given alarm type is blocked or not.
*
* @since 4.11
@@ -68,6 +77,14 @@ public:
bool isAlarmTypeBlocked(KCalCore::Alarm::Type type) const;
/**
+ * Returns whether all alarms are blocked or not.
+ *
+ * @since 5.0
+ */
+
+ bool isEverythingBlocked() const;
+
+ /**
* Reimplemented from Attribute
*/
QByteArray type() const;
diff --git a/akonadi/calendar/etmcalendar.cpp b/akonadi/calendar/etmcalendar.cpp
index 49a2e45..dbbebb6 100644
--- a/akonadi/calendar/etmcalendar.cpp
+++ b/akonadi/calendar/etmcalendar.cpp
@@ -571,8 +571,7 @@ KCalCore::Alarm::List ETMCalendar::alarms(const KDateTime &from,
Akonadi::Collection parentCollection = d->mCollectionMap.value(item.storageCollectionId());
if (parentCollection.isValid() && parentCollection.hasAttribute<BlockAlarmsAttribute>()) {
blockedAttr = parentCollection.attribute<BlockAlarmsAttribute>();
- if (blockedAttr->isAlarmTypeBlocked(Alarm::Audio) && blockedAttr->isAlarmTypeBlocked(Alarm::Display)
- && blockedAttr->isAlarmTypeBlocked(Alarm::Email) && blockedAttr->isAlarmTypeBlocked(Alarm::Procedure))
+ if (blockedAttr->isEverythingBlocked())
{
continue;
}
More information about the commits
mailing list