snowl/content/river.xul

177 строки
7.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- ***** 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 Snowl.
-
- The Initial Developer of the Original Code is Mozilla.
- Portions created by the Initial Developer are Copyright (C) 2008
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Myk Melez <myk@mozilla.org>
-
- 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 href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://snowl/content/river.css" type="text/css"?>
<?xml-stylesheet href="chrome://snowl/content/riverContent.css" type="text/css"?>
<?xml-stylesheet href="chrome://snowl/content/toolbarbutton.css" type="text/css"?>
<!-- We load overlays via xul-overlay processing instructions rather than
- chrome.manifest instructions because manifest instructions require us
- to specify the exact URL to overlay, and our URL changes based on
- query parameters that get set in response to user searches. -->
<?xul-overlay href="chrome://snowl/content/write.xul"?>
<!-- toolbar.dtd gives us writeButton.tooltip -->
<!DOCTYPE page [
<!ENTITY % riverDTD SYSTEM "chrome://snowl/locale/river.dtd">
%riverDTD;
<!ENTITY % toolbarDTD SYSTEM "chrome://snowl/locale/toolbar.dtd">
%toolbarDTD;
<!ENTITY % filterTextboxDTD SYSTEM "chrome://snowl/locale/filterTextbox.dtd">
%filterTextboxDTD;
]>
<page id="snowlRiver"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
title="&page.title;"
onload="SnowlMessageView.onLoad()">
<!-- Note: the page intentionally has no onunload handler, as onunload
- would suppress the bfcache, which would cause Firefox to reload the view
- every time the user goes back to it after following a link away from it,
- and we want the user to be able to return to the page without causing it
- to be reloaded, since a reload will lose the user's place on it. -->
<script type="application/javascript" src="chrome://snowl/locale/date.js"/>
<script type="application/javascript" src="chrome://snowl/content/river.js"/>
<keyset>
<key id="pageLeftKey" keycode="VK_PAGE_UP" oncommand="SnowlMessageView.doPageMove(-1)" disabled="true"/>
<key id="pageRightKey" keycode="VK_PAGE_DOWN" oncommand="SnowlMessageView.doPageMove(1)" disabled="true"/>
<key keycode="VK_PAGE_UP" modifiers="shift" oncommand="SnowlMessageView.doColumnMove(-1)"/>
<key keycode="VK_PAGE_DOWN" modifiers="shift" oncommand="SnowlMessageView.doColumnMove(1)"/>
<key keycode="VK_HOME" oncommand="SnowlMessageView.onHome()"/>
<key keycode="VK_END" oncommand="SnowlMessageView.onEnd()"/>
</keyset>
<panel id="sourcePanel" onpopupshowing="Sources.onPopupShowing(event)">
<button label="&unsubscribe.title;" oncommand="Sources.onCommandUnstoreButton(event)"/>
</panel>
<stack flex="1" align="start" pack="end" >
<hbox flex="1">
<vbox flex="1">
<toolbar id="toolbar" align="center">
<!-- <toolbarbutton oncommand="dump(new XMLSerializer().serializeToString(document))"/> -->
<toolbarbutton id="bodyButton"
type="checkbox"
persist="checked"
class="tabbable"
oncommand="SnowlMessageView.onCommandBodyButton(event)"
tooltiptext="&bodyButton.tooltip;"/>
<toolbarbutton id="columnsButton"
type="checkbox"
persist="checked"
class="tabbable"
oncommand="SnowlMessageView.onCommandColumnsButton(event)"
tooltiptext="&columnsButton.tooltip;"/>
<menulist id="periodMenu" oncommand="SnowlMessageView.onSelectPeriod(event)">
<menupopup id="periodMenuPopup">
<menuitem label="&periodDay.label;"
class="menuitem-iconic"
image="chrome://snowl/content/icons/date.png"/>
<menuitem label="&periodWeek.label;"
class="menuitem-iconic"
image="chrome://snowl/content/icons/calendar_view_week.png"/>
<menuitem label="&periodMonth.label;"
class="menuitem-iconic"
image="chrome://snowl/content/icons/calendar_view_month.png"/>
</menupopup>
</menulist>
<toolbarbutton id="decrementPeriodButton" label="&lt;"
class="tabbable"
oncommand="SnowlMessageView.onDecrementPeriod()"
tooltiptext="&decrementPeriodButton.tooltip;"/>
<label id="periodLabel"/>
<toolbarbutton id="incrementPeriodButton" label="&gt;"
class="tabbable"
oncommand="SnowlMessageView.onIncrementPeriod()"
tooltiptext="&incrementPeriodButton.tooltip;"/>
<spacer flex="1"/>
<!-- FIXME: change type="timed" to type="search" once we no longer
- support Firefox 3.0. -->
<textbox id="filterTextbox" type="timed" timeout="200"
emptytext="&filterTextbox.emptytext;"
oncommand="SnowlMessageView.onFilter()"
hidden="true"/>
</toolbar>
<stack id="contentStack" flex="1">
<html:div id="contentBox"
onoverflow="SnowlMessageView.onFlowChange(event)"
onunderflow="SnowlMessageView.onFlowChange(event)"/>
<splitter id="columnResizeSplitter" left="410"
onmousedown="splitterDragObserver.onMouseDown(event)"
onmouseup="splitterDragObserver.onMouseUp(event)"/>
</stack>
</vbox>
<splitter id="sidebarSplitter"/>
<vbox id="sidebar" style="width: 200px;">
<richlistbox id="sourcesList" flex="1" onselect="Sources.onSelect(event)"/>
<vbox id="writeForm"/>
<toolbar id="snowlToolbar">
<toolbarbutton id="snowlRefreshButton"
class="tabbable"
oncommand="SnowlMessageView.onRefresh()"
tooltiptext="&refreshButton.tooltip;"/>
<toolbarspring/>
<toolbarbutton id="writeButton" type="checkbox"
class="tabbable"
oncommand="SnowlMessageView.onToggleWrite(event)"
tooltiptext="&writeButton.tooltip;"/>
</toolbar>
</vbox>
</hbox>
<image id="dogmark" left="0" top="0" state="open" width="24" height="24"
onclick="SnowlMessageView.onClickDogmark(event)"/>
</stack>
</page>