Fix bug 456379 - Thunderbird3: Remove lightning calendar/task toolbars. r=philringnalda,berend ui-r=christian,clarkbw
authorPhilipp Kewisch <mozilla@kewis.ch>
Wed, 17 Dec 2008 09:40:12 +0100
changeset 1436 7d617031aa6010d7d4420af5614468771a8c1358
parent 1435 877154dd96a2073dd493bd0ed5caf5d63b2af729
child 1437 b74725908891f4917f89d4c1482c5e956586d4f2
push idunknown
push userunknown
push dateunknown
reviewersphilringnalda, berend, christian, clarkbw
bugs456379
Fix bug 456379 - Thunderbird3: Remove lightning calendar/task toolbars. r=philringnalda,berend ui-r=christian,clarkbw
calendar/base/content/calendar-common-sets.js
calendar/base/content/calendar-common-sets.xul
calendar/base/content/calendar-task-view.xul
calendar/base/content/calendar-toolbar.inc
calendar/base/jar.mn
calendar/base/themes/pinstripe/calendar-task-tree.css
calendar/base/themes/pinstripe/calendar-task-view.css
calendar/base/themes/pinstripe/calendar-toolbar.css
calendar/base/themes/winstripe/calendar-task-tree.css
calendar/base/themes/winstripe/calendar-task-view.css
calendar/base/themes/winstripe/calendar-toolbar.css
calendar/lightning/content/lightning-common-sets.js
calendar/lightning/content/lightning-toolbar.inc
calendar/lightning/content/messenger-overlay-sidebar.js
calendar/lightning/content/messenger-overlay-sidebar.xul
calendar/lightning/content/messenger-overlay-toolbar.js
calendar/lightning/content/messenger-overlay-toolbar.xul
calendar/lightning/content/toolkit-overlay-custombar.xul
calendar/lightning/jar.mn
calendar/locales/en-US/chrome/calendar/calendar.dtd
calendar/locales/en-US/chrome/calendar/menuOverlay.dtd
calendar/locales/en-US/chrome/sunbird/sunbird.dtd
calendar/sunbird/base/content/calendar-menubar.inc
calendar/sunbird/base/content/calendar.xul
calendar/sunbird/base/content/sunbird-toolbar.inc
calendar/sunbird/base/jar.mn
calendar/sunbird/base/themes/pinstripe/toolbar.css
calendar/sunbird/base/themes/winstripe/toolbar.css
mail/themes/pinstripe/mail/messageHeader.css
mail/themes/qute/mail/messageHeader.css
--- a/calendar/base/content/calendar-common-sets.js
+++ b/calendar/base/content/calendar-common-sets.js
@@ -38,16 +38,19 @@ var calendarController = {
     defaultController: null,
 
     commands: {
         // Common commands
         "calendar_new_event_command": true,
         "calendar_modify_event_command": true,
         "calendar_delete_event_command": true,
 
+        "calendar_modify_focused_item_command": true,
+        "calendar_delete_focused_item_command": true,
+
         "calendar_new_todo_command": true,
         "calendar_modify_todo_command": true,
         "calendar_delete_todo_command": true,
 
         "calendar_new_calendar_command": true,
         "calendar_edit_calendar_command": true,
         "calendar_delete_calendar_command": true,
 
@@ -104,18 +107,22 @@ var calendarController = {
         }
         return false;
     },
 
     isCommandEnabled: function cC_isCommandEnabled(aCommand) {
         switch (aCommand) {
             case "calendar_new_event_command":
                 return this.writable && this.calendars_support_events;
+            case "calendar_modify_focused_item_command":
+                return this.item_selected;
             case "calendar_modify_event_command":
                 return this.item_selected;
+            case "calendar_delete_focused_item_command":
+                return this.selected_items_writable;
             case "calendar_delete_event_command":
                 return this.selected_items_writable;
             case "calendar_new_todo_command":
                 return this.writable && this.calendars_support_tasks;
             case "calendar_modify_todo_command":
                 return this.todo_items_selected &&
                        this.todo_tasktree_focused;
             case "calendar_task_filter_command":
@@ -205,35 +212,55 @@ var calendarController = {
         switch (aCommand) {
             // Common Commands
             case "calendar_new_event_command":
                 createEventWithDialog(getSelectedCalendar());
                 break;
             case "calendar_modify_event_command":
                 editSelectedEvents();
                 break;
-            case "calendar_delete_event_command":
-            case "cmd_delete":
-            case "button_delete":
-                var focusedElement = document.commandDispatcher.focusedElement;
+            case "calendar_modify_focused_item_command": {
+                let focusedElement = document.commandDispatcher.focusedElement;
                 if (!focusedElement && this.defaultController && !this.isCalendarInForeground()) {
                     this.defaultController.doCommand(aCommand);
                 } else {
-                    var focusedRichListbox = getParentNodeOrThis(focusedElement, "richlistbox");
+                    let focusedRichListbox = getParentNodeOrThis(focusedElement, "richlistbox");
+                    if (focusedRichListbox && focusedRichListbox.id == "agenda-listbox") {
+                        agendaListbox.editSelectedItem();
+                    } else if (focusedElement.className == "calendar-task-tree") {
+                        modifyTaskFromContext();
+                    } else {
+                        editSelectedEvents();
+                    }
+                }
+                break;
+            }
+            case "calendar_delete_event_command":
+                deleteSelectedEvents();
+                break;
+            case "calendar_delete_focused_item_command":
+            case "cmd_delete":
+            case "button_delete": {
+                let focusedElement = document.commandDispatcher.focusedElement;
+                if (!focusedElement && this.defaultController && !this.isCalendarInForeground()) {
+                    this.defaultController.doCommand(aCommand);
+                } else {
+                    let focusedRichListbox = getParentNodeOrThis(focusedElement, "richlistbox");
                     if (focusedRichListbox && focusedRichListbox.id == "agenda-listbox") {
                         agendaListbox.deleteSelectedItem(false);
                     } else if (focusedElement.className == "calendar-task-tree") {
                         deleteToDoCommand(null, false);
                     } else if (this.defaultController && !this.isCalendarInForeground()) {
                         this.defaultController.doCommand(aCommand);
                     } else {
                         deleteSelectedEvents();
                     }
                 }
                 break;
+            }
             case "calendar_new_todo_command":
                 createTodoWithDialog(getSelectedCalendar());
                 break;
             case "calendar_delete_todo_command":
                 deleteToDoCommand();
                 break;
             case "calendar_modify_todo_command":
                 modifyTaskFromContext();
--- a/calendar/base/content/calendar-common-sets.xul
+++ b/calendar/base/content/calendar-common-sets.xul
@@ -61,16 +61,19 @@
     <command id="calendar_new_event_command" oncommand="goDoCommand('calendar_new_event_command')"/>
     <command id="calendar_modify_event_command" oncommand="goDoCommand('calendar_modify_event_command')"/>
     <command id="calendar_delete_event_command" oncommand="goDoCommand('calendar_delete_event_command')"/>
 
     <command id="calendar_new_todo_command" oncommand="goDoCommand('calendar_new_todo_command')"/>
     <command id="calendar_modify_todo_command" oncommand="goDoCommand('calendar_modify_todo_command')"/>
     <command id="calendar_delete_todo_command" oncommand="goDoCommand('calendar_delete_todo_command')"/>
 
+    <command id="calendar_modify_focused_item_command" oncommand="goDoCommand('calendar_modify_focused_item_command')"/>
+    <command id="calendar_delete_focused_item_command" oncommand="goDoCommand('calendar_delete_focused_item_command')"/>
+
     <command id="calendar_new_calendar_command" oncommand="goDoCommand('calendar_new_calendar_command')"/>
     <command id="calendar_edit_calendar_command" oncommand="goDoCommand('calendar_edit_calendar_command')"/>
     <command id="calendar_delete_calendar_command" oncommand="goDoCommand('calendar_delete_calendar_command')"/>
 
     <command id="calendar_import_command" oncommand="goDoCommand('calendar_import_command')"/>
     <command id="calendar_export_command" oncommand="goDoCommand('calendar_export_command')"/>
     <command id="calendar_export_selection_command" oncommand="goDoCommand('calendar_export_selection_command')"/>
 
--- a/calendar/base/content/calendar-task-view.xul
+++ b/calendar/base/content/calendar-task-view.xul
@@ -36,122 +36,158 @@
    - the terms of any one of the MPL, the GPL or the LGPL.
    -
    - ***** END LICENSE BLOCK ***** -->
 
 <?xml-stylesheet type="text/css" href="chrome://global/skin/global.css"?>
 <?xml-stylesheet type="text/css" href="chrome://calendar/skin/calendar-task-view.css"?>
 <?xml-stylesheet type="text/css" href="chrome://calendar/content/calendar-bindings.css"?>
 
+<?xml-stylesheet type="text/css" href="chrome://messenger/skin/messageHeader.css"?>
+
 <!DOCTYPE overlay [
   <!ENTITY % dtd1 SYSTEM "chrome://calendar/locale/calendar.dtd" > %dtd1;
   <!ENTITY % dtd2 SYSTEM "chrome://calendar/locale/calendar-event-dialog.dtd" > %dtd2;
 ]>
 
 <overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
   <script type="application/javascript" src="chrome://calendar/content/calendar-task-tree.js"/>
   <script type="application/javascript" src="chrome://calendar/content/calendar-task-view.js"/>
   <script type="application/javascript" src="chrome://calendar/content/calendar-dialog-utils.js"/>
   <script type="application/javascript" src="chrome://calendar/content/calApplicationUtils.js"/>
   <script type="application/javascript" src="chrome://calendar/content/calFilter.js"/>
   <script type="application/javascript" src="chrome://global/content/globalOverlay.js"/>
 
   <vbox id="calendarDisplayDeck">
     <vbox id="calendar-task-box" flex="1"
           onselect="taskDetailsView.onSelect(event);">
-      <textbox id="view-task-edit-field"
-               class="task-edit-field"
-               onfocus="taskEdit.onFocus(event)"
-               onblur="taskEdit.onBlur(event)"
-               onkeypress="taskEdit.onKeyPress(event)"/>
+      <hbox id="task-addition-box" align="center">
+        <toolbarbutton id="calendar-add-task-button"
+                       label="&calendar.newtask.button.label;"
+                       tooltiptext="&calendar.newtask.button.tooltip;"
+                       observes="calendar_new_todo_command"/>
+        <textbox id="view-task-edit-field"
+                 flex="1"
+                 class="task-edit-field"
+                 onfocus="taskEdit.onFocus(event)"
+                 onblur="taskEdit.onBlur(event)"
+                 onkeypress="taskEdit.onKeyPress(event)"/>
+      </hbox>
       <vbox flex="1">
         <calendar-task-tree id="calendar-task-tree" flex="1"
                             visible-columns="completed priority title startdate duedate"
                             persist="visible-columns ordinals widths sort-active sort-direction height"
                             context="taskitem-context-menu"/>
         <splitter id="calendar-task-view-splitter" collapse="none" persist="state"/>
-        <vbox id="calendar-task-details-container" flex="1">
+        <vbox id="calendar-task-details-container" class="main-header-area" flex="1">
           <hbox id="calendar-task-details">
-            <grid id="calendar-task-details-grid-left">
-              <columns>
-                <column/>
-                <column/>
+            <grid id="calendar-task-details-grid" flex="1">
+              <columns id="calendar-task-details-columns">
+                <column id="calendar-header-name-column"/>
+                <column id="calendar-header-value-column"/>
               </columns>
-              <rows>
+              <rows id="calendar-task-details-rows">
                 <row id="calendar-task-details-title-row"
                      align="top"
                      hidden="true">
-                  <label value="&calendar.task.details.title.label;"
+                  <label value="&calendar.task-details.title.label;"
                          class="task-details-name"/>
                   <label id="calendar-task-details-title"
                          class="task-details-value"/>
                 </row>
                 <row id="calendar-task-details-organizer-row"
                      align="top"
                      hidden="true">
-                  <label value="&calendar.task.details.organizer.label;"
+                  <label value="&calendar.task-details.organizer.label;"
                          class="task-details-name"/>
                   <label id="calendar-task-details-organizer"
                          class="task-details-value text-link"
                          onclick="sendMailToOrganizer()"/>
                 </row>
                 <row id="calendar-task-details-priority-row"
                      align="top"
                      hidden="true">
-                  <label value="&calendar.task.details.priority2.label;"
+                  <label value="&calendar.task-details.priority.label;"
                          class="task-details-name"/>
                   <label id="calendar-task-details-priority-low"
-                         value="&calendar.task.details.priority.low.label;"
+                         value="&calendar.task-details.priority.low.label;"
                          class="task-details-value"
                          hidden="true"/>
                   <label id="calendar-task-details-priority-normal"
-                         value="&calendar.task.details.priority.normal.label;"
+                         value="&calendar.task-details.priority.normal.label;"
                          class="task-details-value"
                          hidden="true"/>
                   <label id="calendar-task-details-priority-high"
-                         value="&calendar.task.details.priority.high.label;"
+                         value="&calendar.task-details.priority.high.label;"
                          class="task-details-value"
                          hidden="true"/>
                 </row>
                 <row id="calendar-task-details-status-row"
                      align="top"
                      hidden="true">
-                  <label value="&calendar.task.details.status.label;"
+                  <label value="&calendar.task-details.status.label;"
                          class="task-details-name"/>
                   <label id="calendar-task-details-status"
                          class="task-details-value"/>
                 </row>
                 <row id="calendar-task-details-category-row"
                      align="top"
                      hidden="true">
-                  <label value="&calendar.task.details.category.label;"
+                  <label value="&calendar.task-details.category.label;"
                          class="task-details-name"/>
                   <label id="calendar-task-details-category"
                          class="task-details-value"/>
                 </row>
-              </rows>
-            </grid>
-            <grid id="calendar-task-details-grid-right">
-              <columns>
-                <column/>
-                <column/>
-              </columns>
-              <rows>
                 <row class="item-date-row" id="task-start-row" mode="start" align="end"/>
                 <row class="item-date-row" id="task-due-row" mode="end" align="end"/>
                 <row id="calendar-task-details-repeat-row"
                      align="top"
                      hidden="true">
-                  <label value="&calendar.task.details.repeat.label;"
+                  <label value="&calendar.task-details.repeat.label;"
                          class="task-details-name"/>
                   <label id="calendar-task-details-repeat"
                          class="task-details-value"/>
                 </row>
               </rows>
             </grid>
+            <hbox id="other-actions-box" align="top">
+              <button id="task-actions-category"
+                      type="menu"
+                      label="&calendar.unifinder.tree.categories.label;"
+                      tooltiptext="&calendar.task.category.button.tooltip;"
+                      command="calendar_task_category_command"
+                      observes="calendar_task_category_command"
+                      class="msgHeaderView-button">
+                <menupopup id="task-actions-category-menupopup"
+                           onpopupshowing="addCategoryNames(event)"/>
+              </button>
+              <button id="task-actions-markcompleted"
+                      type="menu-button"
+                      label="&calendar.context.markcompleted.label;"
+                      tooltiptext="&calendar.task.complete.button.tooltip;"
+                      command="calendar_percentComplete-100_command2"
+                      observes="calendar_percentComplete-100_command2"
+                      class="msgHeaderView-button">
+                <menupopup id="task-actions-markcompleted-menupopup" type="task-progress"/>
+              </button>
+              <button id="task-actions-priority"
+                      type="menu"
+                      label="&calendar.context.priority.label;"
+                      tooltiptext="&calendar.task.priority.button.tooltip;"
+                      command="calendar_general-priority_command"
+                      observes="calendar_general-priority_command"
+                      class="msgHeaderView-button">
+                <menupopup id="task-actions-priority-menupopup" type="task-priority"/>
+              </button>
+              <button id="calendar-delete-task-button"
+                      class="msgHeaderView-button"
+                      aria-label="&calendar.context.deletetask.label;"
+                      tooltiptext="&calendar.context.deletetask.label;"
+                      observes="calendar_delete_todo_command"/>
+            </hbox>
           </hbox>
           <textbox id="calendar-task-details-description" multiline="true" flex="1"/>
           <hbox id="calendar-task-details-attachment-row"
                align="top"
                hidden="true">
             <label value="&event.attachments.label;"
                    class="task-details-name"/>
             <label id="calendar-task-details-attachment"
deleted file mode 100755
--- a/calendar/base/content/calendar-toolbar.inc
+++ /dev/null
@@ -1,82 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is OEone Calendar Code, released October 31st, 2001.
-#
-# The Initial Developer of the Original Code is
-# OEone Corporation.
-# Portions created by the Initial Developer are Copyright (C) 2001
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): Mike Shaver <shaver@mozilla.org>
-#               Stuart Parmenter <stuart.parmenter@oracle.com>
-#               Vladimir Vukicevic <vladimir@pobox.com>
-#               Simon Paquet <bugzilla@babylonsounds.com>
-#               Berend Cornelius <berend.cornelius@sun.com>
-#               Philipp Kewisch <mozilla@kewis.ch>
-#               Garth Smedley <garths@oeone.com>
-#               Mike Potter <mikep@oeone.com>
-#               Colin Phillips <colinp@oeone.com>
-#               Chris Charabaruk <coldacid@djfly.org>
-#               Karl Guertin <grayrest@grayrest.com>
-#               Dan Parent <danp@oeone.com>
-#               ArentJan Banck <ajbanck@planet.nl>
-#               Eric Belhaire <belhaire@ief.u-psud.fr>
-#               Stefan Sitter <ssitter@googlemail.com>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the LGPL or the GPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-<toolbarbutton id="calendar-import-button"
-               mode="calendar"
-               class="cal-toolbarbutton-1"
-               label="&calendar.import.button.label;"
-               tooltiptext="&calendar.import.button.tooltip;"
-               observes="calendar_import_command"/>
-<toolbarbutton id="calendar-export-button"
-               mode="calendar"
-               class="cal-toolbarbutton-1"
-               label="&calendar.export.button.label;"
-               tooltiptext="&calendar.export.button.tooltip;"
-               observes="calendar_export_command"/>
-<toolbarbutton id="calendar-subscribe-button"
-               mode="calendar"
-               class="cal-toolbarbutton-1"
-               label="&calendar.subscribe.button.label;"
-               tooltiptext="&calendar.subscribe.button.tooltip;"
-               observes="calendar_new_calendar_command"/>
-<toolbarbutton id="calendar-publish-button"
-               mode="calendar"
-               class="cal-toolbarbutton-1"
-               label="&calendar.publish.button.label;"
-               tooltiptext="&calendar.publish.button.tooltip;"
-               observes="calendar_publish_calendar_command"/>
-<toolbarbutton id="calendar-unifinder-button"
-               mode="calendar"
-               class="cal-toolbarbutton-1"
-               type="checkbox"
-               checked="true"
-               label="&calendar.unifinder.button.label;"
-               tooltiptext="&calendar.unifinder.button.tooltip;"
-               command="calendar_show_unifinder_command"/>
--- a/calendar/base/jar.mn
+++ b/calendar/base/jar.mn
@@ -132,17 +132,16 @@ calendar.jar:
     skin/calendar/calendar-invitations-dialog-list-images.png  (themes/@THEME@/dialogs/calendar-invitations-dialog-list-images.png)
     skin/calendar/calendar-management.css                  (themes/@THEME@/calendar-management.css)
     skin/calendar/calendar-occurrence-prompt.css           (themes/@THEME@/calendar-occurrence-prompt.css)
     skin/calendar/calendar-occurrence-prompt.png           (themes/@THEME@/calendar-occurrence-prompt.png)
     skin/calendar/calendar-properties-dialog.css           (themes/@THEME@/calendar-properties-dialog.css)
     skin/calendar/calendar-subscriptions-dialog.css        (themes/@THEME@/calendar-subscriptions-dialog.css)
     skin/calendar/calendar-task-tree.css                   (themes/@THEME@/calendar-task-tree.css)
     skin/calendar/calendar-task-view.css                   (themes/@THEME@/calendar-task-view.css)
-    skin/calendar/calendar-toolbar.css                     (themes/@THEME@/calendar-toolbar.css)
     skin/calendar/calendar-unifinder.css                   (themes/@THEME@/calendar-unifinder.css)
     skin/calendar/calendar-views.css                       (themes/@THEME@/calendar-views.css)
     skin/calendar/mode-switch-icons.png                    (themes/@THEME@/mode-switch-icons.png)
     skin/calendar/ok-cancel.png                            (themes/@THEME@/ok-cancel.png)
     skin/calendar/today-pane.css                           (themes/@THEME@/today-pane.css)
     skin/calendar/toolbar-large.png                        (themes/@THEME@/toolbar-large.png)
     skin/calendar/toolbar-small.png                        (themes/@THEME@/toolbar-small.png)
     skin/calendar/widgets/calendar-widgets.css             (themes/@THEME@/widgets/calendar-widgets.css)
--- a/calendar/base/themes/pinstripe/calendar-task-tree.css
+++ b/calendar/base/themes/pinstripe/calendar-task-tree.css
@@ -35,17 +35,18 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 .calendar-task-tree {
     -moz-appearance:  none;
     background-color: -moz-Field;
     color: -moz-FieldText;
-    border: none;
+    border: 0;
+    margin: 0;
 }
 
 .calendar-task-tree > treechildren::-moz-tree-cell-text(inprogress) {
     color: green;
 }
 
 .calendar-task-tree > treechildren::-moz-tree-row(inprogress, selected, focus) {
     background-color: green;
--- a/calendar/base/themes/pinstripe/calendar-task-view.css
+++ b/calendar/base/themes/pinstripe/calendar-task-view.css
@@ -31,32 +31,79 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
+#calendar-task-details-container {
+    border-top: 1px solid ThreeDShadow;
+    border-left: 1px solid ThreeDShadow;
+    border-right: 0px;
+    border-bottom: 0px;
+    overflow: hidden;
+}
+
+#calendar-header-name-column {
+    width: 7em;
+}
+
+#calendar-task-details-grid,
+#other-actions-box {
+    padding: 0.5em;
+    padding-left: 0;
+}
+
+#calendar-task-details {
+    min-height: 6ex;
+}
+
+#task-addition-box {
+    border-left: 1px solid ThreeDShadow;
+    border-right: 0px;
+}
+
+#calendar-task-details-description {
+    -moz-appearance: none;
+    border: 0;
+    margin: 0;
+    font-family: serif;
+    font-size: 16px;
+}
+
 .task-details-name {
-    font-weight: bold;
     text-align: right;
+    color: #888a85; /* lower contrast */
     background-color: transparent;
     border: none;
 }
 
+#calendar-task-details-grid > rows > .item-date-row > .headline {
+    font-weight: normal;
+    color: #888a85; /* lower contrast */
+}
+
 #calendar-task-details-attachment,
 .task-details-value {
     text-align: left;
     background-color: transparent;
     border: none;
+    color: black;
 }
 
 #calendar-task-tree {
     min-height: 98px;
+    -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+    -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+    -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+    border-left: 1px solid;
+    border-right: 1px solid;
+    border-bottom: 1px solid;
 }
 
 #calendar-task-tree > .calendar-task-tree > treechildren::-moz-tree-cell {
     border-right: 1px dotted #AAA;
 }
 
 #calendar-task-tree-detail {
     border: 1px solid ThreeDShadow;
@@ -66,27 +113,34 @@
 #view-task-edit-field {
     margin: 5px;
 }
 
 .task-edit-field[readonly="true"] {
     color: GrayText;
 }
 
-#calendar-task-details-grid-right {
-    -moz-margin-start: 3em;
-}
-
 #calendar-task-details-title {
     font-weight: bold;
 }
 
 #unifinder-task-edit-field {
-  margin: 3px;
+    margin: 3px;
 }
 
 #unifinder-todo-tree > .calendar-task-tree {
     margin-bottom: 3px;
 }
 
-#calendar-task-details-container {
-  overflow: hidden;
+#calendar-delete-task-button {
+    -moz-box-orient: vertical;
+    list-style-image: url(chrome://messenger/skin/icons/folder-trash.png);
 }
+
+#calendar-add-task-button {
+    list-style-image: url(chrome://calendar/skin/toolbar-small.png);
+    -moz-image-region: rect(0px 24px 24px 0px);
+    -moz-margin-start: 5px;
+}
+
+#calendar-add-task-button > .toolbarbutton-text {
+    -moz-padding-start: 5px;
+}
deleted file mode 100644
--- a/calendar/base/themes/pinstripe/calendar-toolbar.css
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
-# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is OEone Calendar Code, released October 31st, 2001.
-#
-# The Initial Developer of the Original Code is
-# OEone Corporation.
-# Portions created by the Initial Developer are Copyright (C) 2001
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): Garth Smedley <garths@oeone.com>
-#                 Mike Potter <mikep@oeone.com>
-#                 Karl Guertin <grayrest@grayrest.com>
-#                 Colin Phillips <colinp@oeone.com>
-#                 ArentJan Banck <ajbanck@planet.nl>
-#                 Eric Belhaire <belhaire@ief.u-psud.fr>
-#                 Mark Swaffer <swaff@fudo.org>
-#                 Christopher Cook <tangent@intraplanar.net>
-#                 Kevin Gerich <webmail@kmgerich.com>
-#                 Matthew Willis <mattwillis@gmail.com>
-#                 Simon Paquet <bugzilla@babylonsounds.com>
-#                 Philipp Kewisch <mozilla@kewis.ch>
-#                 Berend Cornelius <berend.cornelius@sun.com>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-*/
-
-/*--------------------------------------------------------------------
- *   Primary toolbar buttons
- *-------------------------------------------------------------------*/
-
-.cal-toolbarbutton-1 {
-    -moz-box-orient: vertical;
-    min-width: 0px;
-    list-style-image: url("chrome://calendar/skin/toolbar-large.png");
-}
-
-.cal-toolbarbutton-1[type="menu"] {
-  -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-vertical");
-}
-
-toolbar[mode="full"] .cal-toolbarbutton-1 {
-    min-width: 55px;
-}
-
-/*--------------------------------------------------------------------
- *   Primary toolbar buttons - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] .cal-toolbarbutton-1 {
-    -moz-box-orient: vertical;
-    min-width: 0px;
-    list-style-image: url("chrome://calendar/skin/toolbar-small.png");
-}
-
-/*--------------------------------------------------------------------
- *   Button: "Edit"
- *-------------------------------------------------------------------*/
-
-#calendar-edit-button {
-    -moz-image-region: rect(0px 64px 32px 32px);
-}
-#calendar-edit-button:active {
-    -moz-image-region: rect(32px 64px 64px 32px);
-}
-#calendar-edit-button[disabled="true"] {
-    -moz-image-region: rect(64px 64px 96px 32px);
-}
-
-toolbar[iconsize="small"] #calendar-edit-button {
-    -moz-image-region: rect(0px 48px 24px 24px);
-}
-toolbar[iconsize="small"] #calendar-edit-button:active {
-    -moz-image-region: rect(24px 48px 48px 24px);
-}
-toolbar[iconsize="small"] #calendar-edit-button[disabled="true"] {
-    -moz-image-region: rect(48px 48px 72px 24px);
-}
-
-/*--------------------------------------------------------------------
- *   Unifinder button
- *-------------------------------------------------------------------*/
-
-#calendar-unifinder-button {
-        -moz-image-region: rect(0px 704px 32px 672px);
-}
-#calendar-unifinder-button:active {
-        -moz-image-region: rect(32px 704px 64px 672px);
-}
-#calendar-unifinder-button[disabled="true"] {
-        -moz-image-region: rect(64px 704px 96px 672px);
-}
-
-toolbar[iconsize="small"] #calendar-unifinder-button {
-        -moz-image-region: rect(0px 528px 24px 504px);
-}
-toolbar[iconsize="small"] #calendar-unifinder-button:active {
-        -moz-image-region: rect(24px 528px 48px 504px);
-}
-toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"] {
-        -moz-image-region: rect(48px 528px 72px 504px);
-}
-
-/*--------------------------------------------------------------------
- *   Button: "Import"
- *-------------------------------------------------------------------*/
-
-#calendar-import-button {
-        -moz-image-region: rect(0px 352px 32px 320px);
-}
-#calendar-import-button:active {
-        -moz-image-region: rect(32px 352px 64px 320px);
-}
-#calendar-import-button[disabled="true"] {
-        -moz-image-region: rect(64px 352px 96px 320px);
-}
-
-toolbar[iconsize="small"] #calendar-import-button {
-        -moz-image-region: rect(0px 264px 24px 240px);
-}
-toolbar[iconsize="small"] #calendar-import-button:active {
-        -moz-image-region: rect(24px 264px 48px 240px);
-}
-toolbar[iconsize="small"] #calendar-import-button[disabled="true"] {
-        -moz-image-region: rect(48px 264px 72px 240px);
-}
-
-/*--------------------------------------------------------------------
- *   Button: "Export"
- *-------------------------------------------------------------------*/
-
-#calendar-export-button {
-        -moz-image-region: rect(0px 384px 32px 352px);
-}
-#calendar-export-button:active {
-        -moz-image-region: rect(32px 384px 64px 352px);
-}
-#calendar-export-button[disabled="true"] {
-        -moz-image-region: rect(64px 384px 96px 352px);
-}
-
-toolbar[iconsize="small"] #calendar-export-button {
-        -moz-image-region: rect(0px 288px 24px 264px);
-}
-toolbar[iconsize="small"] #calendar-export-button:active {
-        -moz-image-region: rect(24px 288px 48px 264px);
-}
-toolbar[iconsize="small"] #calendar-export-button[disabled="true"] {
-        -moz-image-region: rect(48px 288px 72px 264px);
-}
-
-/*--------------------------------------------------------------------
- *   Button: "Subscribe"
- *-------------------------------------------------------------------*/
-
-#calendar-subscribe-button {
-        -moz-image-region: rect(0px 416px 32px 384px);
-}
-#calendar-subscribe-button:active {
-        -moz-image-region: rect(32px 416px 64px 384px);
-}
-#calendar-subscribe-button[disabled="true"] {
-        -moz-image-region: rect(64px 416px 96px 384px);
-}
-
-toolbar[iconsize="small"] #calendar-subscribe-button {
-        -moz-image-region: rect(0px 312px 24px 288px);
-}
-toolbar[iconsize="small"] #calendar-subscribe-button:active {
-        -moz-image-region: rect(24px 312px 48px 288px);
-}
-toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"] {
-        -moz-image-region: rect(48px 312px 72px 288px);
-}
-
-/*--------------------------------------------------------------------
- *   Button: "Publish"
- *-------------------------------------------------------------------*/
-
-#calendar-publish-button {
-        -moz-image-region: rect(0px 448px 32px 416px);
-}
-#calendar-publish-button:active {
-        -moz-image-region: rect(32px 448px 64px 416px);
-}
-#calendar-publish-button[disabled="true"] {
-        -moz-image-region: rect(64px 448px 96px 416px);
-}
-
-toolbar[iconsize="small"] #calendar-publish-button {
-        -moz-image-region: rect(0px 336px 24px 312px);
-}
-toolbar[iconsize="small"] #calendar-publish-button:active {
-        -moz-image-region: rect(24px 336px 48px 312px);
-}
-toolbar[iconsize="small"] #calendar-publish-button[disabled="true"] {
-        -moz-image-region: rect(48px 336px 72px 312px);
-}
-
-/*--------------------------------------------------------------------
- *   Category button
- *-------------------------------------------------------------------*/
-
-#task-category-button {
-        -moz-image-region: rect(0px 736px 32px 704px);
-}
-#task-category-button:active {
-        -moz-image-region: rect(32px 736px 64px 704px);
-}
-
-#task-category-button[disabled="true"] {
-        -moz-image-region: rect(64px 736px 96px 704px);
-}
-
-
-/*--------------------------------------------------------------------
- *   Category button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #task-category-button {
-        -moz-image-region: rect(0px 552px 24px 528px);
-}
-toolbar[iconsize="small"] #task-category-button:active {
-        -moz-image-region: rect(24px 552px 48px 528px);
-}
-toolbar[iconsize="small"] #task-category-button[disabled="true"] {
-        -moz-image-region: rect(48px 552px 72px 528px);
-}
-
-
-/*--------------------------------------------------------------------
- *   Progress button
- *-------------------------------------------------------------------*/
-
-#task-progress-button {
-        -moz-image-region: rect(0px 768px 32px 736px);
-}
-#task-progress-button:active {
-        -moz-image-region: rect(32px 768px 64px 736px);
-}
-#task-progress-button[disabled="true"] {
-        -moz-image-region: rect(64px 768px 96px 736px);
-}
-
-/*--------------------------------------------------------------------
- *   Progress button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #task-progress-button {
-        -moz-image-region: rect(0px 576px 24px 552px);
-}
-toolbar[iconsize="small"] #task-progress-button:active {
-        -moz-image-region: rect(24px 576px 48px 552px);
-}
-toolbar[iconsize="small"] #task-progress-button[disabled="true"] {
-        -moz-image-region: rect(48px 576px 72px 552px);
-}
-
-/*--------------------------------------------------------------------
- *   Priority button
- *-------------------------------------------------------------------*/
-
-#task-priority-button {
-        -moz-image-region: rect(0px 800px 32px 768px);
-}
-#task-priority-button:active {
-        -moz-image-region: rect(32px 800px 64px 768px);
-}
-
-#task-priority-button[disabled="true"] {
-        -moz-image-region: rect(64px 800px 96px 768px);
-}
-
-
-/*--------------------------------------------------------------------
- *   Priority button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #task-priority-button {
-        -moz-image-region: rect(0px 600px 24px 576px);
-}
-toolbar[iconsize="small"] #task-priority-button:active {
-        -moz-image-region: rect(24px 600px 48px 576px);
-}
-toolbar[iconsize="small"] #task-priority-button[disabled="true"] {
-        -moz-image-region: rect(48px 600px 72px 576px);
-}
--- a/calendar/base/themes/winstripe/calendar-task-tree.css
+++ b/calendar/base/themes/winstripe/calendar-task-tree.css
@@ -35,17 +35,18 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 .calendar-task-tree {
     -moz-appearance: none;
     background-color: -moz-Field;
     color: -moz-FieldText;
-    border: none;
+    border: 0;
+    margin: 0;
 }
 
 .calendar-task-tree > treechildren::-moz-tree-cell-text(inprogress) {
     color: green;
 }
 
 .calendar-task-tree > treechildren::-moz-tree-row(inprogress, selected, focus) {
     background-color: green;
--- a/calendar/base/themes/winstripe/calendar-task-view.css
+++ b/calendar/base/themes/winstripe/calendar-task-view.css
@@ -31,32 +31,79 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
+#calendar-task-details-container {
+    border-top: 1px solid ThreeDShadow;
+    border-left: 1px solid ThreeDShadow;
+    border-right: 0px;
+    border-bottom: 0px;
+    overflow: hidden;
+}
+
+#calendar-header-name-column {
+    width: 7.7em;
+}
+
+#calendar-task-details-grid,
+#other-actions-box {
+    padding: 0.5em;
+    padding-left: 0;
+}
+
+#calendar-task-details {
+    min-height: 6ex;
+}
+
+#task-addition-box {
+    border-left: 1px solid ThreeDShadow;
+    border-right: 0px;
+}
+
+#calendar-task-details-description {
+    -moz-appearance: none;
+    border: 0;
+    margin: 0;
+    font-family: serif;
+    font-size: 16px;
+}
+
 .task-details-name {
-    font-weight: bold;
     text-align: right;
+    color: #888a85; /* lower contrast */
     background-color: transparent;
     border: none;
 }
 
+#calendar-task-details-grid > rows > .item-date-row > .headline {
+    font-weight: normal;
+    color: #888a85; /* lower contrast */
+}
+
 #calendar-task-details-attachment,
 .task-details-value {
     text-align: left;
     background-color: transparent;
     border: none;
+    color: black;
 }
 
 #calendar-task-tree {
     min-height: 98px;
+    -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+    -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+    -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+    border-left: 1px solid;
+    border-right: 1px solid;
+    border-bottom: 1px solid;
 }
 
 #calendar-task-tree > .calendar-task-tree > treechildren::-moz-tree-row {
     border-bottom: 1px dotted #AAA;
 }
 
 #calendar-task-tree > .calendar-task-tree > treechildren::-moz-tree-cell {
     border-right: 1px dotted #AAA;
@@ -70,27 +117,35 @@
 #view-task-edit-field {
     margin: 5px;
 }
 
 .task-edit-field[readonly="true"] {
     color: GrayText;
 }
 
-#calendar-task-details-grid-right {
-    -moz-margin-start: 3em;
-}
-
 #calendar-task-details-title {
     font-weight: bold;
 }
 
 #unifinder-task-edit-field {
-  margin: 3px;
+    margin: 3px;
 }
 
 #unifinder-todo-tree > .calendar-task-tree {
     margin-bottom: 3px;
 }
 
-#calendar-task-details-container {
-  overflow: hidden;
+#calendar-delete-task-button {
+    -moz-box-orient: vertical;
+    list-style-image: url(chrome://messenger/skin/icons/folder.png);
+    -moz-image-region: rect(0pt, 144px, 16px, 128px);
 }
+
+#calendar-add-task-button {
+    list-style-image: url(chrome://calendar/skin/toolbar-small.png);
+    -moz-image-region: rect(0px 16px 16px 0px);
+    -moz-margin-start: 5px;
+}
+
+#calendar-add-task-button > .toolbarbutton-text {
+    -moz-padding-start: 5px;
+}
deleted file mode 100644
--- a/calendar/base/themes/winstripe/calendar-toolbar.css
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
-# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is OEone Calendar Code, released October 31st, 2001.
-#
-# The Initial Developer of the Original Code is
-# OEone Corporation.
-# Portions created by the Initial Developer are Copyright (C) 2001
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): Garth Smedley <garths@oeone.com>
-#                 Mike Potter <mikep@oeone.com>
-#                 Karl Guertin <grayrest@grayrest.com>
-#                 Colin Phillips <colinp@oeone.com>
-#                 ArentJan Banck <ajbanck@planet.nl>
-#                 Eric Belhaire <belhaire@ief.u-psud.fr>
-#                 Mark Swaffer <swaff@fudo.org>
-#                 Christopher Cook <tangent@intraplanar.net>
-#                 Kevin Gerich <webmail@kmgerich.com>
-#                 Matthew Willis <mattwillis@gmail.com>
-#                 Simon Paquet <bugzilla@babylonsounds.com>
-#                 Martin Schroeder <mschroeder@mozilla.x-home.org>
-#                 Philipp Kewisch <mozilla@kewis.ch>
-#                 Berend Cornelius <berend.cornelius@sun.com>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-*/
-
-/*--------------------------------------------------------------------
- *   Primary toolbar buttons
- *-------------------------------------------------------------------*/
-
-.cal-toolbarbutton-1 {
-    -moz-box-orient: vertical;
-    min-width: 0px;
-    list-style-image: url("chrome://calendar/skin/toolbar-large.png");
-}
-
-.cal-toolbarbutton-1[type="menu"] {
-    -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-vertical");
-}
-
-toolbarbutton[type="menu-button"] {
-    -moz-box-orient: horizontal;
-}
-
-toolbarbutton[type="menu-button"] > toolbarbutton {
-    -moz-box-orient: vertical !important;
-}
-
-.cal-toolbarbutton-1,
-.cal-toolbarbutton-menubutton-button {
-   padding-top: 5px;
-   padding-bottom: 6px;
-   -moz-padding-start: 4px;
-   -moz-padding-end: 5px;
-}
-
-.cal-toolbarbutton-1:hover:active:not([disabled]),
-.cal-toolbarbutton-1[open="true"],
-.cal-toolbarbutton-menubutton-button:hover:active:not([disabled]),
-.cal-toolbarbutton-menubutton-button[open="true"] {
-   padding-top: 6px;
-   padding-bottom: 5px;
-   -moz-padding-start: 5px;
-   -moz-padding-end: 4px;
-}
- 
-.cal-toolbarbutton-1[checked="true"] {
-   padding-top: 6px !important;
-   padding-bottom: 5px !important;
-   -moz-padding-start: 5px !important;
-   -moz-padding-end: 4px !important;
-}
- 
- 
-.toolbarbutton-menu-dropmarker {
-   -moz-padding-start: 3px;
-}
-
-.cal-toolbarbutton-1 .toolbarbutton-icon {
-    -moz-margin-end: 0px;
-}
-
-toolbar[mode="full"] .cal-toolbarbutton-1 {
-    min-width: 55px;
-}
-
-/*--------------------------------------------------------------------
- *   Primary toolbar buttons - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] .cal-toolbarbutton-1 {
-    -moz-box-orient: vertical;
-    min-width: 0px;
-    list-style-image: url("chrome://calendar/skin/toolbar-small.png");
-}
-
-/*--------------------------------------------------------------------
- *   edit event button
- *-------------------------------------------------------------------*/
-
-#calendar-edit-button {
-    -moz-image-region: rect(0px 48px 24px 24px);
-}
-#calendar-edit-button[disabled="true"],
-#calendar-edit-button[disabled="true"]:hover,
-#calendar-edit-button[disabled="true"]:hover:active {
-    -moz-image-region: rect(48px 48px 72px 24px);
-}
-#calendar-edit-button:hover {
-    -moz-image-region: rect(24px 48px 48px 24px);
-}
-#calendar-edit-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   edit event button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #calendar-edit-button {
-    -moz-image-region: rect(0px 32px 16px 16px);
-}
-toolbar[iconsize="small"] #calendar-edit-button[disabled="true"],
-toolbar[iconsize="small"] #calendar-edit-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #calendar-edit-button[disabled="true"]:hover:active {
-    -moz-image-region: rect(32px 32px 48px 16px);
-}
-toolbar[iconsize="small"] #calendar-edit-button:hover {
-    -moz-image-region: rect(16px 32px 32px 16px);
-}
-toolbar[iconsize="small"] #calendar-edit-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Unifinder button
- *-------------------------------------------------------------------*/
-
-#calendar-unifinder-button {
-        -moz-image-region: rect(0px 528px 24px 504px);
-}
-#calendar-unifinder-button[disabled="true"],
-#calendar-unifinder-button[disabled="true"]:hover,
-#calendar-unifinder-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 528px 72px 504px);
-}
-#calendar-unifinder-button:hover {
-        -moz-image-region: rect(24px 528px 48px 504px);
-}
-#calendar-show-unifinder-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Unifinder button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #calendar-unifinder-button {
-        -moz-image-region: rect(0px 352px 16px 336px);
-}
-toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"],
-toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 352px 48px 336px);
-}
-toolbar[iconsize="small"] #calendar-unifinder-button:hover {
-        -moz-image-region: rect(16px 352px 32px 336px);
-}
-toolbar[iconsize="small"] #calendar-unifinder-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Import button
- *-------------------------------------------------------------------*/
-
-#calendar-import-button {
-        -moz-image-region: rect(0px 264px 24px 240px);
-}
-#calendar-import-button[disabled="true"],
-#calendar-import-button[disabled="true"]:hover,
-#calendar-import-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 264px 72px 240px);
-}
-#calendar-import-button:hover {
-        -moz-image-region: rect(24px 264px 48px 240px);
-}
-#calendar-import-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Import button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #calendar-import-button {
-        -moz-image-region: rect(0px 176px 16px 160px);
-}
-toolbar[iconsize="small"] #calendar-import-button[disabled="true"],
-toolbar[iconsize="small"] #calendar-import-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #calendar-import-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 176px 48px 160px);
-}
-toolbar[iconsize="small"] #calendar-import-button:hover {
-        -moz-image-region: rect(16px 176px 32px 160px);
-}
-toolbar[iconsize="small"] #calendar-import-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Export button
- *-------------------------------------------------------------------*/
-
-#calendar-export-button {
-        -moz-image-region: rect(0px 288px 24px 264px);
-}
-#calendar-export-button[disabled="true"],
-#calendar-export-button[disabled="true"]:hover,
-#calendar-export-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 288px 72px 264px);
-}
-#calendar-export-button:hover {
-        -moz-image-region: rect(24px 288px 48px 264px);
-}
-#calendar-export-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Export button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #calendar-export-button {
-        -moz-image-region: rect(0px 192px 16px 176px);
-}
-toolbar[iconsize="small"] #calendar-export-button[disabled="true"],
-toolbar[iconsize="small"] #calendar-export-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #calendar-export-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 192px 48px 176px);
-}
-toolbar[iconsize="small"] #calendar-export-button:hover {
-        -moz-image-region: rect(16px 192px 32px 176px);
-}
-toolbar[iconsize="small"] #calendar-export-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Subscribe button
- *-------------------------------------------------------------------*/
-
-#calendar-subscribe-button {
-        -moz-image-region: rect(0px 312px 24px 288px);
-}
-#calendar-subscribe-button[disabled="true"],
-#calendar-subscribe-button[disabled="true"]:hover,
-#calendar-subscribe-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 312px 72px 288px);
-}
-#calendar-subscribe-button:hover {
-        -moz-image-region: rect(24px 312px 48px 288px);
-}
-#calendar-subscribe-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Subscribe button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #calendar-subscribe-button {
-        -moz-image-region: rect(0px 208px 16px 192px);
-}
-toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"],
-toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 208px 48px 192px);
-}
-toolbar[iconsize="small"] #calendar-subscribe-button:hover {
-        -moz-image-region: rect(16px 208px 32px 192px);
-}
-toolbar[iconsize="small"] #calendar-subscribe-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Publish button
- *-------------------------------------------------------------------*/
-
-#calendar-publish-button {
-        -moz-image-region: rect(0px 336px 24px 312px);
-}
-#calendar-publish-button[disabled="true"],
-#calendar-publish-button[disabled="true"]:hover,
-#calendar-publish-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 336px 72px 312px);
-}
-#calendar-publish-button:hover {
-        -moz-image-region: rect(24px 336px 48px 312px);
-}
-#calendar-publish-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Publish button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #calendar-publish-button {
-        -moz-image-region: rect(0px 224px 16px 208px);
-}
-toolbar[iconsize="small"] #calendar-publish-button[disabled="true"],
-toolbar[iconsize="small"] #calendar-publish-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #calendar-publish-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 224px 48px 208px);
-}
-toolbar[iconsize="small"] #calendar-publish-button:hover {
-        -moz-image-region: rect(16px 224px 32px 208px);
-}
-toolbar[iconsize="small"] #calendar-publish-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Category button
- *-------------------------------------------------------------------*/
-
-#task-category-button {
-        -moz-image-region: rect(0px 552px 24px 528px);
-}
-#task-category-button[disabled="true"],
-#task-category-button[disabled="true"]:hover,
-#task-category-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 552px 72px 528px);
-}
-#task-category-button:hover {
-        -moz-image-region: rect(24px 552px 48px 528px);
-}
-#task-category-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Category button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #task-category-button {
-        -moz-image-region: rect(0px 368px 16px 352px);
-}
-toolbar[iconsize="small"] #task-category-button[disabled="true"],
-toolbar[iconsize="small"] #task-category-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #task-category-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 368px 48px 352px);
-}
-toolbar[iconsize="small"] #task-category-button:hover {
-        -moz-image-region: rect(16px 368px 32px 352px);
-}
-toolbar[iconsize="small"] #task-category-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Progress button
- *-------------------------------------------------------------------*/
-
-#task-progress-button {
-        -moz-image-region: rect(0px 576px 24px 552px);
-}
-
-#task-progress-button[disabled="true"],
-#task-progress-button[disabled="true"]:hover,
-#task-progress-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 576px 72px 552px);
-}
-#task-progress-button:hover {
-        -moz-image-region: rect(24px 576px 48px 552px);
-}
-#task-progress-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Progress button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #task-progress-button {
-        -moz-image-region: rect(0px 384px 16px 368px);
-}
-
-toolbar[iconsize="small"] #task-progress-button[disabled="true"],
-toolbar[iconsize="small"] #task-progress-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #task-progress-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 384px 48px 368px);
-}
-
-toolbar[iconsize="small"] #task-progress-button:hover {
-        -moz-image-region: rect(16px 384px 32px 368px);
-}
-
-toolbar[iconsize="small"] #task-progress-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Priority button
- *-------------------------------------------------------------------*/
-
-#task-priority-button {
-        -moz-image-region: rect(0px 600px 24px 576px);
-}
-#task-priority-button[disabled="true"],
-#task-priority-button[disabled="true"]:hover,
-#task-priority-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 600px 72px 576px);
-}
-#task-priority-button:hover {
-        -moz-image-region: rect(24px 600px 48px 576px);
-}
-#task-priority-button:hover:active {
-}
-
-/*--------------------------------------------------------------------
- *   Priority button - small
- *-------------------------------------------------------------------*/
-
-toolbar[iconsize="small"] #task-priority-button {
-        -moz-image-region: rect(0px 400px 16px 384px);
-}
-toolbar[iconsize="small"] #task-priority-button[disabled="true"],
-toolbar[iconsize="small"] #task-priority-button[disabled="true"]:hover,
-toolbar[iconsize="small"] #task-priority-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 400px 48px 384px);
-}
-toolbar[iconsize="small"] #task-priority-button:hover {
-        -moz-image-region: rect(16px 400px 32px 384px);
-}
-toolbar[iconsize="small"] #task-priority-button:hover:active {
-}
deleted file mode 100644
--- a/calendar/lightning/content/lightning-common-sets.js
+++ /dev/null
@@ -1,110 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Sun Microsystems code.
- *
- * The Initial Developer of the Original Code is
- *   Philipp Kewisch <mozilla@kewis.ch>
- * Portions created by the Initial Developer are Copyright (C) 2008
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-var lightningCommandController = {
-
-    commands: {
-        "lightning_modify_item_command": true
-    },
-
-    updateCommands: function lCC_updateCommands() {
-        // Update commands. This function does not use |this|, so it can be used
-        // for an event listener.
-        for (var command in lightningCommandController.commands) {
-            goUpdateCommand(command);
-        }
-    },
-
-    supportsCommand: function lCC_supportsCommand(aCommand) {
-        return (aCommand in this.commands);
-    },
-
-    isCommandEnabled: function lCC_isCommandEnabled(aCommand) {
-        switch (aCommand) {
-            case "lightning_modify_item_command":
-                return this.callFunctionByMode(calendarController.isCommandEnabled,
-                                               "calendar_modify_todo_command",
-                                               "calendar_modify_event_command");
-        }
-        return false;
-    },
-
-    doCommand: function lCC_doCommand(aCommand) {
-        switch (aCommand) {
-            case "lightning_modify_item_command":
-                this.callFunctionByMode(calendarController.doCommand,
-                                        "calendar_modify_todo_command",
-                                        "calendar_modify_event_command");
-                break;
-        }
-    },
-
-    /**
-     * Helper function to call a function of the calendarController with an
-     * argument which depends on if task or calendar mode is enabled.
-     */
-    callFunctionByMode: function lCC_callFunctionByMode(aFunc, aTaskModeArg, aCalendarModeArg) {
-        if (gCurrentMode == "task") {
-            return aFunc.call(calendarController, aTaskModeArg);
-        } else if (gCurrentMode == "calendar") {
-            return aFunc.call(calendarController, aCalendarModeArg);
-        }
-        return null;
-    }
-};
-
-function injectLightningController() {
-    // The order of this command controller is not important.
-    top.controllers.insertControllerAt(0, lightningCommandController);
-    document.commandDispatcher.updateCommands("calendar_commands");
-
-    // In addition to whatever the base command controller does on an update, we
-    // need to update lightning commands.
-    document.getElementById("calendar_commands")
-            .addEventListener("commandupdate",
-                              lightningCommandController.updateCommands,
-                              false);
-}
-
-function finishLightningController() {
-    document.getElementById("calendar_commands")
-            .removeEventListener("commandupdate",
-                                 lightningCommandController.updateCommands,
-                                 false);
-}
-
-window.addEventListener("load", injectLightningController, false);
-window.addEventListener("unload", finishLightningController, false);
deleted file mode 100755
--- a/calendar/lightning/content/lightning-toolbar.inc
+++ /dev/null
@@ -1,77 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is calendar views.
-#
-# The Initial Developer of the Original Code is Oracle Corporation
-# Portions created by the Initial Developer are Copyright (C) 2005
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): Mike Shaver <shaver@mozilla.org>
-#                 Stuart Parmenter <stuart.parmenter@oracle.com>
-#                 Vladimir Vukicevic <vladimir@pobox.com>
-#                 Simon Paquet <bugzilla@babylonsounds.com>
-#                 Berend Cornelius <berend.cornelius@sun.com>
-#                 Philipp Kewisch <mozilla@kewis.ch>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-<toolbarbutton id="calendar-edit-button"
-               mode="calendar"
-               class="cal-toolbarbutton-1"
-               label="&calendar.edit.button.label;"
-               tooltiptext="&calendar.edit.button.tooltip;"
-               observes="lightning_modify_item_command"/>
-<toolbarbutton id="task-category-button"
-               type="menu"
-               mode="task"
-               class="cal-toolbarbutton-1"
-               label="&calendar.unifinder.tree.categories.label;"
-               tooltiptext="&calendar.task.category.button.tooltip;"
-               command="calendar_task_category_command"
-               observes="calendar_task_category_command">
-   <menupopup onpopupshowing="addCategoryNames(event)"/>
-</toolbarbutton>
-<toolbarbutton id="task-progress-button"
-               type="menu-button"
-               autoCheck="false"
-               mode="task"
-               class="cal-toolbarbutton-1"
-               label="&calendar.context.markcompleted.label;"
-               tooltiptext="&calendar.task.complete.button.tooltip;"
-               command="calendar_percentComplete-100_command2"
-               observes="calendar_percentComplete-100_command2">
-        <menupopup type="task-progress"/>
-</toolbarbutton>
-<toolbarbutton id="task-priority-button"
-               type="menu"
-               mode="task"
-               class="cal-toolbarbutton-1"
-               label="&calendar.context.priority.label;"
-               tooltiptext="&calendar.task.priority.button.tooltip;"
-               command="calendar_general-priority_command"
-               observes="calendar_general-priority_command">
-        <menupopup type="task-priority"/>
-</toolbarbutton>
--- a/calendar/lightning/content/messenger-overlay-sidebar.js
+++ b/calendar/lightning/content/messenger-overlay-sidebar.js
@@ -144,24 +144,16 @@ function ltnOnLoad(event) {
 
     // Add an unload function to the window so we don't leak any listeners
     window.addEventListener("unload", ltnFinish, false);
 
     // Set up invitations manager
     scheduleInvitationsUpdate(FIRST_DELAY_STARTUP);
     getCalendarManager().addObserver(gInvitationsCalendarManagerObserver);
 
-    // set up the calendar toolbox
-    var toolbox = document.getElementById("calendar-toolbox");
-    toolbox.customizeDone = function(aEvent) { MailToolboxCustomizeDone(aEvent, "CustomizeMailToolbar"); };
-
-    var toolbarset = document.getElementById('calendar-custom-toolbars');
-    toolbox.toolbarset = toolbarset;
-
-
     var filter = document.getElementById("task-tree-filtergroup");
     filter.value = filter.value || "all";
     document.getElementById("modeBroadcaster").setAttribute("mode", gCurrentMode);
 }
 
 /* Called at midnight to tell us to redraw date-specific widgets.  Do NOT call
  * this for normal refresh, since it also calls scheduleMidnightRefresh.
  */
@@ -338,18 +330,16 @@ function ltnInitializeMenus(){
     prefMenu.setAttribute("mode", "system");
     quitMenu = document.getElementById("menu_FileQuitItem");
     quitMenu.setAttribute("mode", "system");
 #endif
     copyPopupMenus();
     ltnRemoveMailOnlyItems(calendarpopuplist, "calendar");
     ltnRemoveMailOnlyItems(taskpopuplist, "task");
     document.getElementById("modeBroadcaster").setAttribute("checked", true);
-    document.getElementById("calendar-toolbar").setAttribute("collapsed", gCurrentMode!="calendar");
-    document.getElementById("task-toolbar").setAttribute("collapsed", gCurrentMode!="task");
 }
 
 function getMenuElementById(aElementId, aMenuPopup) {
         var element = null;
         var elements = aMenuPopup.getElementsByAttribute("id", aElementId);
         if (elements.length > 0) {
             element = elements[0];
         }
--- a/calendar/lightning/content/messenger-overlay-sidebar.xul
+++ b/calendar/lightning/content/messenger-overlay-sidebar.xul
@@ -326,35 +326,16 @@
                     type="radio"
                     oncommand="TodayPane.displayMiniSection(3)"
                     label="&todaypane.showNone.label;"
                     accesskey="&todaypane.showNone.accesskey;"/>
         </menupopup>
       </menu>
    </menupopup>
 
- <menupopup id="view_toolbars_popup">
-   <menuitem id="ltnCalendarToolbar"
-             type="checkbox"
-             label="&calendar.toolbar.label;"
-             accesskey="&calendar.toolbar.accesskey;"
-             mode="calendar"
-             command="cmd_toggleCalendarToolbar"
-             observes="cmd_toggleCalendarToolbar"
-             position="1"/>
-   <menuitem id="ltnTaskToolbar"
-             type="checkbox"
-             label="&task.toolbar.label;"
-             accesskey="&task.toolbar.accesskey;"
-             mode="task"
-             command="cmd_toggleTaskToolbar"
-             observes="cmd_toggleTaskToolbar"
-             position="2"/>
-  </menupopup>
-
 <window id="messengerWindow">
 
   <broadcasterset id="calendar_broadcasters">
     <broadcaster id="filterBroadcaster" value="all"/>
   </broadcasterset>
 
   <!-- Be sure to keep these sets, since they will be overlayed by
        calendar/base/content/calendar-common-sets.xul -->
@@ -366,22 +347,16 @@
     <command id="switch2calendar"
       oncommand="document.getElementById('tabmail').openTab('calendar', document.getElementById('calendar-tab-button').getAttribute('tooltiptext'))"/>
     <command id="switch2task"
       oncommand="document.getElementById('tabmail').openTab('tasks', document.getElementById('task-tab-button').getAttribute('tooltiptext'))"/>
     <command id="new_calendar_tab"
       oncommand="document.getElementById('tabmail').openTab('calendar', document.getElementById('calendar-tab-button').getAttribute('tooltiptext'))"/>
     <command id="new_task_tab"
       oncommand="document.getElementById('tabmail').openTab('tasks', document.getElementById('task-tab-button').getAttribute('tooltiptext'))"/>
-    <command id="cmd_toggleCalendarToolbar" oncommand="toggleControlinMode('cmd_toggleCalendarToolbar', 'calendar-toolbar')"/>
-    <command id="cmd_toggleTaskToolbar" oncommand="toggleControlinMode('cmd_toggleTaskToolbar', 'task-toolbar')"/>
-    <command id="calendar-delete-command" oncommand="ltnDeleteSelectedItem()" disabledwhennoeventsselected="true"/>
-    <command id="calendar_new_todo_command" oncommand="createTodoWithDialog(getSelectedCalendar());"/>
-
-    <command id="lightning_modify_item_command" oncommand="goDoCommand('lightning_modify_item_command');"/>
   </commandset>
 
   <keyset id="calendar-keys">
     <key id="openLightningKey" modifiers="accel" key="3" observes="new_calendar_tab"/>
     <key id="openTasksKey" modifiers="accel" key="4" command="new_task_tab"/>
     <key id="todaypanekey" command="calendar_toggle_todaypane_command" keycode="VK_F11"/>
     <key id="calendar-new-event-key" key="&lightning.keys.event.new;" modifiers="accel" command="calendar_new_event_command"/>
     <key id="calendar-new-todo-key" key="&lightning.keys.todo.new;" modifiers="accel" command="calendar_new_todo_command"/>
@@ -467,17 +442,16 @@
 <box id="tabmail-buttons">
   <toolbarbutton id="calendar-tab-button" command="new_calendar_tab"
     tooltiptext="&lightning.toolbar.calendar.label;"/>
   <toolbarbutton id="task-tab-button" command="new_task_tab"
     tooltiptext="&lightning.toolbar.task.label;"/>
 </box>
 <tabpanels id="tabpanelcontainer">
   <vbox id="calendarTabPanel" orientation="vertical">
-    <toolbox id="calendar-toolbox" class="toolbox-top"/>
     <box id="calendarContent" orientation="horizontal" flex="1">
       <vbox id="ltnSidebar"
             minwidth="100"
             width="200"
             persist="collapsed width"
             ondraggesture="nsDragAndDrop.startDrag(event, calendarViewDNDObserver);"
             ondragover="nsDragAndDrop.dragOver(event, calendarViewDNDObserver);"
             ondragdrop="nsDragAndDrop.drop(event, calendarViewDNDObserver);">
--- a/calendar/lightning/content/messenger-overlay-toolbar.js
+++ b/calendar/lightning/content/messenger-overlay-toolbar.js
@@ -88,21 +88,16 @@ function ltnSwitch2Calendar() {
     switch2mail.removeAttribute("checked");
     switch2calendar.setAttribute("checked", "true");
     switch2task.removeAttribute("checked");
 
     gCurrentMode = 'calendar';    
     swapPopupMenus();
     document.getElementById("modeBroadcaster").setAttribute("mode", gCurrentMode);    
 
-    toggleControlDisplay("cmd_toggleCalendarToolbar", "calendar-toolbar", "calendar");
-    toggleControlDisplay("cmd_toggleTaskToolbar", "task-toolbar", "task");
-    var taskToolbar = document.getElementById("task-toolbar");
-    taskToolbar.setAttribute("collapsed", "true");
-
     // display the calendar panel on the display deck
     var viewBox = document.getElementById("calendar-view-box");
     uncollapseElement(viewBox);
     var deck = document.getElementById("calendarDisplayDeck");
     deck.selectedPanel = viewBox;
 
     // show the last displayed type of calendar view
     showCalendarView(gLastShownCalendarView);
@@ -121,202 +116,23 @@ function ltnSwitch2Task() {
   if (gCurrentMode != 'task') {
     var switch2mail = document.getElementById("switch2mail");
     var switch2calendar = document.getElementById("switch2calendar");
     var switch2task = document.getElementById("switch2task");
     switch2mail.removeAttribute("checked");
     switch2calendar.removeAttribute("checked");
     switch2task.setAttribute("checked", "true");
 
-    toggleControlDisplay("cmd_toggleCalendarToolbar", "calendar-toolbar", "calendar");
-    toggleControlDisplay("cmd_toggleTaskToolbar", "task-toolbar", "task");
     gCurrentMode = 'task';
     swapPopupMenus();
     document.getElementById("modeBroadcaster").setAttribute("mode", gCurrentMode);    
-    var calendarToolbar = document.getElementById("calendar-toolbar");
-    calendarToolbar.setAttribute("collapsed", "true");
 
     // display the task panel on the display deck
     var taskBox = document.getElementById("calendar-task-box");
     uncollapseElement(taskBox);
     var deck = document.getElementById("calendarDisplayDeck");
     deck.selectedPanel = taskBox;
 
     document.commandDispatcher.updateCommands('calendar_commands');
 
     window.setCursor("auto");
   }
 }
-
-/**
- * CustomizeApplicationToolbar() is called to customize one of the toolbars.
- * the appropriate identifier is passed as argument to the function.
- */
-
-// this shadows CustomizeMailToolbar from mail/base/content/mailCore.js
-// but adds the specific bits and pieces for lightning.
-function CustomizeCalendarToolbar(id) {
-  // the following code operates different whether
-  // or not we're actually customizing the mode toolbar or
-  // any other toolbar.
-  gCustomizeId = id;
-  var modeName = gCurrentMode;
-
-  // retrieve the toolbars from the tree
-  var calendarbox = document.getElementById('calendar-toolbox');
-  var calendarbar = document.getElementById('calendar-toolbar');
-  var taskbar = document.getElementById('task-toolbar');
-
-  var customizePopup = document.getElementById("CustomizeMailToolbar");
-  customizePopup.setAttribute("disabled", "true");
-
-  var wintype = document.documentElement.getAttribute("windowtype");
-  wintype = wintype.replace(/:/g, "");
-
-  // lightning install a new dropdown list in the customize dialog
-  // which allows to switch to all available toolbars while still
-  // being in the dialog. in case a new entry has been selected this
-  // function will be called. the argument will "mode", "mail",
-  // "calendar" or "task".
-  var onModeSwitch = function switchHandler(aMode) {
-
-    // assume that we're switching to the mode toolbar
-    var toolbox = 'mode-toolbox';
-
-    // check which toolbar is to be customized next
-    // and possibly switch the the appropriate mode.
-    if (aMode == 'calendar') {
-      ltnSwitch2Calendar();
-      toolbox = 'calendar-toolbox';
-    } else if(aMode == 'task') {
-      ltnSwitch2Task();
-      toolbox = 'calendar-toolbox';
-    }
-
-    // enable/disable all toolbar to reflect the new state
-    var isMode = (aMode == 'mode');
-    EnableDisableHierarchy(modebar, !isMode);
-    EnableDisableHierarchy(menubar, isMode);
-    EnableDisableHierarchy(mailbar, isMode);
-    EnableDisableHierarchy(calendarbar, isMode);
-    EnableDisableHierarchy(taskbar, isMode);
-
-    // remember the current toolbox
-    gCustomizeId = toolbox;
-
-    // return this appropriate toolbox element
-    return document.getElementById(toolbox);
-  };
-
-  // open the customize toolbar dialog now...
-  window.openDialog("chrome://global/content/customizeToolbar.xul",
-                    "CustomizeToolbar"+wintype,
-                    "chrome,all,dependent",
-                      document.getElementById(id),  // toolbar dom node
-                      isModeToolbox,                // is mode toolbar yes/no?
-                      onModeSwitch,                 // callback function
-                      modeName);                    // name of this mode
-}
-
-/**
- * ModeToolboxCustomizeDone() is called after the customize toolbar dialog
- * has been closed by the user. We need to restore the state of all buttons
- * and commands of all customizable toolbars.
- */
-
-function ModeToolboxCustomizeDone(aToolboxChanged) {
-  // the following code operates different whether
-  // or not we're actually customizing the mode toolbar or
-  // any other toolbar.
-  var isModeToolbox = (gCustomizeId == 'mode-toolbox');
-
-  // enable elements on the toolbars
-  if (isModeToolbox) {
-    EnableDisableHierarchy(document.getElementById('mail-menubar'), false);
-    EnableDisableHierarchy(getMailBar(), false);
-    EnableDisableHierarchy(document.getElementById('calendar-toolbar'), false);
-    EnableDisableHierarchy(document.getElementById('task-toolbar'), false);
-  }
-
-  // Unconditionally enable the mode toolbar
-  EnableHierarchy(document.getElementById('mode-toolbar'));
-
-  // Update global UI elements that may have been added or removed
-  MailToolboxCustomizeDone(aToolboxChanged);
-
-  // make sure our toolbar buttons have the correct enabled state restored to them...
-  document.commandDispatcher.updateCommands('calendar_commands');
-}
-
-/**
- * EnableDisableHierarchy() recursively walks the dom tree and enables or disables
- * all elements it encounters. this function is used by ModeToolboxCustomizeDone()
- * and CustomizeApplicationToolbar().
- */
-
-// step along the hierarchy where the top-node is to be passed
-// as argument and enable/disable all nodes depending on the given flag.
-function EnableDisableHierarchy(item, disable) {
-  // iterate all nodes on this particular level
-  for (var i = 0; i < item.childNodes.length; ++i) {
-
-    // retrieve the next node that needs to be processed
-    var child = item.childNodes[i];
-
-    // disable this node if flag indicates this case, enable otherwise
-    if (disable) {
-
-      // in case this node has already been disabled, we remember
-      // this fact in the 'itemdisabled' attribute in order
-      // to restore the original state at the end of the operation.
-      if (child.getAttribute("disabled") == "true") {
-        child.setAttribute("itemdisabled", "true");
-      }
-      child.setAttribute("disabled","true");
-
-    } else {
-
-      // restore the previous state, which means either enable
-      // the node or keep it disabled but remove the
-      // 'itemdisabled' attribute.
-      if(child.hasAttribute("itemdisabled")) {
-        child.removeAttribute("itemdisabled");
-      } else {
-        child.removeAttribute("disabled");
-      }
-    }
-
-    // recursively step down the hierarchy if this node
-    // exposes any further child nodes.
-    if (child.childNodes.length > 0) {
-      EnableDisableHierarchy(child, disable);
-    }
-  }
-}
-
-/**
- * EnableHierarchy() recursively walks the dom tree and enables
- * all elements it encounters. this function is used by ModeToolboxCustomizeDone().
- */
-
-// step along the hierarchy where the top-node is to be passed
-// as argument and enable all nodes unconditionally.
-function EnableHierarchy(item) {
-  // iterate all nodes on this particular level
-  for (var i = 0; i < item.childNodes.length; ++i) {
-
-    // retrieve the next node that needs to be processed
-    var child = item.childNodes[i];
-
-    // always enable this node and remove the
-    // 'itemdisabled' attribute.
-    if (child.hasAttribute("itemdisabled")) {
-      child.removeAttribute("itemdisabled");
-    }
-    child.removeAttribute("disabled");
-
-    // recursively step down the hierarchy if this node
-    // exposes any further child nodes.
-    if (child.childNodes.length > 0) {
-      EnableHierarchy(child);
-    }
-  }
-}
--- a/calendar/lightning/content/messenger-overlay-toolbar.xul
+++ b/calendar/lightning/content/messenger-overlay-toolbar.xul
@@ -37,41 +37,31 @@
    - decision by deleting the provisions above and replace them with the notice
    - and other provisions required by the GPL or the LGPL. If you do not delete
    - the provisions above, a recipient may use your version of this file under
    - the terms of any one of the MPL, the GPL or the LGPL.
    -
    - ***** END LICENSE BLOCK ***** -->
 
 <!DOCTYPE overlay [
-  <!ENTITY % messengerDTD SYSTEM "chrome://messenger/locale/messenger.dtd">
-  %messengerDTD;
   <!ENTITY % mailOverlayDTD SYSTEM "chrome://messenger/locale/mailOverlay.dtd">
   %mailOverlayDTD;
   <!ENTITY % lightningDTD SYSTEM "chrome://lightning/locale/lightning.dtd">
   %lightningDTD;
   <!ENTITY % calendarDTD SYSTEM "chrome://calendar/locale/calendar.dtd" >
   %calendarDTD;
 ]>
 
-<?xml-stylesheet href="chrome://calendar/skin/calendar-toolbar.css" type="text/css"?>
 <?xml-stylesheet href="chrome://lightning/skin/lightning.css" type="text/css"?>
 
 <overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
   <script type="application/javascript"
           src="chrome://lightning/content/messenger-overlay-toolbar.js"/>
 
-  <popup id="toolbar-context-menu">
-    <menuitem id="CustomizeMailToolbar"
-              label="&customizeToolbar.label;"
-              accesskey="&customizeToolbar.accesskey;"
-              oncommand="CustomizeApplicationToolbar('mail-toolbox');"/>
-  </popup>
-
   <popup id="messagePaneContext">
     <menu id="messagePaneContext-calendar-convert-menu"
           insertafter="messagePaneContext-moveMenu"
           label="&calendar.context.convertmenu.label;"
           accesskey="&calendar.context.convertmenu.accesskey.mail;">
       <menupopup id="messagePaneContext-calendar-convert-menupopup">
         <menuitem id="messagePaneContext-calendar-convert-event-menuitem"
                   label="&calendar.context.convertmenu.event.label;"
@@ -97,55 +87,16 @@
         <menuitem id="threadPaneContext-calendar-convert-task-menuitem"
                   label="&calendar.context.convertmenu.task.label;"
                   accesskey="&calendar.context.convertmenu.task.accesskey;"
                   oncommand="calendarTaskButtonDNDObserver.onDropMessage(messenger.msgHdrFromURI(GetFirstSelectedMessage()))"/>
       </menupopup>
     </menu>
   </popup>
 
-  <window id="messengerWindow">
-    <popup id="calendar-toolbar-context-menu"
-           onpopupshowing="onViewToolbarsPopupShowing(event, 'calendar-toolbox');">
-      <menuitem id="CustomizeCalendarToolbar"
-                oncommand="CustomizeMailToolbar('calendar-toolbox', 'CustomizeMailToolbar');"
-            label="&customizeToolbar.label;"
-                accesskey="&customizeToolbar.accesskey;"/>
-    </popup>
-  </window>
-
-  <toolbox id="calendar-toolbox">
-    <toolbarpalette id="CalendarToolbarPalette">
-  <!-- All toolbar buttons that messenger-overlay-toolbar.xul wishes to include
-     *must* go either into the calendar-toolbar.inc file (all toolbar buttons
-     shared with Sunbird) or lightning-toolbar.inc file (toolbar buttons
-     relevant only for Lightning). -->
-#include ../../base/content/calendar-toolbar.inc
-#include lightning-toolbar.inc
-  </toolbarpalette>
-  
-    <toolbar id="calendar-toolbar"
-             class="chromeclass-toolbar"
-             customizable="true"
-             context="calendar-toolbar-context-menu"
-             collapsed="true"
-             collapsedinMode="false"
-             defaultset="calendar-unifinder-button,spring"
-             persist="collapsedinMode"/>
-    <toolbar id="task-toolbar"
-             class="chromeclass-toolbar"
-             customizable="true"
-             context="calendar-toolbar-context-menu"
-             collapsed="true"
-             collapsedinMode="false"
-             defaultset="task-category-button,task-progress-button,task-priority-button,separator,spring"
-             persist="collapsedinMode"/>
-    <toolbarset id="calendar-custom-toolbars"/>
-  </toolbox>
-
   <toolbarbutton id="button-newmsg"
                  type="menu-button">
     <menupopup id="button-newmsg-menupopup">
       <menuitem id="newMsgButton-mail-menuitem"
                 label="&newMessageCmd.label;"
                 class="menuitem-iconic"
                 oncommand="event.stopPropagation(); MsgNewMessage(event)"/>
       <menuitem id="newMsgButton-calendar-menuitem"
deleted file mode 100644
--- a/calendar/lightning/content/toolkit-overlay-custombar.xul
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- ***** BEGIN LICENSE BLOCK *****
-   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
-   -
-   - The contents of this file are subject to the Mozilla Public License Version
-   - 1.1 (the "License"); you may not use this file except in compliance with
-   - the License. You may obtain a copy of the License at
-   - http://www.mozilla.org/MPL/
-   -
-   - Software distributed under the License is distributed on an "AS IS" basis,
-   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-   - for the specific language governing rights and limitations under the
-   - License.
-   -
-   - The Original Code is Lightning code.
-   -
-   - The Initial Developer of the Original Code is
-   -    Joey Minta <jminta@gmail.com>
-   - Portions created by the Initial Developer are Copyright (C) 2005
-   - the Initial Developer. All Rights Reserved.
-   -
-   - Contributor(s):
-   -
-   - Alternatively, the contents of this file may be used under the terms of
-   - either the GNU General Public License Version 2 or later (the "GPL"), or
-   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-   - in which case the provisions of the GPL or the LGPL are applicable instead
-   - of those above. If you wish to allow use of your version of this file only
-   - under the terms of either the GPL or the LGPL, and not to allow others to
-   - use your version of this file under the terms of the MPL, indicate your
-   - decision by deleting the provisions above and replace them with the notice
-   - and other provisions required by the GPL or the LGPL. If you do not delete
-   - the provisions above, a recipient may use your version of this file under
-   - the terms of any one of the MPL, the GPL or the LGPL.
-   -
-   - ***** END LICENSE BLOCK ***** -->
-
-<?xml-stylesheet type="text/css" href="chrome://calendar/skin/calendar-toolbar.css"?>
-<?xml-stylesheet type="text/css" href="chrome://calendar/skin/calendar-event-dialog.css"?>
-
-<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" />
--- a/calendar/lightning/jar.mn
+++ b/calendar/lightning/jar.mn
@@ -15,42 +15,39 @@ lightning.jar:
 % overlay chrome://messenger/content/preferences/preferences.xul chrome://calendar/content/preferences/timezones.xul
 % overlay chrome://messenger/content/preferences/preferences.xul chrome://calendar/content/preferences/views.xul
 % overlay chrome://messenger/content/mailWindowOverlay.xul chrome://lightning/content/messenger-overlay-toolbar.xul
 % overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://calendar/content/calendar-unifinder.xul
 % overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://calendar/content/calendar-unifinder-todo.xul
 % overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://calendar/content/calendar-task-view.xul
 % overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://calendar/content/today-pane.xul
 % overlay chrome://lightning/content/lightning-standalone.xul chrome://lightning/content/messenger-overlay-sidebar.xul
-% overlay chrome://global/content/customizeToolbar.xul chrome://lightning/content/toolkit-overlay-custombar.xul
 % overlay chrome://calendar/content/calendarCreation.xul chrome://lightning/content/lightning-calendar-creation.xul
 % overlay chrome://calendar/content/calendar-properties-dialog.xul chrome://lightning/content/lightning-calendar-properties.xul
 % content lightning %content/lightning/
     content/lightning/imip-bar.js                          (content/imip-bar.js)
     content/lightning/imip-bar-overlay.xul                 (content/imip-bar-overlay.xul)
     content/lightning/lightning-calendar-creation.xul      (content/lightning-calendar-creation.xul)
     content/lightning/lightning-calendar-creation.js       (content/lightning-calendar-creation.js)
     content/lightning/lightning-calendar-properties.xul    (content/lightning-calendar-properties.xul)
     content/lightning/lightning-calendar-properties.js     (content/lightning-calendar-properties.js)
-    content/lightning/lightning-common-sets.js             (content/lightning-common-sets.js)
     content/lightning/lightning-migration.xul              (content/lightning-migration.xul)
     content/lightning/lightning-standalone.xul             (content/lightning-standalone.xul)
     content/lightning/lightning-utils.js                   (content/lightning-utils.js)
     content/lightning/lightning-widgets.css                (content/lightning-widgets.css)
     content/lightning/lightning-widgets.xml                (content/lightning-widgets.xml)
     content/lightning/messenger-overlay-sidebar.css        (content/messenger-overlay-sidebar.css)
     content/lightning/messenger-overlay-accountCentral.xul (content/messenger-overlay-accountCentral.xul)
     content/lightning/messenger-overlay-messageWindow.xul  (content/messenger-overlay-messageWindow.xul)
 *   content/lightning/messenger-overlay-sidebar.js         (content/messenger-overlay-sidebar.js)
 *   content/lightning/messenger-overlay-sidebar.xul        (content/messenger-overlay-sidebar.xul)
     content/lightning/messenger-overlay-preferences.js     (content/messenger-overlay-preferences.js)
     content/lightning/messenger-overlay-preferences.xul    (content/messenger-overlay-preferences.xul)
     content/lightning/messenger-overlay-toolbar.js         (content/messenger-overlay-toolbar.js)
 *   content/lightning/messenger-overlay-toolbar.xul        (content/messenger-overlay-toolbar.xul)
-    content/lightning/toolkit-overlay-custombar.xul        (content/toolkit-overlay-custombar.xul)
 % skin lightning classic/1.0 %skin/lightning/
     skin/lightning/imip.css                                (themes/@THEME@/imip.css)
     skin/lightning/lightning.css                           (themes/@THEME@/lightning.css)
     skin/lightning/accountCentral.css                      (themes/@THEME@/accountCentral.css)
     skin/lightning/lightning-widgets.css                   (themes/@THEME@/lightning-widgets.css)
 
 calendar.jar:
     content/calendar/calendarCreation.xul                  (/calendar/resources/content/calendarCreation.xul)
--- a/calendar/locales/en-US/chrome/calendar/calendar.dtd
+++ b/calendar/locales/en-US/chrome/calendar/calendar.dtd
@@ -46,19 +46,18 @@
 <!ENTITY calendar.calendar.label     "Calendar">
 <!ENTITY calendar.calendar.accesskey "C">
 
 <!ENTITY calendar.dayView.key                  "1" >
 <!ENTITY calendar.weekView.key                 "2" >
 <!ENTITY calendar.multiweekView.key            "3" >
 <!ENTITY calendar.monthView.key                "4" >
 
+<!ENTITY calendar.newevent.button.tooltip         "Create a new event" >
 <!ENTITY calendar.newtask.button.tooltip          "Create a new task" >
-<!ENTITY calendar.newevent.button.tooltip         "Create a new event" >
-<!ENTITY calendar.edit.button.tooltip             "Edit selected event" >
 
 <!ENTITY calendar.unifinder.todoitems.label       "Tasks" >
 <!ENTITY calendar.unifinder.showcompletedtodos.label "Show completed Tasks">
 
 <!ENTITY calendar.today.button.label       "Today">
 <!ENTITY calendar.tomorrow.button.label       "Tomorrow">
 <!ENTITY calendar.soon.button.label           "Soon">
 
@@ -83,48 +82,35 @@
 <!ENTITY calendar.unifinder.tree.location.label      "Location">
 <!ENTITY calendar.unifinder.tree.status.label        "Status">
 <!ENTITY calendar.unifinder.tree.calendarname.label  "Calendar Name">
 <!ENTITY calendar.unifinder.tree.duration.label      "Due in">
 <!ENTITY calendar.unifinder.close.tooltip            "Close event search and event list">
 
 <!ENTITY calendar.today.button.tooltip            "Go to today" >
 <!ENTITY calendar.todaypane.button.tooltip        "Show Today pane" >
-<!ENTITY calendar.unifinder.button.tooltip        "Find and list events" >
 
 <!ENTITY calendar.day.button.tooltip            "Switch to day view" >
 <!ENTITY calendar.week.button.tooltip           "Switch to week view" >
 <!ENTITY calendar.month.button.tooltip          "Switch to month view" >
 <!ENTITY calendar.multiweek.button.tooltip      "Switch to multiweek view" >
 
 <!ENTITY calendar.nextday.button.tooltip        "Next Day" >
 <!ENTITY calendar.prevday.button.tooltip        "Previous Day" >
 <!ENTITY calendar.nextweek.button.tooltip       "Next Week" >
 <!ENTITY calendar.prevweek.button.tooltip       "Previous Week" >
 <!ENTITY calendar.nextmonth.button.tooltip      "Next Month" >
 <!ENTITY calendar.prevmonth.button.tooltip      "Previous Month" >
 
+<!ENTITY calendar.newevent.button.label         "New Event" >
 <!ENTITY calendar.newtask.button.label          "New Task" >
-<!ENTITY calendar.newevent.button.label         "New Event" >
-<!ENTITY calendar.edit.button.label             "Edit" >
 <!ENTITY calendar.print.button.label            "Print" >
 
-<!ENTITY calendar.import.button.tooltip            "Import events from a local file" >
-<!ENTITY calendar.export.button.tooltip            "Export events to a local file" >
-<!ENTITY calendar.subscribe.button.tooltip         "Subscribe to a calendar file on a remote machine" >
-<!ENTITY calendar.publish.button.tooltip           "Publish events to a remote machine" >
-
 <!ENTITY calendar.export.calendar                "Export Calendar…" >
 
-<!ENTITY calendar.import.button.label              "Import" >
-<!ENTITY calendar.export.button.label              "Export" >
-<!ENTITY calendar.subscribe.button.label           "Subscribe" >
-<!ENTITY calendar.publish.button.label             "Publish" >
-<!ENTITY calendar.unifinder.button.label           "Find Events" >
-
 <!ENTITY calendar.day.button.label              "Day" >
 <!ENTITY calendar.week.button.label             "Week" >
 <!ENTITY calendar.month.button.label            "Month" >
 <!ENTITY calendar.multiweek.button.label        "Multiweek" >
 <!ENTITY calendar.onlyworkday.checkbox.label    "Workweek days only" >
 <!ENTITY calendar.onlyworkday.checkbox.accesskey  "r" >
 <!ENTITY calendar.displaytodos.checkbox.label   "Tasks in View" >
 <!ENTITY calendar.displaytodos.checkbox.accesskey "k" >
@@ -149,25 +135,26 @@
 <!ENTITY calendar.task.filter.notstarted.accesskey  "a">
 <!ENTITY calendar.task.filter.overdue.label         "Overdue Tasks">
 <!ENTITY calendar.task.filter.overdue.accesskey     "O">
 <!ENTITY calendar.task.filter.completed.label       "Completed Tasks">
 <!ENTITY calendar.task.filter.completed.accesskey   "C">
 <!ENTITY calendar.task.filter.open.label            "Incomplete Tasks">
 <!ENTITY calendar.task.filter.open.accesskey        "m">
 
-<!ENTITY calendar.task.details.title.label           "Title:">
-<!ENTITY calendar.task.details.organizer.label       "From:">
-<!ENTITY calendar.task.details.priority2.label       "Priority:">
-<!ENTITY calendar.task.details.priority.low.label    "Low">
-<!ENTITY calendar.task.details.priority.normal.label "Normal">
-<!ENTITY calendar.task.details.priority.high.label   "High">
-<!ENTITY calendar.task.details.status.label          "Status:">
-<!ENTITY calendar.task.details.category.label        "Category:">
-<!ENTITY calendar.task.details.repeat.label          "Repeat:">
+<!ENTITY calendar.task-details.startdate.label       "title">
+<!ENTITY calendar.task-details.title.label           "title">
+<!ENTITY calendar.task-details.organizer.label       "from">
+<!ENTITY calendar.task-details.priority.label        "priority">
+<!ENTITY calendar.task-details.priority.low.label    "Low">
+<!ENTITY calendar.task-details.priority.normal.label "Normal">
+<!ENTITY calendar.task-details.priority.high.label   "High">
+<!ENTITY calendar.task-details.status.label          "status">
+<!ENTITY calendar.task-details.category.label        "category">
+<!ENTITY calendar.task-details.repeat.label          "repeat">
 
 <!ENTITY calendar.task.category.button.tooltip  "Categorize tasks">
 <!ENTITY calendar.task.complete.button.tooltip  "Mark selected tasks completed">
 <!ENTITY calendar.task.priority.button.tooltip  "Change the priority">
 
 <!-- Statusbar -->
 <!ENTITY statusText.label            "Document: Done">
 
--- a/calendar/locales/en-US/chrome/calendar/menuOverlay.dtd
+++ b/calendar/locales/en-US/chrome/calendar/menuOverlay.dtd
@@ -65,21 +65,16 @@
 <!ENTITY calendar.export.calendar.label         "Export Calendar…">
 <!ENTITY calendar.export.calendar.accesskey     "E">
 <!ENTITY calendar.export.selection.label        "Export Selection…">
 <!ENTITY calendar.export.selection.accesskey    "S">
 
 <!ENTITY calendar.publish.label                 "Publish…">
 <!ENTITY calendar.publish.accesskey             "b">
 
-<!ENTITY calendar.toolbar.label                 "Calendar Toolbar">
-<!ENTITY calendar.toolbar.accesskey             "T">
-<!ENTITY task.toolbar.label                     "Task Toolbar">
-<!ENTITY task.toolbar.accesskey                 "b">
-
 <!ENTITY calendar.menu.customize.label          "Customize…">
 <!ENTITY calendar.menu.customize.accesskey      "C">
 
 <!ENTITY showUnifinderCmd.label                 "Find Events">
 <!ENTITY showUnifinderCmd.accesskey             "F">
 
 <!ENTITY calendar.displaytodos.checkbox.label       "Show Tasks in Calendar">
 <!ENTITY calendar.displaytodos.checkbox.accesskey   "T">
--- a/calendar/locales/en-US/chrome/sunbird/sunbird.dtd
+++ b/calendar/locales/en-US/chrome/sunbird/sunbird.dtd
@@ -36,23 +36,35 @@
 
 <!ENTITY sunbird.choosedate.button.tooltip                 "Choose date to go to" >
 <!ENTITY sunbird.cut.button.tooltip                        "Cut" >
 <!ENTITY sunbird.copy.button.tooltip                       "Copy" >
 <!ENTITY sunbird.paste.button.tooltip                      "Paste" >
 <!ENTITY sunbird.print.button.tooltip                      "Print calendar" >
 <!ENTITY sunbird.delete.button.tooltip                     "Delete selected event" >
 <!ENTITY sunbird.remotereload.button.tooltip               "Reload all remote calendars" >
+<!ENTITY sunbird.import.button.tooltip                     "Import events from a local file" >
+<!ENTITY sunbird.export.button.tooltip                     "Export events to a local file" >
+<!ENTITY sunbird.subscribe.button.tooltip                  "Subscribe to a calendar file on a remote machine" >
+<!ENTITY sunbird.publish.button.tooltip                    "Publish events to a remote machine" >
+<!ENTITY sunbird.unifinder.button.tooltip                  "Find and list events" >
+<!ENTITY sunbird.edit.button.tooltip                       "Edit selected event" >
 
 <!ENTITY sunbird.choosedate.button.label                   "Choose Date" >
 <!ENTITY sunbird.cut.button.label                          "Cut" >
 <!ENTITY sunbird.copy.button.label                         "Copy" >
 <!ENTITY sunbird.paste.button.label                        "Paste" >
 <!ENTITY sunbird.delete.button.label                       "Delete" >
 <!ENTITY sunbird.remotereload.button.label                 "Reload" >
+<!ENTITY sunbird.import.button.label                       "Import" >
+<!ENTITY sunbird.export.button.label                       "Export" >
+<!ENTITY sunbird.subscribe.button.label                    "Subscribe" >
+<!ENTITY sunbird.publish.button.label                      "Publish" >
+<!ENTITY sunbird.unifinder.button.label                    "Find Events" >
+<!ENTITY sunbird.edit.button.label                         "Edit" >
 
 <!ENTITY sunbird.flat.topbar.choosedate                    "Go to Date" >
 <!ENTITY sunbird.flat.topbar.dayview                       "Day View" >
 <!ENTITY sunbird.flat.topbar.weekview                      "Week View" >
 <!ENTITY sunbird.flat.topbar.monthview                     "Month View" >
 <!ENTITY sunbird.flat.topbar.multiweekview                 "Multiweek View" >
 
 <!ENTITY sunbird.dayview.accesskey                         "D" >
--- a/calendar/sunbird/base/content/calendar-menubar.inc
+++ b/calendar/sunbird/base/content/calendar-menubar.inc
@@ -172,17 +172,17 @@
                      key="key_paste"
                      label="&calendar.paste.label;"
                      accesskey="&calendar.paste.accesskey;"
                      observes="cmd_paste"/>
            <menuitem id="unifinder-modify-menu"
                      key="modify_event_key"
                      label="&event.edit.event;"
                      accesskey="&event.edit.event.accesskey;"
-                     observes="calendar_modify_event_command"/>
+                     observes="calendar_modify_focused_item_command"/>
            <menuitem id="unifinder-remove-event-menu"
                      label="&event.delete.event;"
                      accesskey="&event.delete.event.accesskey;"
                      observes="calendar_delete_event_command"/>
            <menuitem id="unifinder-remove-task-menu"
                      label="&event.delete.tasks;"
                      accesskey="&event.delete.tasks.accesskey;"
                      observes="calendar_delete_todo_command" />
--- a/calendar/sunbird/base/content/calendar.xul
+++ b/calendar/sunbird/base/content/calendar.xul
@@ -45,17 +45,16 @@
    -
    - ***** END LICENSE BLOCK ***** -->
 
 <!-- Style sheets -->
 
 <?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
 <?xml-stylesheet href="chrome://global/skin/toolbar.css" type="text/css"?>
 <?xml-stylesheet href="chrome://sunbird/skin/calendar.css" type="text/css"?>
-<?xml-stylesheet href="chrome://calendar/skin/calendar-toolbar.css" type="text/css"?>
 <?xml-stylesheet href="chrome://sunbird/skin/toolbar.css" type="text/css"?>
 <?xml-stylesheet href="chrome://calendar/skin/calendar-views.css" type="text/css"?>
 <?xml-stylesheet href="chrome://calendar/skin/widgets/minimonth.css" type="text/css"?>
 <?xml-stylesheet href="chrome://calendar/skin/widgets/calendar-widgets.css" type="text/css"?>
 <?xml-stylesheet href="chrome://calendar/content/calendar-bindings.css" type="text/css"?>
 <?xml-stylesheet href="chrome://calendar/content/calendar-view-bindings.css" type="text/css"?>
 <?xml-stylesheet href="chrome://calendar/content/widgets/calendar-widget-bindings.css" type="text/css"?>
 
@@ -120,21 +119,16 @@
     <toolbaritem id="menubar-items" align="center">
 <!-- The entire main menubar is placed into calendar-menubar.inc, so that it can be shared by
      hiddenWindow.xul. -->
 #include calendar-menubar.inc
     </toolbaritem>
   </toolbar>
 
   <toolbarpalette id="calendarToolbarPalette">
-<!-- All toolbar buttons that calendar.xul wishes to include *must* go either 
-     into the calendar-toolbar.inc file (all toolbar buttons shared with 
-     Lightning) or sunbird-toolbar.inc file (toolbar buttons relevant 
-     only for Sunbird-only). -->
-#include ../../../base/content/calendar-toolbar.inc
 #include sunbird-toolbar.inc
     <toolbaritem id="throbber-box" align="center" pack="center">
       <button id="navigator-throbber"
               oncommand="openAboutDialog();"
               tooltiptext="&aboutCmd.label;"/>
     </toolbaritem>
   </toolbarpalette>
   <toolbar class="toolbar-primary chromeclass-toolbar" id="calendar-bar"
--- a/calendar/sunbird/base/content/sunbird-toolbar.inc
+++ b/calendar/sunbird/base/content/sunbird-toolbar.inc
@@ -51,24 +51,24 @@
                observes="calendar_new_event_command"/>
 <toolbarbutton id="calendar-new-task-button"
                class="cal-toolbarbutton-1"
                label="&calendar.newtask.button.label;"
                tooltiptext="&calendar.newtask.button.tooltip;"
                observes="calendar_new_todo_command"/>
 <toolbarbutton class="cal-toolbarbutton-1"
                id="calendar-edit-button"
-               label="&calendar.edit.button.label;"
-               tooltiptext="&calendar.edit.button.tooltip;"
-               observes="calendar_modify_event_command"/>
+               label="&sunbird.edit.button.label;"
+               tooltiptext="&sunbird.edit.button.tooltip;"
+               observes="calendar_modify_focused_item_command"/>
 <toolbarbutton class="cal-toolbarbutton-1"
                id="calendar-delete-button"
                label="&sunbird.delete.button.label;"
                tooltiptext="&sunbird.delete.button.tooltip;"
-               observes="calendar_delete_event_command"/>
+               observes="calendar_delete_focused_item_command"/>
 <toolbarbutton class="cal-toolbarbutton-1"
                id="calendar-cut-button"
                label="&sunbird.cut.button.label;"
                tooltiptext="&sunbird.cut.button.tooltip;"
                observes="cmd_cut"/>
 <toolbarbutton class="cal-toolbarbutton-1"
                id="calendar-copy-button"
                label="&sunbird.copy.button.label;"
@@ -94,8 +94,35 @@
                label="&calendar.print.button.label;"
                tooltiptext="&sunbird.print.button.tooltip;"
                observes="cmd_print"/>
 <toolbarbutton id="calendar-remote-reload-button"
                class="cal-toolbarbutton-1"
                label="&sunbird.remotereload.button.label;"
                tooltiptext="&sunbird.remotereload.button.tooltip;"
                observes="calendar_reload_remote_calendars"/>
+<toolbarbutton id="calendar-import-button"
+               class="cal-toolbarbutton-1"
+               label="&sunbird.import.button.label;"
+               tooltiptext="&sunbird.import.button.tooltip;"
+               observes="calendar_import_command"/>
+<toolbarbutton id="calendar-export-button"
+               class="cal-toolbarbutton-1"
+               label="&sunbird.export.button.label;"
+               tooltiptext="&sunbird.export.button.tooltip;"
+               observes="calendar_export_command"/>
+<toolbarbutton id="calendar-subscribe-button"
+               class="cal-toolbarbutton-1"
+               label="&sunbird.subscribe.button.label;"
+               tooltiptext="&sunbird.subscribe.button.tooltip;"
+               observes="calendar_new_calendar_command"/>
+<toolbarbutton id="calendar-publish-button"
+               class="cal-toolbarbutton-1"
+               label="&sunbird.publish.button.label;"
+               tooltiptext="&sunbird.publish.button.tooltip;"
+               observes="calendar_publish_calendar_command"/>
+<toolbarbutton id="calendar-unifinder-button"
+               class="cal-toolbarbutton-1"
+               type="checkbox"
+               checked="true"
+               label="&sunbird.unifinder.button.label;"
+               tooltiptext="&sunbird.unifinder.button.tooltip;"
+               command="calendar_show_unifinder_command"/>
--- a/calendar/sunbird/base/jar.mn
+++ b/calendar/sunbird/base/jar.mn
@@ -1,15 +1,14 @@
 #filter substitution
 sunbird.jar:
 % content sunbird %content/sunbird/
 % style chrome://global/content/customizeToolbar.xul chrome://sunbird/skin/calendar.css
 % style chrome://global/content/customizeToolbar.xul chrome://sunbird/skin/toolbar.css
 % style chrome://global/content/customizeToolbar.xul chrome://calendar/skin/calendar-event-dialog.css
-% style chrome://global/content/customizeToolbar.xul chrome://calendar/skin/calendar-toolbar.css
 *   content/sunbird/aboutDialog.css                        (content/aboutDialog.css)
     content/sunbird/aboutDialog.js                         (content/aboutDialog.js)
 *   content/sunbird/aboutDialog.xul                        (content/aboutDialog.xul)
     content/sunbird/applicationUtil.js                     (content/applicationUtil.js)
 *   content/sunbird/calendar.xul                           (content/calendar.xul)
     content/sunbird/calendar-gotodate-dialog.xul           (content/calendar-gotodate-dialog.xul)
     content/sunbird/calendar-offline.js                    (content/calendar-offline.js)
     content/sunbird/credits.xhtml                          (content/credits.xhtml)
--- a/calendar/sunbird/base/themes/pinstripe/toolbar.css
+++ b/calendar/sunbird/base/themes/pinstripe/toolbar.css
@@ -14,125 +14,165 @@
  * The Original Code is Sun Microsystems code.
  *
  * The Initial Developer of the Original Code is
  *   Philipp Kewisch <mozilla@kewis.ch>
  * Portions created by the Initial Developer are Copyright (C) 2008
  * the Initial Developer. All Rights Reserved.
  *
  * Contributor(s):
+ *   Garth Smedley <garths@oeone.com>
+ *   Mike Potter <mikep@oeone.com>
+ *   Karl Guertin <grayrest@grayrest.com>
+ *   Colin Phillips <colinp@oeone.com>
+ *   ArentJan Banck <ajbanck@planet.nl>
+ *   Eric Belhaire <belhaire@ief.u-psud.fr>
+ *   Mark Swaffer <swaff@fudo.org>
+ *   Christopher Cook <tangent@intraplanar.net>
+ *   Kevin Gerich <webmail@kmgerich.com>
+ *   Matthew Willis <mattwillis@gmail.com>
+ *   Simon Paquet <bugzilla@babylonsounds.com>
+ *   Berend Cornelius <berend.cornelius@sun.com>
  *
  * Alternatively, the contents of this file may be used under the terms of
  * either the GNU General Public License Version 2 or later (the "GPL"), or
  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  * in which case the provisions of the GPL or the LGPL are applicable instead
  * of those above. If you wish to allow use of your version of this file only
  * under the terms of either the GPL or the LGPL, and not to allow others to
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 /*--------------------------------------------------------------------
+ *   Primary toolbar buttons
+ *-------------------------------------------------------------------*/
+
+.cal-toolbarbutton-1 {
+    -moz-box-orient: vertical;
+    min-width: 0px;
+    list-style-image: url("chrome://calendar/skin/toolbar-large.png");
+}
+
+.cal-toolbarbutton-1[type="menu"] {
+  -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-vertical");
+}
+
+toolbar[mode="full"] .cal-toolbarbutton-1 {
+    min-width: 55px;
+}
+
+/*--------------------------------------------------------------------
+ *   Primary toolbar buttons - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] .cal-toolbarbutton-1 {
+    -moz-box-orient: vertical;
+    min-width: 0px;
+    list-style-image: url("chrome://calendar/skin/toolbar-small.png");
+}
+
+/*--------------------------------------------------------------------
  *   Button: "Cut"
  *-------------------------------------------------------------------*/
 
 #calendar-cut-button {
-        -moz-image-region: rect(0px 256px 32px 224px);
+    -moz-image-region: rect(0px 256px 32px 224px);
 }
 #calendar-cut-button:active {
-        -moz-image-region: rect(32px 256px 64px 224px);
+    -moz-image-region: rect(32px 256px 64px 224px);
 }
 #calendar-cut-button[disabled="true"] {
-        -moz-image-region: rect(64px 256px 96px 224px);
+    -moz-image-region: rect(64px 256px 96px 224px);
 }
 
 toolbar[iconsize="small"] #calendar-cut-button {
-        -moz-image-region: rect(0px 192px 24px 168px);
+    -moz-image-region: rect(0px 192px 24px 168px);
 }
 toolbar[iconsize="small"] #calendar-cut-button:active {
-        -moz-image-region: rect(24px 192px 48px 168px);
+    -moz-image-region: rect(24px 192px 48px 168px);
 }
 toolbar[iconsize="small"] #calendar-cut-button[disabled="true"] {
-        -moz-image-region: rect(48px 192px 72px 168px);
+    -moz-image-region: rect(48px 192px 72px 168px);
 }
 
 /*--------------------------------------------------------------------
  *   Button: "Copy"
  *-------------------------------------------------------------------*/
 
 #calendar-copy-button {
-        -moz-image-region: rect(0px 288px 32px 256px);
+    -moz-image-region: rect(0px 288px 32px 256px);
 }
 #calendar-copy-button:active {
-        -moz-image-region: rect(32px 288px 64px 256px);
+    -moz-image-region: rect(32px 288px 64px 256px);
 }
 #calendar-copy-button[disabled="true"] {
-        -moz-image-region: rect(64px 288px 96px 256px);
+    -moz-image-region: rect(64px 288px 96px 256px);
 }
 
 toolbar[iconsize="small"] #calendar-copy-button {
-        -moz-image-region: rect(0px 216px 24px 192px);
+    -moz-image-region: rect(0px 216px 24px 192px);
 }
 toolbar[iconsize="small"] #calendar-copy-button:active {
-        -moz-image-region: rect(24px 216px 48px 192px);
+    -moz-image-region: rect(24px 216px 48px 192px);
 }
 toolbar[iconsize="small"] #calendar-copy-button[disabled="true"] {
-        -moz-image-region: rect(48px 216px 72px 192px);
+    -moz-image-region: rect(48px 216px 72px 192px);
 }
 
 /*--------------------------------------------------------------------
  *   Button: "Paste"
  *-------------------------------------------------------------------*/
 
 #calendar-paste-button {
-        -moz-image-region: rect(0px 320px 32px 288px);
+    -moz-image-region: rect(0px 320px 32px 288px);
 }
 #calendar-paste-button:active {
-        -moz-image-region: rect(32px 320px 64px 288px);
+    -moz-image-region: rect(32px 320px 64px 288px);
 }
 #calendar-paste-button[disabled="true"] {
-        -moz-image-region: rect(64px 320px 96px 288px);
+    -moz-image-region: rect(64px 320px 96px 288px);
 }
 
 toolbar[iconsize="small"] #calendar-paste-button {
-        -moz-image-region: rect(0px 240px 24px 216px);
+    -moz-image-region: rect(0px 240px 24px 216px);
 }
 toolbar[iconsize="small"] #calendar-paste-button:active {
-        -moz-image-region: rect(24px 240px 48px 216px);
+    -moz-image-region: rect(24px 240px 48px 216px);
 }
 toolbar[iconsize="small"] #calendar-paste-button[disabled="true"] {
-        -moz-image-region: rect(48px 240px 72px 216px);
+    -moz-image-region: rect(48px 240px 72px 216px);
 }
 
 /*--------------------------------------------------------------------
  *   Button: "Choose Date"
  *-------------------------------------------------------------------*/
 
 #calendar-choose-date-button {
-        -moz-image-region: rect(0px 576px 32px 544px);
+    -moz-image-region: rect(0px 576px 32px 544px);
 }
 #calendar-choose-date-button:active {
-        -moz-image-region: rect(32px 576px 64px 544px);
+    -moz-image-region: rect(32px 576px 64px 544px);
 }
 #calendar-choose-date-button[disabled="true"] {
-        -moz-image-region: rect(64px 576px 96px 544px);
+    -moz-image-region: rect(64px 576px 96px 544px);
 }
 
 toolbar[iconsize="small"] #calendar-choose-date-button {
-        -moz-image-region: rect(0px 432px 24px 408px);
+    -moz-image-region: rect(0px 432px 24px 408px);
 }
 toolbar[iconsize="small"] #calendar-choose-date-button:active {
-        -moz-image-region: rect(24px 432px 48px 408px);
+    -moz-image-region: rect(24px 432px 48px 408px);
 }
 toolbar[iconsize="small"] #calendar-choose-date-button[disabled="true"] {
-        -moz-image-region: rect(48px 432px 72px 408px);
+    -moz-image-region: rect(48px 432px 72px 408px);
 }
 
 /*--------------------------------------------------------------------
  *   Button: "New Event"
  *-------------------------------------------------------------------*/
 
 #calendar-new-event-button {
     -moz-image-region: rect(0px 32px 32px 0px);
@@ -202,33 +242,33 @@ toolbar[iconsize="small"] #calendar-dele
     -moz-image-region: rect(48px 72px 72px 48px);
 }
 
 /*--------------------------------------------------------------------
  *   Go To Today button
  *-------------------------------------------------------------------*/
 
 #calendar-go-to-today-button {
-        -moz-image-region: rect(0px 544px 32px 512px);
+    -moz-image-region: rect(0px 544px 32px 512px);
 }
 #calendar-go-to-today-button:active {
-        -moz-image-region: rect(32px 544px 64px 512px);
+    -moz-image-region: rect(32px 544px 64px 512px);
 }
 #calendar-go-to-today-button[disabled="true"] {
-        -moz-image-region: rect(64px 544px 96px 512px);
+    -moz-image-region: rect(64px 544px 96px 512px);
 }
 
 toolbar[iconsize="small"] #calendar-go-to-today-button {
-        -moz-image-region: rect(0px 408px 24px 384px);
+    -moz-image-region: rect(0px 408px 24px 384px);
 }
 toolbar[iconsize="small"] #calendar-go-to-today-button:active {
-        -moz-image-region: rect(24px 408px 48px 384px);
+    -moz-image-region: rect(24px 408px 48px 384px);
 }
 toolbar[iconsize="small"] #calendar-go-to-today-button[disabled="true"] {
-        -moz-image-region: rect(48px 408px 72px 384px);
+    -moz-image-region: rect(48px 408px 72px 384px);
 }
 
 /*--------------------------------------------------------------------
  *   Button: (Remote) "Reload"
  *-------------------------------------------------------------------*/
 
 #calendar-remote-reload-button {
     -moz-image-region: rect(0px 640px 32px 608px);
@@ -246,8 +286,297 @@ toolbar[iconsize="small"] #calendar-remo
 
 toolbar[iconsize="small"] #calendar-remote-reload-button:active {
     -moz-image-region: rect(24px 480px 48px 456px);
 }
 
 toolbar[iconsize="small"] #calendar-remote-reload-button[disabled="true"] {
     -moz-image-region: rect(48px 480px 72px 456px);
 }
+
+/*--------------------------------------------------------------------
+ *   Button: "Edit"
+ *-------------------------------------------------------------------*/
+
+#calendar-edit-button {
+    -moz-image-region: rect(0px 64px 32px 32px);
+}
+#calendar-edit-button:active {
+    -moz-image-region: rect(32px 64px 64px 32px);
+}
+#calendar-edit-button[disabled="true"] {
+    -moz-image-region: rect(64px 64px 96px 32px);
+}
+
+toolbar[iconsize="small"] #calendar-edit-button {
+    -moz-image-region: rect(0px 48px 24px 24px);
+}
+toolbar[iconsize="small"] #calendar-edit-button:active {
+    -moz-image-region: rect(24px 48px 48px 24px);
+}
+toolbar[iconsize="small"] #calendar-edit-button[disabled="true"] {
+    -moz-image-region: rect(48px 48px 72px 24px);
+}
+
+/*--------------------------------------------------------------------
+ *   Unifinder button
+ *-------------------------------------------------------------------*/
+
+#calendar-unifinder-button {
+    -moz-image-region: rect(0px 704px 32px 672px);
+}
+#calendar-unifinder-button:active {
+    -moz-image-region: rect(32px 704px 64px 672px);
+}
+#calendar-unifinder-button[disabled="true"] {
+    -moz-image-region: rect(64px 704px 96px 672px);
+}
+
+toolbar[iconsize="small"] #calendar-unifinder-button {
+    -moz-image-region: rect(0px 528px 24px 504px);
+}
+toolbar[iconsize="small"] #calendar-unifinder-button:active {
+    -moz-image-region: rect(24px 528px 48px 504px);
+}
+toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"] {
+    -moz-image-region: rect(48px 528px 72px 504px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Import"
+ *-------------------------------------------------------------------*/
+
+#calendar-import-button {
+    -moz-image-region: rect(0px 352px 32px 320px);
+}
+#calendar-import-button:active {
+    -moz-image-region: rect(32px 352px 64px 320px);
+}
+#calendar-import-button[disabled="true"] {
+    -moz-image-region: rect(64px 352px 96px 320px);
+}
+
+toolbar[iconsize="small"] #calendar-import-button {
+    -moz-image-region: rect(0px 264px 24px 240px);
+}
+toolbar[iconsize="small"] #calendar-import-button:active {
+    -moz-image-region: rect(24px 264px 48px 240px);
+}
+toolbar[iconsize="small"] #calendar-import-button[disabled="true"] {
+    -moz-image-region: rect(48px 264px 72px 240px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Export"
+ *-------------------------------------------------------------------*/
+
+#calendar-export-button {
+    -moz-image-region: rect(0px 384px 32px 352px);
+}
+#calendar-export-button:active {
+    -moz-image-region: rect(32px 384px 64px 352px);
+}
+#calendar-export-button[disabled="true"] {
+    -moz-image-region: rect(64px 384px 96px 352px);
+}
+
+toolbar[iconsize="small"] #calendar-export-button {
+    -moz-image-region: rect(0px 288px 24px 264px);
+}
+toolbar[iconsize="small"] #calendar-export-button:active {
+    -moz-image-region: rect(24px 288px 48px 264px);
+}
+toolbar[iconsize="small"] #calendar-export-button[disabled="true"] {
+    -moz-image-region: rect(48px 288px 72px 264px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Subscribe"
+ *-------------------------------------------------------------------*/
+
+#calendar-subscribe-button {
+    -moz-image-region: rect(0px 416px 32px 384px);
+}
+#calendar-subscribe-button:active {
+    -moz-image-region: rect(32px 416px 64px 384px);
+}
+#calendar-subscribe-button[disabled="true"] {
+    -moz-image-region: rect(64px 416px 96px 384px);
+}
+
+toolbar[iconsize="small"] #calendar-subscribe-button {
+    -moz-image-region: rect(0px 312px 24px 288px);
+}
+toolbar[iconsize="small"] #calendar-subscribe-button:active {
+    -moz-image-region: rect(24px 312px 48px 288px);
+}
+toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"] {
+    -moz-image-region: rect(48px 312px 72px 288px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Publish"
+ *-------------------------------------------------------------------*/
+
+#calendar-publish-button {
+    -moz-image-region: rect(0px 448px 32px 416px);
+}
+#calendar-publish-button:active {
+    -moz-image-region: rect(32px 448px 64px 416px);
+}
+#calendar-publish-button[disabled="true"] {
+    -moz-image-region: rect(64px 448px 96px 416px);
+}
+
+toolbar[iconsize="small"] #calendar-publish-button {
+    -moz-image-region: rect(0px 336px 24px 312px);
+}
+toolbar[iconsize="small"] #calendar-publish-button:active {
+    -moz-image-region: rect(24px 336px 48px 312px);
+}
+toolbar[iconsize="small"] #calendar-publish-button[disabled="true"] {
+    -moz-image-region: rect(48px 336px 72px 312px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Edit"
+ *-------------------------------------------------------------------*/
+
+#calendar-edit-button {
+    -moz-image-region: rect(0px 64px 32px 32px);
+}
+#calendar-edit-button:active {
+    -moz-image-region: rect(32px 64px 64px 32px);
+}
+#calendar-edit-button[disabled="true"] {
+    -moz-image-region: rect(64px 64px 96px 32px);
+}
+
+toolbar[iconsize="small"] #calendar-edit-button {
+    -moz-image-region: rect(0px 48px 24px 24px);
+}
+toolbar[iconsize="small"] #calendar-edit-button:active {
+    -moz-image-region: rect(24px 48px 48px 24px);
+}
+toolbar[iconsize="small"] #calendar-edit-button[disabled="true"] {
+    -moz-image-region: rect(48px 48px 72px 24px);
+}
+
+/*--------------------------------------------------------------------
+ *   Unifinder button
+ *-------------------------------------------------------------------*/
+
+#calendar-unifinder-button {
+    -moz-image-region: rect(0px 704px 32px 672px);
+}
+#calendar-unifinder-button:active {
+    -moz-image-region: rect(32px 704px 64px 672px);
+}
+#calendar-unifinder-button[disabled="true"] {
+    -moz-image-region: rect(64px 704px 96px 672px);
+}
+
+toolbar[iconsize="small"] #calendar-unifinder-button {
+    -moz-image-region: rect(0px 528px 24px 504px);
+}
+toolbar[iconsize="small"] #calendar-unifinder-button:active {
+    -moz-image-region: rect(24px 528px 48px 504px);
+}
+toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"] {
+    -moz-image-region: rect(48px 528px 72px 504px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Import"
+ *-------------------------------------------------------------------*/
+
+#calendar-import-button {
+    -moz-image-region: rect(0px 352px 32px 320px);
+}
+#calendar-import-button:active {
+    -moz-image-region: rect(32px 352px 64px 320px);
+}
+#calendar-import-button[disabled="true"] {
+    -moz-image-region: rect(64px 352px 96px 320px);
+}
+
+toolbar[iconsize="small"] #calendar-import-button {
+    -moz-image-region: rect(0px 264px 24px 240px);
+}
+toolbar[iconsize="small"] #calendar-import-button:active {
+    -moz-image-region: rect(24px 264px 48px 240px);
+}
+toolbar[iconsize="small"] #calendar-import-button[disabled="true"] {
+    -moz-image-region: rect(48px 264px 72px 240px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Export"
+ *-------------------------------------------------------------------*/
+
+#calendar-export-button {
+    -moz-image-region: rect(0px 384px 32px 352px);
+}
+#calendar-export-button:active {
+    -moz-image-region: rect(32px 384px 64px 352px);
+}
+#calendar-export-button[disabled="true"] {
+    -moz-image-region: rect(64px 384px 96px 352px);
+}
+
+toolbar[iconsize="small"] #calendar-export-button {
+    -moz-image-region: rect(0px 288px 24px 264px);
+}
+toolbar[iconsize="small"] #calendar-export-button:active {
+    -moz-image-region: rect(24px 288px 48px 264px);
+}
+toolbar[iconsize="small"] #calendar-export-button[disabled="true"] {
+    -moz-image-region: rect(48px 288px 72px 264px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Subscribe"
+ *-------------------------------------------------------------------*/
+
+#calendar-subscribe-button {
+    -moz-image-region: rect(0px 416px 32px 384px);
+}
+#calendar-subscribe-button:active {
+    -moz-image-region: rect(32px 416px 64px 384px);
+}
+#calendar-subscribe-button[disabled="true"] {
+    -moz-image-region: rect(64px 416px 96px 384px);
+}
+
+toolbar[iconsize="small"] #calendar-subscribe-button {
+    -moz-image-region: rect(0px 312px 24px 288px);
+}
+toolbar[iconsize="small"] #calendar-subscribe-button:active {
+    -moz-image-region: rect(24px 312px 48px 288px);
+}
+toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"] {
+    -moz-image-region: rect(48px 312px 72px 288px);
+}
+
+/*--------------------------------------------------------------------
+ *   Button: "Publish"
+ *-------------------------------------------------------------------*/
+
+#calendar-publish-button {
+    -moz-image-region: rect(0px 448px 32px 416px);
+}
+#calendar-publish-button:active {
+    -moz-image-region: rect(32px 448px 64px 416px);
+}
+#calendar-publish-button[disabled="true"] {
+    -moz-image-region: rect(64px 448px 96px 416px);
+}
+
+toolbar[iconsize="small"] #calendar-publish-button {
+    -moz-image-region: rect(0px 336px 24px 312px);
+}
+toolbar[iconsize="small"] #calendar-publish-button:active {
+    -moz-image-region: rect(24px 336px 48px 312px);
+}
+toolbar[iconsize="small"] #calendar-publish-button[disabled="true"] {
+    -moz-image-region: rect(48px 336px 72px 312px);
+}
+
--- a/calendar/sunbird/base/themes/winstripe/toolbar.css
+++ b/calendar/sunbird/base/themes/winstripe/toolbar.css
@@ -14,32 +14,114 @@
  * The Original Code is Sun Microsystems code.
  *
  * The Initial Developer of the Original Code is
  *   Philipp Kewisch <mozilla@kewis.ch>
  * Portions created by the Initial Developer are Copyright (C) 2008
  * the Initial Developer. All Rights Reserved.
  *
  * Contributor(s):
+ *   Garth Smedley <garths@oeone.com>
+ *   Mike Potter <mikep@oeone.com>
+ *   Karl Guertin <grayrest@grayrest.com>
+ *   Colin Phillips <colinp@oeone.com>
+ *   ArentJan Banck <ajbanck@planet.nl>
+ *   Eric Belhaire <belhaire@ief.u-psud.fr>
+ *   Mark Swaffer <swaff@fudo.org>
+ *   Christopher Cook <tangent@intraplanar.net>
+ *   Kevin Gerich <webmail@kmgerich.com>
+ *   Matthew Willis <mattwillis@gmail.com>
+ *   Simon Paquet <bugzilla@babylonsounds.com>
+ *   Berend Cornelius <berend.cornelius@sun.com>
  *
  * Alternatively, the contents of this file may be used under the terms of
  * either the GNU General Public License Version 2 or later (the "GPL"), or
  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  * in which case the provisions of the GPL or the LGPL are applicable instead
  * of those above. If you wish to allow use of your version of this file only
  * under the terms of either the GPL or the LGPL, and not to allow others to
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 /*--------------------------------------------------------------------
+ *   Primary toolbar buttons
+ *-------------------------------------------------------------------*/
+
+.cal-toolbarbutton-1 {
+    -moz-box-orient: vertical;
+    min-width: 0px;
+    list-style-image: url("chrome://calendar/skin/toolbar-large.png");
+}
+
+.cal-toolbarbutton-1[type="menu"] {
+    -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-vertical");
+}
+
+toolbarbutton[type="menu-button"] {
+    -moz-box-orient: horizontal;
+}
+
+toolbarbutton[type="menu-button"] > toolbarbutton {
+    -moz-box-orient: vertical !important;
+}
+
+.cal-toolbarbutton-1,
+.cal-toolbarbutton-menubutton-button {
+   padding-top: 5px;
+   padding-bottom: 6px;
+   -moz-padding-start: 4px;
+   -moz-padding-end: 5px;
+}
+
+.cal-toolbarbutton-1:hover:active:not([disabled]),
+.cal-toolbarbutton-1[open="true"],
+.cal-toolbarbutton-menubutton-button:hover:active:not([disabled]),
+.cal-toolbarbutton-menubutton-button[open="true"] {
+   padding-top: 6px;
+   padding-bottom: 5px;
+   -moz-padding-start: 5px;
+   -moz-padding-end: 4px;
+}
+ 
+.cal-toolbarbutton-1[checked="true"] {
+   padding-top: 6px !important;
+   padding-bottom: 5px !important;
+   -moz-padding-start: 5px !important;
+   -moz-padding-end: 4px !important;
+}
+ 
+ 
+.toolbarbutton-menu-dropmarker {
+   -moz-padding-start: 3px;
+}
+
+.cal-toolbarbutton-1 .toolbarbutton-icon {
+    -moz-margin-end: 0px;
+}
+
+toolbar[mode="full"] .cal-toolbarbutton-1 {
+    min-width: 55px;
+}
+
+/*--------------------------------------------------------------------
+ *   Primary toolbar buttons - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] .cal-toolbarbutton-1 {
+    -moz-box-orient: vertical;
+    min-width: 0px;
+    list-style-image: url("chrome://calendar/skin/toolbar-small.png");
+}
+
+/*--------------------------------------------------------------------
  *   Cut button
  *-------------------------------------------------------------------*/
 
 #calendar-cut-button {
     -moz-image-region: rect(0px 192px 24px 168px);
 }
 #calendar-cut-button[disabled="true"],
 #calendar-cut-button[disabled="true"]:hover,
@@ -194,73 +276,73 @@ toolbar[iconsize="small"] #calendar-dele
     -moz-image-region: rect(16px 48px 32px 32px);
 }
 
 /*--------------------------------------------------------------------
  *   Print button
  *-------------------------------------------------------------------*/
 
 #calendar-print-button {
-        -moz-image-region: rect(0px 360px 24px 336px);
+    -moz-image-region: rect(0px 360px 24px 336px);
 }
 #calendar-print-button[disabled="true"],
 #calendar-print-button[disabled="true"]:hover,
 #calendar-print-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 360px 72px 336px);
+    -moz-image-region: rect(48px 360px 72px 336px);
 }
 #calendar-print-button:hover {
-        -moz-image-region: rect(24px 360px 48px 336px);
+    -moz-image-region: rect(24px 360px 48px 336px);
 }
 
 /*--------------------------------------------------------------------
  *   Print button - small
  *-------------------------------------------------------------------*/
 
 toolbar[iconsize="small"] #calendar-print-button {
-        -moz-image-region: rect(0px 240px 16px 224px);
+    -moz-image-region: rect(0px 240px 16px 224px);
 }
 toolbar[iconsize="small"] #calendar-print-button[disabled="true"],
 toolbar[iconsize="small"] #calendar-print-button[disabled="true"]:hover,
 toolbar[iconsize="small"] #calendar-print-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 240px 48px 224px);
+    -moz-image-region: rect(32px 240px 48px 224px);
 }
 toolbar[iconsize="small"] #calendar-print-button:hover {
-        -moz-image-region: rect(16px 240px 32px 224px);
+    -moz-image-region: rect(16px 240px 32px 224px);
 }
 
 /*--------------------------------------------------------------------
  *   Go To Today button
  *-------------------------------------------------------------------*/
 
 #calendar-go-to-today-button {
-        -moz-image-region: rect(0px 408px 24px 384px);
+    -moz-image-region: rect(0px 408px 24px 384px);
 }
 #calendar-go-to-today-button[disabled="true"],
 #calendar-go-to-today-button[disabled="true"]:hover,
 #calendar-go-to-today-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(48px 408px 72px 384px);
+    -moz-image-region: rect(48px 408px 72px 384px);
 }
 #calendar-go-to-today-button:hover {
-        -moz-image-region: rect(24px 408px 48px 384px);
+    -moz-image-region: rect(24px 408px 48px 384px);
 }
 
 /*--------------------------------------------------------------------
  *   Go To Today button - small
  *-------------------------------------------------------------------*/
 
 toolbar[iconsize="small"] #calendar-go-to-today-button {
-        -moz-image-region: rect(0px 272px 16px 256px);
+    -moz-image-region: rect(0px 272px 16px 256px);
 }
 toolbar[iconsize="small"] #calendar-go-to-today-button[disabled="true"],
 toolbar[iconsize="small"] #calendar-go-to-today-button[disabled="true"]:hover,
 toolbar[iconsize="small"] #calendar-go-to-today-button[disabled="true"]:hover:active {
-        -moz-image-region: rect(32px 272px 48px 256px);
+    -moz-image-region: rect(32px 272px 48px 256px);
 }
 toolbar[iconsize="small"] #calendar-go-to-today-button:hover {
-        -moz-image-region: rect(16px 272px 32px 256px);
+    -moz-image-region: rect(16px 272px 32px 256px);
 }
 
 /*--------------------------------------------------------------------
  *   Remote Reload button
  *-------------------------------------------------------------------*/
 
 #calendar-remote-reload-button {
     -moz-image-region: rect(0px 480px 24px 456px);
@@ -348,8 +430,392 @@ toolbar[iconsize="small"] #calendar-new-
 toolbar[iconsize="small"] #calendar-new-task-button[disabled="true"],
 toolbar[iconsize="small"] #calendar-new-task-button[disabled="true"]:hover,
 toolbar[iconsize="small"] #calendar-new-task-button[disabled="true"]:hover:active {
     -moz-image-region: rect(32px 256px 48px 240px);
 }
 toolbar[iconsize="small"] #calendar-new-task-button:hover {
     -moz-image-region: rect(16px 256px 32px 240px);
 }
+
+/*--------------------------------------------------------------------
+ *   edit event button
+ *-------------------------------------------------------------------*/
+
+#calendar-edit-button {
+    -moz-image-region: rect(0px 48px 24px 24px);
+}
+#calendar-edit-button[disabled="true"],
+#calendar-edit-button[disabled="true"]:hover,
+#calendar-edit-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 48px 72px 24px);
+}
+#calendar-edit-button:hover {
+    -moz-image-region: rect(24px 48px 48px 24px);
+}
+
+/*--------------------------------------------------------------------
+ *   edit event button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-edit-button {
+    -moz-image-region: rect(0px 32px 16px 16px);
+}
+toolbar[iconsize="small"] #calendar-edit-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-edit-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-edit-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 32px 48px 16px);
+}
+toolbar[iconsize="small"] #calendar-edit-button:hover {
+    -moz-image-region: rect(16px 32px 32px 16px);
+}
+
+/*--------------------------------------------------------------------
+ *   Unifinder button
+ *-------------------------------------------------------------------*/
+
+#calendar-unifinder-button {
+    -moz-image-region: rect(0px 528px 24px 504px);
+}
+#calendar-unifinder-button[disabled="true"],
+#calendar-unifinder-button[disabled="true"]:hover,
+#calendar-unifinder-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 528px 72px 504px);
+}
+#calendar-unifinder-button:hover {
+    -moz-image-region: rect(24px 528px 48px 504px);
+}
+
+/*--------------------------------------------------------------------
+ *   Unifinder button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-unifinder-button {
+    -moz-image-region: rect(0px 352px 16px 336px);
+}
+toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 352px 48px 336px);
+}
+toolbar[iconsize="small"] #calendar-unifinder-button:hover {
+    -moz-image-region: rect(16px 352px 32px 336px);
+}
+
+/*--------------------------------------------------------------------
+ *   Import button
+ *-------------------------------------------------------------------*/
+
+#calendar-import-button {
+    -moz-image-region: rect(0px 264px 24px 240px);
+}
+#calendar-import-button[disabled="true"],
+#calendar-import-button[disabled="true"]:hover,
+#calendar-import-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 264px 72px 240px);
+}
+#calendar-import-button:hover {
+    -moz-image-region: rect(24px 264px 48px 240px);
+}
+
+/*--------------------------------------------------------------------
+ *   Import button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-import-button {
+    -moz-image-region: rect(0px 176px 16px 160px);
+}
+toolbar[iconsize="small"] #calendar-import-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-import-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-import-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 176px 48px 160px);
+}
+toolbar[iconsize="small"] #calendar-import-button:hover {
+    -moz-image-region: rect(16px 176px 32px 160px);
+}
+
+/*--------------------------------------------------------------------
+ *   Export button
+ *-------------------------------------------------------------------*/
+
+#calendar-export-button {
+    -moz-image-region: rect(0px 288px 24px 264px);
+}
+#calendar-export-button[disabled="true"],
+#calendar-export-button[disabled="true"]:hover,
+#calendar-export-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 288px 72px 264px);
+}
+#calendar-export-button:hover {
+    -moz-image-region: rect(24px 288px 48px 264px);
+}
+
+/*--------------------------------------------------------------------
+ *   Export button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-export-button {
+    -moz-image-region: rect(0px 192px 16px 176px);
+}
+toolbar[iconsize="small"] #calendar-export-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-export-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-export-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 192px 48px 176px);
+}
+toolbar[iconsize="small"] #calendar-export-button:hover {
+    -moz-image-region: rect(16px 192px 32px 176px);
+}
+
+/*--------------------------------------------------------------------
+ *   Subscribe button
+ *-------------------------------------------------------------------*/
+
+#calendar-subscribe-button {
+    -moz-image-region: rect(0px 312px 24px 288px);
+}
+#calendar-subscribe-button[disabled="true"],
+#calendar-subscribe-button[disabled="true"]:hover,
+#calendar-subscribe-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 312px 72px 288px);
+}
+#calendar-subscribe-button:hover {
+    -moz-image-region: rect(24px 312px 48px 288px);
+}
+
+/*--------------------------------------------------------------------
+ *   Subscribe button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-subscribe-button {
+    -moz-image-region: rect(0px 208px 16px 192px);
+}
+toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 208px 48px 192px);
+}
+toolbar[iconsize="small"] #calendar-subscribe-button:hover {
+    -moz-image-region: rect(16px 208px 32px 192px);
+}
+
+/*--------------------------------------------------------------------
+ *   Publish button
+ *-------------------------------------------------------------------*/
+
+#calendar-publish-button {
+    -moz-image-region: rect(0px 336px 24px 312px);
+}
+#calendar-publish-button[disabled="true"],
+#calendar-publish-button[disabled="true"]:hover,
+#calendar-publish-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 336px 72px 312px);
+}
+#calendar-publish-button:hover {
+    -moz-image-region: rect(24px 336px 48px 312px);
+}
+
+/*--------------------------------------------------------------------
+ *   Publish button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-publish-button {
+    -moz-image-region: rect(0px 224px 16px 208px);
+}
+toolbar[iconsize="small"] #calendar-publish-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-publish-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-publish-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 224px 48px 208px);
+}
+toolbar[iconsize="small"] #calendar-publish-button:hover {
+    -moz-image-region: rect(16px 224px 32px 208px);
+}
+
+/*--------------------------------------------------------------------
+ *   edit event button
+ *-------------------------------------------------------------------*/
+
+#calendar-edit-button {
+    -moz-image-region: rect(0px 48px 24px 24px);
+}
+#calendar-edit-button[disabled="true"],
+#calendar-edit-button[disabled="true"]:hover,
+#calendar-edit-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 48px 72px 24px);
+}
+#calendar-edit-button:hover {
+    -moz-image-region: rect(24px 48px 48px 24px);
+}
+
+/*--------------------------------------------------------------------
+ *   edit event button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-edit-button {
+    -moz-image-region: rect(0px 32px 16px 16px);
+}
+toolbar[iconsize="small"] #calendar-edit-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-edit-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-edit-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 32px 48px 16px);
+}
+toolbar[iconsize="small"] #calendar-edit-button:hover {
+    -moz-image-region: rect(16px 32px 32px 16px);
+}
+
+/*--------------------------------------------------------------------
+ *   Unifinder button
+ *-------------------------------------------------------------------*/
+
+#calendar-unifinder-button {
+    -moz-image-region: rect(0px 528px 24px 504px);
+}
+#calendar-unifinder-button[disabled="true"],
+#calendar-unifinder-button[disabled="true"]:hover,
+#calendar-unifinder-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 528px 72px 504px);
+}
+#calendar-unifinder-button:hover {
+    -moz-image-region: rect(24px 528px 48px 504px);
+}
+
+/*--------------------------------------------------------------------
+ *   Unifinder button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-unifinder-button {
+    -moz-image-region: rect(0px 352px 16px 336px);
+}
+toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-unifinder-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 352px 48px 336px);
+}
+toolbar[iconsize="small"] #calendar-unifinder-button:hover {
+    -moz-image-region: rect(16px 352px 32px 336px);
+}
+
+/*--------------------------------------------------------------------
+ *   Import button
+ *-------------------------------------------------------------------*/
+
+#calendar-import-button {
+    -moz-image-region: rect(0px 264px 24px 240px);
+}
+#calendar-import-button[disabled="true"],
+#calendar-import-button[disabled="true"]:hover,
+#calendar-import-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 264px 72px 240px);
+}
+#calendar-import-button:hover {
+    -moz-image-region: rect(24px 264px 48px 240px);
+}
+
+/*--------------------------------------------------------------------
+ *   Import button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-import-button {
+    -moz-image-region: rect(0px 176px 16px 160px);
+}
+toolbar[iconsize="small"] #calendar-import-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-import-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-import-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 176px 48px 160px);
+}
+toolbar[iconsize="small"] #calendar-import-button:hover {
+    -moz-image-region: rect(16px 176px 32px 160px);
+}
+
+/*--------------------------------------------------------------------
+ *   Export button
+ *-------------------------------------------------------------------*/
+
+#calendar-export-button {
+    -moz-image-region: rect(0px 288px 24px 264px);
+}
+#calendar-export-button[disabled="true"],
+#calendar-export-button[disabled="true"]:hover,
+#calendar-export-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 288px 72px 264px);
+}
+#calendar-export-button:hover {
+    -moz-image-region: rect(24px 288px 48px 264px);
+}
+
+/*--------------------------------------------------------------------
+ *   Export button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-export-button {
+    -moz-image-region: rect(0px 192px 16px 176px);
+}
+toolbar[iconsize="small"] #calendar-export-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-export-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-export-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 192px 48px 176px);
+}
+toolbar[iconsize="small"] #calendar-export-button:hover {
+    -moz-image-region: rect(16px 192px 32px 176px);
+}
+
+/*--------------------------------------------------------------------
+ *   Subscribe button
+ *-------------------------------------------------------------------*/
+
+#calendar-subscribe-button {
+    -moz-image-region: rect(0px 312px 24px 288px);
+}
+#calendar-subscribe-button[disabled="true"],
+#calendar-subscribe-button[disabled="true"]:hover,
+#calendar-subscribe-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 312px 72px 288px);
+}
+#calendar-subscribe-button:hover {
+    -moz-image-region: rect(24px 312px 48px 288px);
+}
+
+/*--------------------------------------------------------------------
+ *   Subscribe button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-subscribe-button {
+    -moz-image-region: rect(0px 208px 16px 192px);
+}
+toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-subscribe-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 208px 48px 192px);
+}
+toolbar[iconsize="small"] #calendar-subscribe-button:hover {
+    -moz-image-region: rect(16px 208px 32px 192px);
+}
+
+/*--------------------------------------------------------------------
+ *   Publish button
+ *-------------------------------------------------------------------*/
+
+#calendar-publish-button {
+    -moz-image-region: rect(0px 336px 24px 312px);
+}
+#calendar-publish-button[disabled="true"],
+#calendar-publish-button[disabled="true"]:hover,
+#calendar-publish-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(48px 336px 72px 312px);
+}
+#calendar-publish-button:hover {
+    -moz-image-region: rect(24px 336px 48px 312px);
+}
+
+/*--------------------------------------------------------------------
+ *   Publish button - small
+ *-------------------------------------------------------------------*/
+
+toolbar[iconsize="small"] #calendar-publish-button {
+    -moz-image-region: rect(0px 224px 16px 208px);
+}
+toolbar[iconsize="small"] #calendar-publish-button[disabled="true"],
+toolbar[iconsize="small"] #calendar-publish-button[disabled="true"]:hover,
+toolbar[iconsize="small"] #calendar-publish-button[disabled="true"]:hover:active {
+    -moz-image-region: rect(32px 224px 48px 208px);
+}
+toolbar[iconsize="small"] #calendar-publish-button:hover {
+    -moz-image-region: rect(16px 224px 32px 208px);
+}
--- a/mail/themes/pinstripe/mail/messageHeader.css
+++ b/mail/themes/pinstripe/mail/messageHeader.css
@@ -87,21 +87,29 @@
 }
 
 #otherActionsButton:hover {
   color: black;
   background-color: rgb(230,231,227);
   border: 2px solid #C0C3C6;
 }
 
-#otherActionsButton > .button-box > .button-menu-dropmarker > .dropmarker-icon {
+
+.msgHeaderView-button[type="menu"] > .button-box > .button-menu-dropmarker,
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-dropmarker {
+  -moz-appearance: none !important;
+}
+
+.msgHeaderView-button[type="menu"] > .button-box > .button-menu-dropmarker > .dropmarker-icon,
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-dropmarker > .dropmarker-icon {
   list-style-image: url("chrome://messenger/skin/icons/arrow-dn-grey.png");
 }
 
-#otherActionsButton:hover > .button-box > .button-menu-dropmarker > .dropmarker-icon {
+.msgHeaderView-button[type="menu"]:hover > .button-box > .button-menu-dropmarker > .dropmarker-icon,
+.msgHeaderView-button[type="menu-button"]:hover > .button-menubutton-dropmarker > .dropmarker-icon {
   list-style-image: url("chrome://messenger/skin/icons/arrow-dn-black.png");
 }
 
 #hideDetailsButton {
   font-weight: normal;
   font-size: 100%;
   background: none;
   color: #41413F; /* higher contrast */
@@ -145,18 +153,18 @@
 
 .hdrTrashButton {
   -moz-box-orient: vertical;
   list-style-image: url("chrome://messenger/skin/icons/folder-trash.png");
 }
 
 /* ::::: expanded header pane ::::: */
 
-#expandedHeadersButtonBox {
-  padding-bottom: 0;
+header-view-button-box {
+  padding: 0.5em 0.5em 0 0;
 }
 
 #expandedfromBox {
   padding-top: 0.5em;
 }
 
 /* ::::: edit message bar ::::: */
 
@@ -263,30 +271,67 @@ description[selectable="true"]:focus > d
 }
 
 
 .msgHeaderView-button {
   min-width: 1px;
   -moz-appearance: none;
   font-size: 90%;
   color: black;
-  margin-left: 0px;
+  margin: 1px 5px 2px 0;
   padding-left: 3px;
   padding-right: 3px;
   padding-top: 0px;
   padding-bottom: 0px;
   background-color: rgb(211,215,207);
   border: 2px solid #C0C3C6;
   -moz-border-radius: 4px;
+  -moz-border-top-colors: none;
+  -moz-border-right-colors: none;
+  -moz-border-bottom-colors: none;
+  -moz-border-left-colors: none;
+  min-height: 1ex;
 }
 
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-button {
+  -moz-appearance: none;
+  background-color: rgb(211,215,207);
+  -moz-border-radius: 0px;
+  border: 0;
+  border-right: 2px solid transparent;
+  padding-right: 0.2em;
+  margin: 0;
+  -moz-border-top-colors: none;
+  -moz-border-right-colors: none;
+  -moz-border-bottom-colors: none;
+  -moz-border-left-colors: none;
+}
+
+.msgHeaderView-button > .button-box,
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-button {
+  /* Needed to make the buttons at least the same height as the trash icon */
+  min-height: 16px;
+}
+
+.msgHeaderView-button[type="menu-button"]:hover > .button-menubutton-button {
+  background-color: rgb(230,231,227);
+}
+
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-button:hover {
+  border-right: 2px solid #B0B3B6;
+} 
+
 .msgHeaderView-button[secondary="true"] {
   background: none;
 }
 
+.msgHeaderView-button[disabled="true"] {
+  display: none;
+}
+
 .msgHeaderView-button > .toolbarbutton-text {
   margin: 0;
   padding: 0;
 }
 
 .msgHeaderView-button:hover {
   background-color: rgb(230,231,227);
   border: 2px solid #B0B3B6;
@@ -532,17 +577,16 @@ mail-emailaddress[selected="true"] .emai
 .addresstwisty[open] {
   list-style-image:url("chrome://messenger/skin/icons/arrow/arrow-down-dim.png");
 }
 
 .addresstwisty[open]:hover {
   list-style-image:url("chrome://messenger/skin/icons/arrow/arrow-down.png");
 }
 
-
 /* ::::: view expand and collapse twisties  ::::: */
 
 .expandHeaderViewButton {
   list-style-image:url("chrome://messenger/skin/icons/twisty-open.gif");
 }
 
 .collapsedHeaderViewButton  {
   list-style-image:url("chrome://messenger/skin/icons/twisty-closed.gif");
--- a/mail/themes/qute/mail/messageHeader.css
+++ b/mail/themes/qute/mail/messageHeader.css
@@ -75,47 +75,49 @@
 
 /* ::::: msg header buttons ::::: */
 .headerContainer
 {
   min-width: 1px;
 }
 
 #otherActionsButton {
-  -moz-appearance: none;
   margin-bottom: .1em;
   background: none;
   font-weight: normal;
   color: #41413F; /* higher contrast */
   border: 2px solid transparent;
   font-size: 100%;
   padding-top: 0px;
 }
 
 #otherActionsButton:hover {
   color: black;
   background-color: rgb(230,231,227);
   border: 2px solid #C0C3C6;
 }
 
-#otherActionsButton > .button-box > .button-menu-dropmarker {
+
+.msgHeaderView-button[type="menu"] > .button-box > .button-menu-dropmarker,
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-dropmarker {
   -moz-appearance: none !important;
 }
 
-#otherActionsButton > .button-box > .button-menu-dropmarker > .dropmarker-icon {
+.msgHeaderView-button[type="menu"] > .button-box > .button-menu-dropmarker > .dropmarker-icon,
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-dropmarker > .dropmarker-icon {
   padding-left: 4px;
   list-style-image: url("chrome://messenger/skin/icons/arrow-dn-grey.png");
 }
 
-#otherActionsButton:hover > .button-box > .button-menu-dropmarker > .dropmarker-icon {
+.msgHeaderView-button[type="menu"]:hover > .button-box > .button-menu-dropmarker > .dropmarker-icon,
+.msgHeaderView-button[type="menu-button"]:hover > .button-menubutton-dropmarker > .dropmarker-icon {
   list-style-image: url("chrome://messenger/skin/icons/arrow-dn-black.png");
 }
 
 #hideDetailsButton {
-  -moz-appearance: none;
   font-weight: normal;
   font-size: 100%;
   background: none;
   color: #41413F; /* higher contrast */
   border: 2px solid transparent;
   font-size: 100%;
 }
 
@@ -149,27 +151,26 @@
   background-position: center center;
 }
 
 #showDetailsButton:hover {
   background-color: rgb(230,231,227);
   border: 2px solid #C0C3C6;
 }
 
-
 /* ::::: expanded header pane ::::: */
 
-#expandedHeadersButtonBox {
-  padding-top: 0.5em;
-  padding-bottom: 0;
+header-view-button-box {
+  padding: 0.5em 0.5em 0 0;
 }
 
 #expandedfromBox {
   padding-top: 0.5em;
 }
+
 /* ::::: edit message bar ::::: */
 
 #editMessageBox
 {
   min-width: 1px;
   -moz-border-radius-bottomleft: 0.2em;
   -moz-border-radius-bottomright: 0.2em;
 }
@@ -255,42 +256,75 @@ description[selectable="true"]:focus > d
   padding: 0;
 }
 
 .msgHeaderView-button {
   min-width: 1px !important;
   -moz-appearance: none;
   font-size: 95%;
   color: black;
-  margin-left: 0px;
+  margin: 1px 5px 2px 0;
   padding-left: 3px;
   padding-right: 3px;
   padding-top: 0px;
   padding-bottom: 0px;
   background-color: rgb(211,215,207);
   border: 2px solid #C0C3C6;
   -moz-border-radius: 4px;
   -moz-border-top-colors: none;
   -moz-border-right-colors: none;
   -moz-border-bottom-colors: none;
   -moz-border-left-colors: none;
+  min-height: 1ex;
 }
 
 /* had to set a silly attribute on the XUL element to make it so that this
   rule overrides the rule above.  Better fix wanted! */
 .hdrTrashButton[trash="true"] { 
   -moz-box-orient: vertical !important;
   list-style-image: url("chrome://messenger/skin/icons/folder.png") !important;
   -moz-image-region: rect(1px 142px 15px 126px);
 }
 
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-button {
+  -moz-appearance: none;
+  background-color: rgb(211,215,207);
+  -moz-border-radius: 0px;
+  border: 0;
+  border-right: 2px solid transparent;
+  padding-right: 0.2em;
+  margin: 0;
+  -moz-border-top-colors: none;
+  -moz-border-right-colors: none;
+  -moz-border-bottom-colors: none;
+  -moz-border-left-colors: none;
+}
+
+.msgHeaderView-button > .button-box,
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-button {
+  /* Needed to make the buttons the same height as the trash icon */
+  min-height: 16px;
+}
+
+.msgHeaderView-button[type="menu-button"]:hover > .button-menubutton-button {
+  background-color: rgb(230,231,227);
+}
+
+.msgHeaderView-button[type="menu-button"] > .button-menubutton-button:hover {
+  border-right: 2px solid #B0B3B6;
+} 
+
 .msgHeaderView-button[secondary="true"] {
   background: none;
 }
 
+.msgHeaderView-button[disabled="true"] {
+  display: none;
+}
+
 .msgHeaderView-button > .toolbarbutton-text {
   margin: 0;
   padding: 0;
 }
 
 .msgHeaderView-button:hover {
   background-color: rgb(230,231,227);
   border: 2px solid #B0B3B6;
@@ -401,16 +435,17 @@ description[selectable="true"]:focus > d
   background-image: url("chrome://messenger/skin/tagbg.png");
   color: black;
   -moz-border-radius: 2px;
   padding-left: 3px;
   padding-right: 3px;
   padding-top: 1px;
   padding-bottom: 1px;
 }
+
 /* ::::: msg header message ids ::::: */
 
 .messageIdDisplayButton {
   cursor: pointer;
   color: #0000FF;
   text-decoration: underline;
   margin: 0;
   background-color: transparent;