Fix bug 460252 - Today Pane Integration in the new Thunderbird tab model (currently not available in mail tab). r=Standard8,philipp a=clarkbw
authorPhilipp Kewisch <Philipp.Kewisch@SUN.com>
Mon, 23 Feb 2009 20:31:51 +0100
changeset 2059 fab45ddceb14a0e8f26704d96606bb2d476eb25a
parent 2058 d482f37dc46aecafa1061b51c402ba7527f369b5
child 2068 db800a5246e3894fe29cdff5fbab80c4186e65a9
push id1665
push usermozilla@kewis.ch
push dateMon, 23 Feb 2009 19:32:48 +0000
treeherdercomm-central@fab45ddceb14 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersStandard8, philipp, clarkbw
bugs460252
Fix bug 460252 - Today Pane Integration in the new Thunderbird tab model (currently not available in mail tab). r=Standard8,philipp a=clarkbw
calendar/lightning/content/messenger-overlay-sidebar.xul
mail/base/content/messenger.xul
--- a/calendar/lightning/content/messenger-overlay-sidebar.xul
+++ b/calendar/lightning/content/messenger-overlay-sidebar.xul
@@ -500,25 +500,27 @@
         </vbox>
 
         <splitter id="calsidebar_splitter" collapse="before" persist="state"/>
 
         <deck id="calendarDisplayDeck" flex="1">
           <!-- vbox "calendar-view-box will be overlayed..." -->
           <vbox id="calendar-view-box"/>
         </deck>
-
-        <splitter id="today-splitter" collapse="after" resizebefore="closest" state="collapsed">
-          <grippy/>
-        </splitter>
-        <modevbox id="today-pane-panel" persist="width"/>
       </box>
     </vbox>
   </tabpanels>
 
+  <hbox id="tabmail-container">
+    <splitter id="today-splitter" collapse="after" resizebefore="closest" state="collapsed">
+      <grippy/>
+    </splitter>
+    <modevbox id="today-pane-panel" persist="width"/>
+  </hbox>
+
   <statusbar id="status-bar">
     <statusbarpanel id="calendar-show-todaypane-panel"
                     pack="center">
       <toolbarbutton id="calendar-status-todaypane-button"
                      doubleimage="true"
                      type="checkbox"
                      label="&todaypane.statusButton.label;"
                      tooltiptext="&calendar.todaypane.button.tooltip;"
--- a/mail/base/content/messenger.xul
+++ b/mail/base/content/messenger.xul
@@ -169,182 +169,187 @@
 </popup>
 
 <popup id="messageIdContext"/>
 
 <tooltip id="folderpopup" class="folderSummaryPopup"/>
 
   <toolbox id="mail-toolbox" class="toolbox-top">
   </toolbox>
-  <tabmail id="tabmail" flex="1" panelcontainer="tabpanelcontainer">
-  <box id="tabmail-buttons" orientation="horizontal"/>
-  <tabpanels id="tabpanelcontainer" flex="1" class="plain" selectedIndex="0">
-   <box id="mailContent" orient="vertical" flex="1">
-    <box id="messengerBox" orient="horizontal" flex="1" minheight="100" height="100" persist="height">
-    <vbox id="folderPaneBox" minwidth="100" width="200" persist="collapsed width">
-      <label id="folderColumnLabel" hidden="true" value="&folderColumn.label;"/>
-      <sidebarheader id="folderPaneHeader" align="center">
-        <label id="folderpane-title"/>
-        <spacer flex="1"/>
-        <toolbarbutton id="folderview-cycler-left"  class="folderview-cycler"
-                       onclick="gFolderTreeView.cycleMode(false);"/>
-        <toolbarbutton id="folderview-cycler-right" class="folderview-cycler"
-                       onclick="gFolderTreeView.cycleMode(true);"/>
-      </sidebarheader>
+  <!-- XXX This extension point (tabmail-container) is only temporary!
+       Horizontal space shouldn't be wasted if it isn't absolutely critical.
+       A mechanism for adding sidebar panes will be added in bug 476154. -->
+  <hbox id="tabmail-container" flex="1">
+    <tabmail id="tabmail" flex="1" panelcontainer="tabpanelcontainer">
+      <box id="tabmail-buttons" orientation="horizontal"/>
+      <tabpanels id="tabpanelcontainer" flex="1" class="plain" selectedIndex="0">
+        <box id="mailContent" orient="vertical" flex="1">
+          <box id="messengerBox" orient="horizontal" flex="1" minheight="100" height="100" persist="height">
+            <vbox id="folderPaneBox" minwidth="100" width="200" persist="collapsed width">
+              <label id="folderColumnLabel" hidden="true" value="&folderColumn.label;"/>
+              <sidebarheader id="folderPaneHeader" align="center">
+                <label id="folderpane-title"/>
+                <spacer flex="1"/>
+                <toolbarbutton id="folderview-cycler-left"  class="folderview-cycler"
+                               onclick="gFolderTreeView.cycleMode(false);"/>
+                <toolbarbutton id="folderview-cycler-right" class="folderview-cycler"
+                               onclick="gFolderTreeView.cycleMode(true);"/>
+              </sidebarheader>
 
-      <tree id="folderTree" class="plain focusring" flex="1"
-            treelines="true"
-            hidecolumnpicker="true" persist="mode" mode="all"
-            keepcurrentinview="true"
-            context="folderPaneContext"
-            disableKeyNavigation="true"
-            ondraggesture="gFolderTreeView._onDragStart(event);"
-            ondragover="gFolderTreeView._onDragOver(event);"
-            ondblclick="gFolderTreeView.onDoubleClick(event);"
-            onselect="FolderPaneSelectionChange();">
-        <treecols id="folderPaneCols">
-          <treecol id="folderNameCol"
-                   flex="5"
-                   crop="center"
-                   persist="width"
-                   hideheader="true"
-                   ignoreincolumnpicker="true"
-                   primary="true"
-                   sortActive="true"
-                   sortDirection="ascending"/>
-        </treecols>
-        <treechildren tooltip="folderpopup"/>
-      </tree>
-    </vbox>
+              <tree id="folderTree" class="plain focusring" flex="1"
+                    treelines="true"
+                    hidecolumnpicker="true" persist="mode" mode="all"
+                    keepcurrentinview="true"
+                    context="folderPaneContext"
+                    disableKeyNavigation="true"
+                    ondraggesture="gFolderTreeView._onDragStart(event);"
+                    ondragover="gFolderTreeView._onDragOver(event);"
+                    ondblclick="gFolderTreeView.onDoubleClick(event);"
+                    onselect="FolderPaneSelectionChange();">
+                <treecols id="folderPaneCols">
+                  <treecol id="folderNameCol"
+                           flex="5"
+                           crop="center"
+                           persist="width"
+                           hideheader="true"
+                           ignoreincolumnpicker="true"
+                           primary="true"
+                           sortActive="true"
+                           sortDirection="ascending"/>
+                </treecols>
+                <treechildren tooltip="folderpopup"/>
+              </tree>
+            </vbox>
 
-    <splitter id="folderpane_splitter" collapse="before" persist="state"/>
+            <splitter id="folderpane_splitter" collapse="before" persist="state"/>
 
-    <vbox flex="1">
-      <box orient="vertical" id="messagesBox" flex="1">
-          <deck id="displayDeck" flex="1" selectedIndex="0"
-                minheight="100" height="100" persist="height"
-                onselect="ObserveDisplayDeckChange(event)">
-          <!-- first panel in displayDeck is Account Central -->
-          <vbox id="accountCentralBox" flex="1">
-            <iframe name="accountCentralPane" width="150" flex="1" src="about:blank"/>
-          </vbox>
-          <!-- second panel is the threadPane -->
-          <hbox id="threadPaneBox">
-            <tree id="threadTree"
-                  persist="lastfoldersent width"
-                  treelines="true"
-                  flex="2"
-                  enableColumnDrag="true"
-                  _selectDelay="250"
-                  class="plain focusring"
-                  lastfoldersent="false"
-                  keepcurrentinview="true"
-                  disableKeyNavigation="true"
-                  context="mailContext"
-                  onkeypress="ThreadPaneKeyPress(event);"
-                  onselect="ThreadPaneSelectionChanged();">
-              <treecols id="threadCols" pickertooltiptext="&columnChooser.tooltip;">
-               <treecol id="threadCol" persist="hidden ordinal" fixed="true" cycler="true"
-                        class="treecol-image threadColumnHeader" currentView="unthreaded"
-                        label="&threadColumn.label;" tooltiptext="&threadColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="attachmentCol" persist="hidden ordinal" fixed="true"
-                        class="treecol-image attachmentColumnHeader"
-                        label="&attachmentColumn.label;" tooltiptext="&attachmentColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="flaggedCol" persist="hidden ordinal" fixed="true" cycler="true"
-                        class="treecol-image flagColumnHeader"
-                        label="&starredColumn.label;" tooltiptext="&starredColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="subjectCol" persist="hidden ordinal width" flex="7" ignoreincolumnpicker="true"
-                        label="&subjectColumn.label;" tooltiptext="&subjectColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="unreadButtonColHeader" persist="hidden ordinal" fixed="true" cycler="true"
-                        class="treecol-image readColumnHeader"
-                        label="&readColumn.label;" tooltiptext="&readColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="senderCol" persist="hidden swappedhidden ordinal width" flex="4"
-                        hidden="false" swappedhidden="true"
-                        label="&fromColumn.label;" tooltiptext="&fromColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="recipientCol" persist="hidden swappedhidden ordinal width" flex="4"
-                        hidden="true" swappedhidden="false"
-                        label="&recipientColumn.label;" tooltiptext="&recipientColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="junkStatusCol" persist="hidden ordinal width" fixed="true" cycler="true"
-                        class="treecol-image junkStatusHeader"
-                        label="&junkStatusColumn.label;" tooltiptext="&junkStatusColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="receivedCol" persist="hidden ordinal width temphidden" flex="2" hidden="true"
-                        label="&receivedColumn.label;" tooltiptext="&receivedColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="dateCol" persist="hidden ordinal width" flex="2" 
-                        label="&dateColumn.label;" tooltiptext="&dateColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="statusCol" persist="hidden ordinal width" flex="1" hidden="true"
-                        label="&statusColumn.label;" tooltiptext="&statusColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="sizeCol" persist="hidden ordinal width" flex="1" hidden="true"
-                        label="&sizeColumn.label;" tooltiptext="&sizeColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="tagsCol" persist="hidden ordinal width" flex="1" hidden="true"
-                        label="&tagsColumn.label;" tooltiptext="&tagsColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="accountCol" persist="hidden ordinal width" flex="1" hidden="true"
-                        label="&accountColumn.label;" tooltiptext="&accountColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="priorityCol" persist="hidden ordinal width" flex="1" hidden="true"
-                        label="&priorityColumn.label;" tooltiptext="&priorityColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="unreadCol" persist="hidden ordinal width" flex="1" hidden="true"
-                        label="&unreadColumn.label;" tooltiptext="&unreadColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="totalCol" persist="hidden ordinal width" flex="1" hidden="true"
-                        label="&totalColumn.label;" tooltiptext="&totalColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="locationCol" persist="width" flex="1" hidden="true" ignoreincolumnpicker="true"
-                        label="&locationColumn.label;" tooltiptext="&locationColumn.tooltip;"/>
-               <splitter class="tree-splitter"/>
-               <treecol id="idCol" persist="hidden ordinal width" flex="1" hidden="true"
-                        label="&idColumn.label;" tooltiptext="&idColumn.tooltip;"/>
-              </treecols>
-            <treechildren ondraggesture="threadPaneOnDragStart(event);"/>
-          </tree>
-        </hbox>
-        <!-- extensions may overlay in additional panels; don't assume that there are only 2! -->
-        </deck> <!-- displayDeck -->
+            <vbox flex="1">
+              <box orient="vertical" id="messagesBox" flex="1">
+                <deck id="displayDeck" flex="1" selectedIndex="0"
+                      minheight="100" height="100" persist="height"
+                      onselect="ObserveDisplayDeckChange(event)">
+                  <!-- first panel in displayDeck is Account Central -->
+                  <vbox id="accountCentralBox" flex="1">
+                    <iframe name="accountCentralPane" width="150" flex="1" src="about:blank"/>
+                  </vbox>
+                  <!-- second panel is the threadPane -->
+                  <hbox id="threadPaneBox">
+                    <tree id="threadTree"
+                          persist="lastfoldersent width"
+                          treelines="true"
+                          flex="2"
+                          enableColumnDrag="true"
+                          _selectDelay="250"
+                          class="plain focusring"
+                          lastfoldersent="false"
+                          keepcurrentinview="true"
+                          disableKeyNavigation="true"
+                          context="mailContext"
+                          onkeypress="ThreadPaneKeyPress(event);"
+                          onselect="ThreadPaneSelectionChanged();">
+                      <treecols id="threadCols" pickertooltiptext="&columnChooser.tooltip;">
+                        <treecol id="threadCol" persist="hidden ordinal" fixed="true" cycler="true"
+                                 class="treecol-image threadColumnHeader" currentView="unthreaded"
+                                 label="&threadColumn.label;" tooltiptext="&threadColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="attachmentCol" persist="hidden ordinal" fixed="true"
+                                 class="treecol-image attachmentColumnHeader"
+                                 label="&attachmentColumn.label;" tooltiptext="&attachmentColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="flaggedCol" persist="hidden ordinal" fixed="true" cycler="true"
+                                 class="treecol-image flagColumnHeader"
+                                 label="&starredColumn.label;" tooltiptext="&starredColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="subjectCol" persist="hidden ordinal width" flex="7" ignoreincolumnpicker="true"
+                                 label="&subjectColumn.label;" tooltiptext="&subjectColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="unreadButtonColHeader" persist="hidden ordinal" fixed="true" cycler="true"
+                                 class="treecol-image readColumnHeader"
+                                 label="&readColumn.label;" tooltiptext="&readColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="senderCol" persist="hidden swappedhidden ordinal width" flex="4"
+                                 hidden="false" swappedhidden="true"
+                                 label="&fromColumn.label;" tooltiptext="&fromColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="recipientCol" persist="hidden swappedhidden ordinal width" flex="4"
+                                 hidden="true" swappedhidden="false"
+                                 label="&recipientColumn.label;" tooltiptext="&recipientColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="junkStatusCol" persist="hidden ordinal width" fixed="true" cycler="true"
+                                 class="treecol-image junkStatusHeader"
+                                 label="&junkStatusColumn.label;" tooltiptext="&junkStatusColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="receivedCol" persist="hidden ordinal width temphidden" flex="2" hidden="true"
+                                 label="&receivedColumn.label;" tooltiptext="&receivedColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="dateCol" persist="hidden ordinal width" flex="2" 
+                                 label="&dateColumn.label;" tooltiptext="&dateColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="statusCol" persist="hidden ordinal width" flex="1" hidden="true"
+                                 label="&statusColumn.label;" tooltiptext="&statusColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="sizeCol" persist="hidden ordinal width" flex="1" hidden="true"
+                                 label="&sizeColumn.label;" tooltiptext="&sizeColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="tagsCol" persist="hidden ordinal width" flex="1" hidden="true"
+                                 label="&tagsColumn.label;" tooltiptext="&tagsColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="accountCol" persist="hidden ordinal width" flex="1" hidden="true"
+                                 label="&accountColumn.label;" tooltiptext="&accountColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="priorityCol" persist="hidden ordinal width" flex="1" hidden="true"
+                                 label="&priorityColumn.label;" tooltiptext="&priorityColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="unreadCol" persist="hidden ordinal width" flex="1" hidden="true"
+                                 label="&unreadColumn.label;" tooltiptext="&unreadColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="totalCol" persist="hidden ordinal width" flex="1" hidden="true"
+                                 label="&totalColumn.label;" tooltiptext="&totalColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="locationCol" persist="width" flex="1" hidden="true" ignoreincolumnpicker="true"
+                                 label="&locationColumn.label;" tooltiptext="&locationColumn.tooltip;"/>
+                        <splitter class="tree-splitter"/>
+                        <treecol id="idCol" persist="hidden ordinal width" flex="1" hidden="true"
+                                 label="&idColumn.label;" tooltiptext="&idColumn.tooltip;"/>
+                      </treecols>
+                    <treechildren ondraggesture="threadPaneOnDragStart(event);"/>
+                  </tree>
+                  </hbox>
+                <!-- extensions may overlay in additional panels; don't assume that there are only 2! -->
+                </deck> <!-- displayDeck -->
 
-      <!-- if you change this id, please change GetThreadAndMessagePaneSplitter() and MsgToggleMessagePane() -->
-        <splitter id="threadpane-splitter" collapse="after" persist="state" collapsed="true"
-                  onmouseup="OnMouseUpThreadAndMessagePaneSplitter()"/>
+                <!-- if you change this id, please change GetThreadAndMessagePaneSplitter() and MsgToggleMessagePane() -->
+                <splitter id="threadpane-splitter" collapse="after" persist="state" collapsed="true"
+                          onmouseup="OnMouseUpThreadAndMessagePaneSplitter()"/>
 
-        <vbox id="messagepanebox" flex="2" minheight="100" height="200"
-              minwidth="100" width="200" persist="height width">
+                <vbox id="messagepanebox" flex="2" minheight="100" height="200"
+                      minwidth="100" width="200" persist="height width">
 
-          <hbox id="msgHeaderView"/>
-          <hbox id="editMessageBox"/>
-          <deck id="msgNotificationBar"/>
-          <browser id="messagepane" context="mailContext" autofind="false"
-                   minheight="1" flex="1" name="messagepane"
-                   disablehistory="true" type="content-primary" src="about:blank"
-                   onresize="return messagePaneOnResize(event);"
-                   disablesecurity="true" onclick="return contentAreaClick(event);"/>
-          <splitter id="attachment-splitter" collapse="after" resizebefore="closest" resizeafter="closest" collapsed="true"/>
-          <hbox id="attachmentView"/>
-          <findbar id="FindToolbar" browserid="messagepane"/>
+                  <hbox id="msgHeaderView"/>
+                  <hbox id="editMessageBox"/>
+                  <deck id="msgNotificationBar"/>
+                  <browser id="messagepane" context="mailContext" autofind="false"
+                           minheight="1" flex="1" name="messagepane"
+                           disablehistory="true" type="content-primary" src="about:blank"
+                           onresize="return messagePaneOnResize(event);"
+                           disablesecurity="true" onclick="return contentAreaClick(event);"/>
+                  <splitter id="attachment-splitter" collapse="after" resizebefore="closest" resizeafter="closest" collapsed="true"/>
+                  <hbox id="attachmentView"/>
+                  <findbar id="FindToolbar" browserid="messagepane"/>
+                </vbox>
+              </box>
+            </vbox>
+          </box>
+        </box> <!-- end of mailContent -->
+        <vbox id="aboutPanel">
+          <iframe id="aboutPanelFrame" flex="1" type="content" src="about:blank"/>
         </vbox>
-      </box>
-    </vbox>
-    </box>
-   </box> <!-- end of mailContent -->
-   <vbox id="aboutPanel">
-     <iframe id="aboutPanelFrame" flex="1" type="content" src="about:blank"/>
-   </vbox>
-  </tabpanels>
-  </tabmail>
+      </tabpanels>
+    </tabmail>
+  </hbox>
 #ifdef TOOLBAR_CUSTOMIZATION_SHEET
   <panel id="customizeToolbarSheetPopup" noautohide="true">
     <iframe id="customizeToolbarSheetIFrame"
             style="&dialog.style;"
             hidden="true"/>
   </panel>
 #endif