diff -u8pdNr 1.3/chrome/content/ccd-prefs.js 1.4/chrome/content/ccd-prefs.js
--- 1.3/chrome/content/ccd-prefs.js	2014-04-18 11:30:32 +0000
+++ 1.4/chrome/content/ccd-prefs.js	2014-07-28 16:14:49 +0000
@@ -104,21 +104,21 @@ function resetCalendarDefaults() {
     void gPrefBranch.clearUserPref("extensions.customcalendardefaults.event.privacy.state");
   }
   if (gPrefBranch.prefHasUserValue("extensions.customcalendardefaults.event.priority")) {
     void gPrefBranch.clearUserPref("extensions.customcalendardefaults.event.priority");
   }
   if (gPrefBranch.prefHasUserValue("extensions.customcalendardefaults.event.showTimeAs")) {
     void gPrefBranch.clearUserPref("extensions.customcalendardefaults.event.showTimeAs");
   }
-  if (gPrefBranch.prefHasUserValue("extensions.customcalendardefaults.event.showTimeAs.state")) {
-    void gPrefBranch.clearUserPref("extensions.customcalendardefaults.event.showTimeAs.state");
+  if (gPrefBranch.prefHasUserValue("calendar.events.defaultTransparency.standard.transparent")) {
+    void gPrefBranch.clearUserPref("calendar.events.defaultTransparency.standard.transparent");
   }
-  if (gPrefBranch.prefHasUserValue("calendar.allday.defaultTransparency")) {
-    void gPrefBranch.clearUserPref("calendar.allday.defaultTransparency");
+  if (gPrefBranch.prefHasUserValue("calendar.events.defaultTransparency.allday.transparent")) {
+    void gPrefBranch.clearUserPref("calendar.events.defaultTransparency.allday.transparent");
   }
   if (gPrefBranch.prefHasUserValue("extensions.customcalendardefaults.task.status")) {
     void gPrefBranch.clearUserPref("extensions.customcalendardefaults.task.status");
   }
   if (gPrefBranch.prefHasUserValue("extensions.customcalendardefaults.task.privacy")) {
     void gPrefBranch.clearUserPref("extensions.customcalendardefaults.task.privacy");
   }
   if (gPrefBranch.prefHasUserValue("extensions.customcalendardefaults.task.privacy.state")) {
@@ -205,28 +205,16 @@ function onLoadCcdPrefsPane() {
     for (var i = 0; i < hideableItems.length; ++i) {
       var item = hideableItems[i];
 	  if (!item.hasAttribute("disabled", true)) {
   	    item.setAttribute("disabled", true);
 	  }
     }
   }
   
-  var ccdEventShowTimeAs = document.getElementById("ccdEventShowTimeAs");
-  var defaultEventShowTimeAs = gPrefBranch.getCharPref("extensions.customcalendardefaults.event.showTimeAs.state");
-  var eventShowTimeAsFree = bundle.GetStringFromName( "eventShowTimeAsFree.label" );
-  var eventShowTimeAsBusy = bundle.GetStringFromName( "eventShowTimeAsBusy.label" );
-  if (defaultEventShowTimeAs == "TRANSPARENT") {
-    ccdEventShowTimeAs.setAttribute("label", eventShowTimeAsFree);
-  } else if (defaultEventShowTimeAs == "OPAQUE") {
-    ccdEventShowTimeAs.setAttribute("label", eventShowTimeAsBusy);
-  } else {
-    ccdEventShowTimeAs.setAttribute("label", "");
-  }
-  
   var ccdTaskPriority = document.getElementById("ccdTaskPriority");
   var defaultTaskPriority = gPrefBranch.getCharPref("extensions.customcalendardefaults.task.priority");
   var taskPriorityNone = bundle.GetStringFromName( "taskPriorityNone.label" );
   var taskPriorityLow = bundle.GetStringFromName( "taskPriorityLow.label" );
   var taskPriorityHigh = bundle.GetStringFromName( "taskPriorityHigh.label" );
   var taskPriorityNormal = bundle.GetStringFromName( "taskPriorityNormal.label" );
   if (defaultTaskPriority == "0") {
     ccdTaskPriority.setAttribute("label", taskPriorityNone);
diff -u8pdNr 1.3/chrome/content/ccd-prefs.xul 1.4/chrome/content/ccd-prefs.xul
--- 1.3/chrome/content/ccd-prefs.xul	2014-04-18 11:17:22 +0000
+++ 1.4/chrome/content/ccd-prefs.xul	2014-07-28 16:11:42 +0000
@@ -22,22 +22,20 @@
     <preference id="extensions.customcalendardefaults.event.status"
                 name="extensions.customcalendardefaults.event.status" type="string"/>
     <preference id="extensions.customcalendardefaults.event.privacy"
                 name="extensions.customcalendardefaults.event.privacy" type="bool"/>
     <preference id="extensions.customcalendardefaults.event.privacy.state"
                 name="extensions.customcalendardefaults.event.privacy.state" type="string"/>
     <preference id="extensions.customcalendardefaults.event.priority"
                 name="extensions.customcalendardefaults.event.priority" type="string"/>
-    <preference id="extensions.customcalendardefaults.event.showTimeAs"
-                name="extensions.customcalendardefaults.event.showTimeAs" type="bool"/>
-    <preference id="extensions.customcalendardefaults.event.showTimeAs.state"
-                name="extensions.customcalendardefaults.event.showTimeAs.state" type="string"/>
-    <preference id="calendar.allday.defaultTransparency"
-                name="calendar.allday.defaultTransparency" type="string"/>
+    <preference id="calendar.events.defaultTransparency.standard.transparent"
+                name="calendar.events.defaultTransparency.standard.transparent" type="bool"/>
+    <preference id="calendar.events.defaultTransparency.allday.transparent"
+                name="calendar.events.defaultTransparency.allday.transparent" type="bool"/>
     <preference id="extensions.customcalendardefaults.task.status"
                 name="extensions.customcalendardefaults.task.status" type="string"/>
     <preference id="extensions.customcalendardefaults.task.privacy"
                 name="extensions.customcalendardefaults.task.privacy" type="bool"/>
     <preference id="extensions.customcalendardefaults.task.privacy.state"
                 name="extensions.customcalendardefaults.task.privacy.state" type="string"/>
     <preference id="extensions.customcalendardefaults.task.priority"
                 name="extensions.customcalendardefaults.task.priority" type="string"/>
@@ -102,46 +100,39 @@
                     hideable="true">
             <menupopup id="ccdEventPrivacyPopup" hideable="true">
               <menuitem label="&customcalendardefaults.preferences.ccdEventPrivacyPublic;" value="PUBLIC"/>
               <menuitem label="&customcalendardefaults.preferences.ccdEventPrivacyConfidential;" value="CONFIDENTIAL"/>
               <menuitem label="&customcalendardefaults.preferences.ccdEventPrivacyPrivate;" value="PRIVATE"/>
             </menupopup>
           </menulist>
         </row>
-        <row>
-          <checkbox id="ccdCheckEventShowTimeAs"
-                    label="&customcalendardefaults.preferences.setEventShowTimeAs.label;"
-                    preference="extensions.customcalendardefaults.event.showTimeAs"
-                    oncommand="toggleEventUI();"/>
-        </row>
         <row id="ccdSetEventShowTimeAs">
           <label control="ccdEventShowTimeAs"
                  accesskey="&customcalendardefaults.preferences.ccdEventShowTimeAs.accesskey;"
                  value="&customcalendardefaults.preferences.ccdEventShowTimeAs;"/>
           <menulist id="ccdEventShowTimeAs"
-                    preference="extensions.customcalendardefaults.event.showTimeAs.state"
-                    flex="0"
-                    hideable="true">
+                    preference="calendar.events.defaultTransparency.standard.transparent"
+                    flex="0">
             <menupopup id="ccdEventShowTimeAsPopup" hideable="true">
-              <menuitem label="&customcalendardefaults.preferences.ccdEventShowTimeAsFree;" value="TRANSPARENT"/>
-              <menuitem label="&customcalendardefaults.preferences.ccdEventShowTimeAsBusy;" value="OPAQUE"/>
+              <menuitem label="&customcalendardefaults.preferences.ccdEventShowTimeAsFree;" value="true"/>
+              <menuitem label="&customcalendardefaults.preferences.ccdEventShowTimeAsBusy;" value="false"/>
             </menupopup>
           </menulist>
         </row>
         <row id="ccdSetAlldayEventShowTimeAs">
           <label control="ccdAlldayEventShowTimeAs"
                  accesskey=""
                  value="&customcalendardefaults.preferences.ccdAlldayEventShowTimeAs.label;"/>
           <menulist id="ccdAlldayEventShowTimeAs"
-                    preference="calendar.allday.defaultTransparency"
+                    preference="calendar.events.defaultTransparency.allday.transparent"
                     flex="0">
             <menupopup id="ccdAlldayEventShowTimeAsPopup">
-              <menuitem label="&customcalendardefaults.preferences.ccdAlldayEventShowTimeAsFree;" value="TRANSPARENT"/>
-              <menuitem label="&customcalendardefaults.preferences.ccdAlldayEventShowTimeAsBusy;" value="OPAQUE"/>
+              <menuitem label="&customcalendardefaults.preferences.ccdAlldayEventShowTimeAsFree;" value="true"/>
+              <menuitem label="&customcalendardefaults.preferences.ccdAlldayEventShowTimeAsBusy;" value="false"/>
             </menupopup>
           </menulist>
         </row>
       </rows>
     </grid>
     </groupbox>
     <groupbox>
     <caption label="&customcalendardefaults.preferences.tasks.title;" />
diff -u8pdNr 1.3/chrome/content/customcalendardefaults.js 1.4/chrome/content/customcalendardefaults.js
--- 1.3/chrome/content/customcalendardefaults.js	2014-04-18 09:52:50 +0000
+++ 1.4/chrome/content/customcalendardefaults.js	2014-07-28 17:07:41 +0000
@@ -21,22 +21,16 @@ function setCustomCalendarDefaults(aItem
         let ccdPrivacy = prefBranch.getBoolPref("event.privacy");
         if (ccdPrivacy == true) {
             let ccdPrivacyState = prefBranch.getCharPref("event.privacy.state");
             aItem.setProperty("CLASS", ccdPrivacyState);
         }
         // apply default event priority
         let ccdPriority = prefBranch.getCharPref("event.priority");
         aItem.setProperty("PRIORITY", ccdPriority);
-        // apply default event showTimeAs
-        let ccdShowTimeAs = prefBranch.getBoolPref("event.showTimeAs");
-        if (ccdShowTimeAs == true) {
-            let ccdShowTimeAsState = prefBranch.getCharPref("event.showTimeAs.state");
-            aItem.setProperty("TRANSP", ccdShowTimeAsState);
-        }
     }
     else if (type == "todo") {
         // apply default task status
         let ccdStatus = prefBranch.getCharPref("task.status");
         aItem.setProperty("STATUS", ccdStatus);
         // apply default task privacy
         let ccdPrivacy = prefBranch.getBoolPref("task.privacy");
         if (ccdPrivacy == true) {
@@ -90,22 +84,16 @@ function setCustomCalendarDefaultsEventD
     let ccdPrivacy = prefBranch.getBoolPref("event.privacy");
     if (ccdPrivacy == true) {
         let ccdPrivacyState = prefBranch.getCharPref("event.privacy.state");
         item.setProperty("CLASS", ccdPrivacyState);
     }
     // apply default event priority
     let ccdPriority = prefBranch.getCharPref("event.priority");
     item.setProperty("PRIORITY", ccdPriority);
-    // apply default event showTimeAs
-    let ccdShowTimeAs = prefBranch.getBoolPref("event.showTimeAs");
-    if (ccdShowTimeAs == true) {
-        let ccdShowTimeAsState = prefBranch.getCharPref("event.showTimeAs.state");
-        item.setProperty("TRANSP", ccdShowTimeAsState);
-    }
 }
 
 /*******************************
 * Modified Lightning functions *
 *******************************/
 
 /**
 * calendar-item-editing.js: function createEventWithDialog
@@ -142,68 +130,25 @@ function ccdCreateEventWithDialog(calend
                 event.endDate.day++;
             }
         }
 
         if (!event.calendar) {
             event.calendar = calendar || getSelectedCalendar();
         }
     } else {
-        event = createEvent();
-
-        if (startDate) {
-            event.startDate = startDate.clone();
-            if (startDate.isDate && !aForceAllday) {
-                // This is a special case where the date is specified, but the
-                // time is not. To take care, we setup up the time to our
-                // default event start time.
-                event.startDate = getDefaultStartDate(event.startDate);
-            } else if (aForceAllday) {
-                // If the event should be forced to be allday, then don't set up
-                // any default hours and directly make it allday.
-                event.startDate.isDate = true;
-                event.startDate.timezone = floating();
-            }
-        } else {
-            // If no start date was passed, then default to the next full hour
-            // of today, but with the date of the selected day
-            var refDate = currentView().initialized && currentView().selectedDay.clone();
-            event.startDate = getDefaultStartDate(refDate);
-        }
-
-        if (endDate) {
-            event.endDate = endDate.clone();
-            if (aForceAllday) {
-                // XXX it is currently not specified, how callers that force all
-                // day should pass the end date. Right now, they should make
-                // sure that the end date is 00:00:00 of the day after.
-                event.endDate.isDate = true;
-                event.endDate.timezone = floating();
-            }
-        } else {
-            event.endDate = event.startDate.clone();
-            if (!aForceAllday) {
-                // If the event is not all day, then add the default event
-                // length.
-                event.endDate.minute += getPrefSafe("calendar.event.defaultlength", 60);
-            } else {
-                // All day events need to go to the beginning of the next day.
-                event.endDate.day++;
-            }
-        }
-
-        event.calendar = calendar || getSelectedCalendar();
+        event = cal.createEvent();
 
+        let refDate = currentView().initialized && currentView().selectedDay.clone();
+        setDefaultItemValues(event, calendar, startDate, endDate, refDate, aForceAllday);
         if (summary) {
             event.title = summary;
         }
-
-        cal.alarms.setDefaultValues(event);
-		setCustomCalendarDefaults(event);
     }
+    setCustomCalendarDefaults(event);
     openEventDialog(event, calendar, "new", onNewEvent, null);
 }
 
 /**
 * calendar-item-editing.js: function createTodoWithDialog
 */
 function ccdCreateTodoWithDialog(calendar, dueDate, summary, todo, initialDate) {
     const kDefaultTimezone = calendarDefaultTimezone();
@@ -227,34 +172,24 @@ function ccdCreateTodoWithDialog(calenda
             todo = todo.clone();
             todo.id = null;
         }
 
         if (!todo.calendar) {
             todo.calendar = calendar || getSelectedCalendar();
         }
     } else {
-        todo = createTodo();
-        todo.calendar = calendar || getSelectedCalendar();
+        todo = cal.createTodo();
+        setDefaultItemValues(todo, calendar, null, dueDate, initialDate);
 
-        if (summary)
+        if (summary) {
             todo.title = summary;
-
-        if (dueDate)
-            todo.dueDate = dueDate;
-
-        if (cal.getPrefSafe("calendar.alarms.onfortodos", 0) == 1 &&
-            !todo.entryDate) {
-            // the todo must have an entry date if we want to set an alarm
-            todo.entryDate = initialDate;
         }
-
-        cal.alarms.setDefaultValues(todo);
-		setCustomCalendarDefaults(todo);
     }
+    setCustomCalendarDefaults(todo);
 
     openEventDialog(todo, calendar, "new", onNewItem, null, initialDate);
 }
 
 /**
 * calendar-task-editing.js: var taskEdit
 */
 var ccdTaskEdit = {
@@ -364,24 +299,24 @@ var ccdTaskEdit = {
 
     /**
      * Handler function to call on keypress for the quick-add textbox.
      *
      * @param aEvent    The DOM keypress event
      */
     onKeyPress: function tE_onKeyPress(aEvent) {
         if (aEvent.keyCode == Components.interfaces.nsIDOMKeyEvent.DOM_VK_RETURN) {
-            var edit = aEvent.target;
+            let edit = aEvent.target;
             if (edit.value && edit.value.length > 0) {
-                var item = createTodo();
-                item.calendar = getSelectedCalendar();
+                let item = cal.createTodo();
+                setDefaultItemValues(item);
                 item.title = edit.value;
+
                 edit.value = "";
-                cal.alarms.setDefaultValues(item);
-				setCustomCalendarDefaultsTaskQuickadd(item);
+                setCustomCalendarDefaultsTaskQuickadd(item);
                 doTransaction('add', item, item.calendar, null, null);
             }
         }
     },
 
     /**
      * Window load function to set up all quick-add textboxes. The texbox must
      * have the class "task-edit-field".
@@ -508,22 +443,23 @@ var ccdCalendarViewController = {
      */
     createNewEvent: function (aCalendar, aStartTime, aEndTime, aForceAllday) {
         aCalendar = aCalendar || getSelectedCalendar();
 
 
         // if we're given both times, skip the dialog
         if (aStartTime && aEndTime && !aStartTime.isDate && !aEndTime.isDate) {
             let item = cal.createEvent();
+            setDefaultItemValues(item);
             item.startDate = aStartTime;
             item.endDate = aEndTime;
             item.title = calGetString("calendar", "newEvent");
             item.calendar = aCalendar;
             cal.alarms.setDefaultValues(item);
-			setCustomCalendarDefaultsEventDrag(item);
+            setCustomCalendarDefaultsEventDrag(item);
             doTransaction('add', item, aCalendar, null, null);
         } else {
             createEventWithDialog(aCalendar, aStartTime, null, null, null, aForceAllday);
         }
     },
 
     pendingJobs: [],
 
diff -u8pdNr 1.3/defaults/preferences/customcalendardefaults.js 1.4/defaults/preferences/customcalendardefaults.js
--- 1.3/defaults/preferences/customcalendardefaults.js	2012-08-25 16:07:22 +0000
+++ 1.4/defaults/preferences/customcalendardefaults.js	2014-07-28 16:12:05 +0000
@@ -1,16 +1,14 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 pref("extensions.customcalendardefaults.event.status", "");
 pref("extensions.customcalendardefaults.event.privacy", false);
 pref("extensions.customcalendardefaults.event.privacy.state", "");
 pref("extensions.customcalendardefaults.event.priority", "0");
-pref("extensions.customcalendardefaults.event.showTimeAs", false);
-pref("extensions.customcalendardefaults.event.showTimeAs.state", "");
 pref("extensions.customcalendardefaults.task.status", "");
 pref("extensions.customcalendardefaults.task.privacy", false);
 pref("extensions.customcalendardefaults.task.privacy.state", "");
 pref("extensions.customcalendardefaults.task.priority", "0");
 pref("extensions.customcalendardefaults.task.showTimeAs", false);
 pref("extensions.customcalendardefaults.task.showTimeAs.state", "");
diff -u8pdNr 1.3/install.rdf 1.4/install.rdf
--- 1.3/install.rdf	2014-04-18 09:41:54 +0000
+++ 1.4/install.rdf	2014-07-28 16:59:58 +0000
@@ -4,17 +4,17 @@
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:em="http://www.mozilla.org/2004/em-rdf#">
 
   <Description about="urn:mozilla:install-manifest">
     <em:name>Custom Calendar Defaults</em:name>
     <em:id>customcalendardefaults@nadelundhirn.de</em:id>
-    <em:version>1.3</em:version>
+    <em:version>1.4</em:version>
 
     <em:localized>
       <Description>
         <em:locale>de-DE</em:locale>
         <em:name>Custom Calendar Defaults</em:name>
         <em:creator>Robert Brand</em:creator>
         <em:description>Voreinstellungen für Termine und Aufgaben anpassen</em:description>
         <em:homepageURL>http://www.nadelundhirn.de/wp/tag/custom-calendar-defaults/</em:homepageURL>
@@ -26,34 +26,34 @@
     <em:optionsURL>chrome://customcalendardefaults/content/ccd-prefs.xul</em:optionsURL>
 	<em:updateURL>http://www.nadelundhirn.de/krams/exten/customcalendardefaults/update.rdf</em:updateURL>
 	<em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0aEUGwdymA73OVxwnZK4y6GkkP6t260QkoOOE1v+SoSC4bz8Xjqdmgb9Bs0YZNqQrB1VlvkMoAF3mnf5h/8vd2s43VverhrqXBxYehZmFiwL11f84vwPV5HsRfTwFlSgAOufY/d7/6DOoZkbhXR2/0QMxkscWtbIK0NpCZ3FCEQIDAQAB</em:updateKey>
 
     <!-- Thunderbird -->
     <em:targetApplication>
       <Description>
         <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
-        <em:minVersion>24.0a1</em:minVersion>
-        <em:maxVersion>29.*</em:maxVersion>
+        <em:minVersion>31.0a1</em:minVersion>
+        <em:maxVersion>31.*</em:maxVersion>
       </Description>
     </em:targetApplication>
     
     <!-- SeaMonkey -->
     <em:targetApplication>
       <Description>
         <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
-        <em:minVersion>2.21</em:minVersion>
-        <em:maxVersion>2.26.*</em:maxVersion>
+        <em:minVersion>2.28</em:minVersion>
+        <em:maxVersion>2.28.*</em:maxVersion>
       </Description>
     </em:targetApplication>
 
     <em:requires>
       <Description>
         <!-- Lightning (also Sunbird via extension stub) -->
         <em:id>{e2fda1a4-762b-4020-b5ad-a41df1933103}</em:id>
-        <em:minVersion>2.6</em:minVersion>
-        <em:maxVersion>3.1</em:maxVersion>
+        <em:minVersion>3.3</em:minVersion>
+        <em:maxVersion>3.3.*</em:maxVersion>
       </Description>
     </em:requires>
 
   </Description>
 
 </RDF>
