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