Bug 387740 move the toolbar items in the organizer to an "Organize" menu in the search bar (r=mano, a=beltzner)

This commit is contained in:
dietrich@mozilla.com 2007-09-18 14:26:46 -07:00
Родитель 05ad261425
Коммит 359cfcaf92
10 изменённых файлов: 364 добавлений и 455 удалений

Просмотреть файл

@ -67,7 +67,7 @@ var PlacesOrganizer = {
OptionsFilter.init(Groupers); OptionsFilter.init(Groupers);
Groupers.init(); Groupers.init();
// Select the specified place in the places list. // Select the specified place in the places list.
var placeURI = "place:"; var placeURI = "place:";
if ("arguments" in window) if ("arguments" in window)
placeURI = window.arguments[0]; placeURI = window.arguments[0];
@ -91,6 +91,48 @@ var PlacesOrganizer = {
OptionsFilter.destroy(); OptionsFilter.destroy();
}, },
_location: null,
get location() {
return this._location;
},
set location(aLocation) {
LOG("Node URI: " + aLocation);
if (!aLocation)
return aLocation;
if (this.location)
this._backHistory.unshift(this.location);
this._content.place = this._location = aLocation;
// update navigation commands
if (this._backHistory.length == 0)
document.getElementById("OrganizerCommand:Back").setAttribute("disabled", true);
else
document.getElementById("OrganizerCommand:Back").removeAttribute("disabled");
if (this._forwardHistory.length == 0)
document.getElementById("OrganizerCommand:Forward").setAttribute("disabled", true);
else
document.getElementById("OrganizerCommand:Forward").removeAttribute("disabled");
return aLocation;
},
_backHistory: [],
_forwardHistory: [],
back: function PO_back() {
this._forwardHistory.unshift(this.location);
var historyEntry = this._backHistory.shift();
this._location = null;
this.location = historyEntry;
},
forward: function PO_forward() {
var historyEntry = this._forwardHistory.shift();
this.location = historyEntry;
},
HEADER_TYPE_SHOWING: 1, HEADER_TYPE_SHOWING: 1,
HEADER_TYPE_SEARCH: 2, HEADER_TYPE_SEARCH: 2,
HEADER_TYPE_ADVANCED_SEARCH: 3, HEADER_TYPE_ADVANCED_SEARCH: 3,
@ -106,6 +148,7 @@ var PlacesOrganizer = {
*/ */
setHeaderText: function PO_setHeaderText(type, text) { setHeaderText: function PO_setHeaderText(type, text) {
NS_ASSERT(type == 1 || type == 2 || type == 3, "Invalid Header Type"); NS_ASSERT(type == 1 || type == 2 || type == 3, "Invalid Header Type");
var prefix = document.getElementById("showingPrefix"); var prefix = document.getElementById("showingPrefix");
prefix.setAttribute("value", prefix.setAttribute("value",
PlacesUtils.getString("headerTextPrefix" + type)); PlacesUtils.getString("headerTextPrefix" + type));
@ -142,11 +185,17 @@ var PlacesOrganizer = {
* Loads the place URI entered in the debug * Loads the place URI entered in the debug
*/ */
loadPlaceURI: function PO_loadPlaceURI() { loadPlaceURI: function PO_loadPlaceURI() {
// clear forward history
this._forwardHistory.splice(0);
var placeURI = document.getElementById("placeURI"); var placeURI = document.getElementById("placeURI");
var queriesRef = { }, optionsRef = { }; var queriesRef = { }, optionsRef = { };
PlacesUtils.history.queryStringToQueries(placeURI.value, PlacesUtils.history.queryStringToQueries(placeURI.value,
queriesRef, { }, optionsRef); queriesRef, { }, optionsRef);
// for debug panel
var autoFilterResults = document.getElementById("autoFilterResults"); var autoFilterResults = document.getElementById("autoFilterResults");
if (autoFilterResults.checked) { if (autoFilterResults.checked) {
var options = var options =
@ -154,7 +203,13 @@ var PlacesOrganizer = {
} }
else else
options = optionsRef.value; options = optionsRef.value;
this._content.load(queriesRef.value, options);
this.location =
PlacesUtils.history.queriesToQueryString(queriesRef.value,
queriesRef.value.length,
options);
placeURI.value = this.location;
this.setHeaderText(this.HEADER_TYPE_SHOWING, "Debug results for: " + placeURI.value); this.setHeaderText(this.HEADER_TYPE_SHOWING, "Debug results for: " + placeURI.value);
@ -185,17 +240,21 @@ var PlacesOrganizer = {
onPlaceSelected: function PO_onPlaceSelected(resetSearchBox) { onPlaceSelected: function PO_onPlaceSelected(resetSearchBox) {
if (!this._places.hasSelection) if (!this._places.hasSelection)
return; return;
var node = asQuery(this._places.selectedNode); var node = asQuery(this._places.selectedNode);
LOG("Node URI: " + node.uri);
var queries = node.getQueries({}); var queries = node.getQueries({});
// Items are only excluded on the left pane // Items are only excluded on the left pane
var options = node.queryOptions.clone(); var options = node.queryOptions.clone();
options.excludeItems = false; options.excludeItems = false;
this._content.load(queries, // clear forward history
OptionsFilter.filter(queries, options, null)); this._forwardHistory.splice(0);
// update location
this.location = PlacesUtils.history.queriesToQueryString(queries, queries.length, options);
// Make sure the query builder is hidden. // Make sure the query builder is hidden.
PlacesQueryBuilder.hide(); PlacesQueryBuilder.hide();
if (resetSearchBox) { if (resetSearchBox) {
@ -439,22 +498,6 @@ var PlacesOrganizer = {
} }
}, },
updateStatusBarForView: function PO_updateStatusBarForView(aView) {
var statusText = "";
var selectedNode = aView.selectedNode;
if (selectedNode) {
if (PlacesUtils.nodeIsFolder(selectedNode)) {
var childsCount =
PlacesUtils.getFolderContents(selectedNode.itemId).root.childCount;
statusText = PlacesUtils.getFormattedString("status_foldercount",
[childsCount]);
}
else if (PlacesUtils.nodeIsBookmark(selectedNode))
statusText = selectedNode.uri;
}
document.getElementById("status").label = statusText;
},
onContentTreeSelect: function PO_onContentTreeSelect() { onContentTreeSelect: function PO_onContentTreeSelect() {
var contentTree = document.getElementById("placeContent"); var contentTree = document.getElementById("placeContent");
var deck = document.getElementById("infoDeck"); var deck = document.getElementById("infoDeck");
@ -740,7 +783,7 @@ var PlacesQueryBuilder = {
var advancedSearch = document.getElementById("advancedSearch"); var advancedSearch = document.getElementById("advancedSearch");
// Need to collapse the advanced search box. // Need to collapse the advanced search box.
advancedSearch.collapsed = true; advancedSearch.collapsed = true;
var titleDeck = document.getElementById("titleDeck"); var titleDeck = document.getElementById("titleDeck");
titleDeck.setAttribute("selectedIndex", 0); titleDeck.setAttribute("selectedIndex", 0);
}, },
@ -775,6 +818,7 @@ var PlacesQueryBuilder = {
// Titlebar should show "match any/all" iff there are > 1 queries visible. // Titlebar should show "match any/all" iff there are > 1 queries visible.
var titleDeck = document.getElementById("titleDeck"); var titleDeck = document.getElementById("titleDeck");
titleDeck.setAttribute("selectedIndex", (this._numRows <= 1) ? 0 : 1); titleDeck.setAttribute("selectedIndex", (this._numRows <= 1) ? 0 : 1);
const asType = PlacesOrganizer.HEADER_TYPE_ADVANCED_SEARCH; const asType = PlacesOrganizer.HEADER_TYPE_ADVANCED_SEARCH;
PlacesOrganizer.setHeaderText(asType, ""); PlacesOrganizer.setHeaderText(asType, "");
@ -1260,7 +1304,7 @@ var ViewMenu = {
/** /**
* Set up the content of the view menu. * Set up the content of the view menu.
*/ */
populate: function VM_populate(event) { populateSortMenu: function VM_populateSortMenu(event) {
this.fillWithColumns(event, "viewUnsorted", "directionSeparator", "radio", "view.sortBy."); this.fillWithColumns(event, "viewUnsorted", "directionSeparator", "radio", "view.sortBy.");
var sortColumn = this._getSortColumn(); var sortColumn = this._getSortColumn();
@ -1447,7 +1491,7 @@ var Groupers = {
annotationGroupers: [], annotationGroupers: [],
/** /**
* Initializes groupings for various vie types. * Initializes groupings for various view types.
*/ */
init: function G_init() { init: function G_init() {
this.defaultGrouper = this.defaultGrouper =

Просмотреть файл

@ -44,9 +44,13 @@
<?xml-stylesheet href="chrome://global/skin/"?> <?xml-stylesheet href="chrome://global/skin/"?>
<?xml-stylesheet href="chrome://browser/skin/places/places.css"?> <?xml-stylesheet href="chrome://browser/skin/places/places.css"?>
#ifdef XP_MACOSX
<?xul-overlay href="chrome://browser/content/macBrowserOverlay.xul"?>
#else
<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?> <?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?> <?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?> <?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
#endif
<!DOCTYPE window [ <!DOCTYPE window [
<!ENTITY % placesDTD SYSTEM "chrome://browser/locale/places/places.dtd"> <!ENTITY % placesDTD SYSTEM "chrome://browser/locale/places/places.dtd">
@ -56,7 +60,7 @@
]> ]>
<window id="places" <window id="places"
title="&places.bm.title;" title="&places.organizer.title;"
windowtype="Places:Organizer" windowtype="Places:Organizer"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="PlacesOrganizer.init();" onload="PlacesOrganizer.init();"
@ -66,12 +70,13 @@
<script type="application/x-javascript" <script type="application/x-javascript"
src="chrome://browser/content/places/places.js"/> src="chrome://browser/content/places/places.js"/>
<stringbundleset id="stringbundleset"/>
#ifdef XP_MACOSX
#include ../../../base/content/browserMountPoints.inc
#else
<commandset id="editMenuCommands"/> <commandset id="editMenuCommands"/>
<commandset id="baseMenuCommandSet"/>
<commandset id="placesCommands"/> <commandset id="placesCommands"/>
#endif
<commandset id="organizerCommandSet"> <commandset id="organizerCommandSet">
<command id="OrganizerCommand_find:all" <command id="OrganizerCommand_find:all"
@ -94,6 +99,10 @@
oncommand="PlacesOrganizer.saveSearch();"/> oncommand="PlacesOrganizer.saveSearch();"/>
<command id="OrganizerCommand_search:moreCriteria" <command id="OrganizerCommand_search:moreCriteria"
oncommand="PlacesQueryBuilder.addRow();"/> oncommand="PlacesQueryBuilder.addRow();"/>
<command id="OrganizerCommand:Back"
oncommand="PlacesOrganizer.back();"/>
<command id="OrganizerCommand:Forward"
oncommand="PlacesOrganizer.forward();"/>
</commandset> </commandset>
<broadcasterset id="placesGroupingBroadcasters"> <broadcasterset id="placesGroupingBroadcasters">
@ -102,7 +111,6 @@
<broadcaster id="placesBC_grouping:separator"/> <broadcaster id="placesBC_grouping:separator"/>
</broadcasterset> </broadcasterset>
<keyset id="baseMenuKeyset"/>
<keyset id="placesOrganizerKeyset"> <keyset id="placesOrganizerKeyset">
<!-- Instantiation Keys --> <!-- Instantiation Keys -->
<key id="placesKey_close" key="&cmd.close.key;" modifiers="accel" <key id="placesKey_close" key="&cmd.close.key;" modifiers="accel"
@ -162,27 +170,159 @@
<popup id="placesContext"/> <popup id="placesContext"/>
</popupset> </popupset>
<toolbox> <toolbox id="placesToolbox">
<menubar id="placesMenubar"> <toolbar class="chromeclass-toolbar" id="placesToolbar">
<menu id="fileMenu" label="&file.label;" accesskey="&file.accesskey;"> <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
<menupopup> command="OrganizerCommand:Back"
<menuitem id="fileNewBookmark" tooltiptext="&backButton.tooltip;"
accesskey="&backCmd.accesskey;"
disabled="true"/>
<toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
command="OrganizerCommand:Forward"
tooltiptext="&forwardButton.tooltip;"
accesskey="&forwardCmd.accesskey;"
disabled="true"/>
<toolbarbutton id="organizeButton" type="menu" label="&organize.label;">
<menupopup id="organizeButtonPopup">
<menuitem id="newbookmark"
command="placesCmd_new:bookmark" command="placesCmd_new:bookmark"
label="&cmd.new_bookmark.label;" label="&cmd.new_bookmark.label;"
accesskey="&cmd.new_bookmark.accesskey;"/> accesskey="&cmd.new_bookmark.accesskey;"/>
<menuitem id="fileNewLivemark" <menuitem id="newfolder"
command="placesCmd_new:livemark"
label="&cmd.new_livemark.label;"
accesskey="&cmd.new_livemark.accesskey;"/>
<menuitem id="fileNewFolder"
command="placesCmd_new:folder" command="placesCmd_new:folder"
label="&cmd.new_folder.label;" label="&cmd.new_folder.label;"
accesskey="&cmd.new_folder.accesskey;"/> accesskey="&cmd.new_folder.accesskey;"/>
<menuitem id="fileNewSeparator" <menuitem id="newseparator"
command="placesCmd_new:separator" command="placesCmd_new:separator"
label="&cmd.new_separator.label;" label="&cmd.new_separator.label;"
accesskey="&cmd.new_separator.accesskey;"/> accesskey="&cmd.new_separator.accesskey;"/>
<menuseparator/>
<menuseparator id="orgCutSeparator"/>
<menuitem id="orgCut"
command="cmd_cut"
label="&cutCmd.label;"
key="key_cut"
accesskey="&cutCmd.accesskey;"
selection="separator|link|folder|mixed"/>
<menuitem id="orgCopy"
command="cmd_copy"
label="&copyCmd.label;"
key="key_copy"
accesskey="&copyCmd.accesskey;"
selection="separator|link|folder|mixed"/>
<menuitem id="orgPaste"
command="cmd_paste"
label="&pasteCmd.label;"
key="key_paste"
accesskey="&pasteCmd.accesskey;"
selection="mutable"/>
<menuitem id="orgUndo"
command="cmd_undo"
label="&undoCmd.label;"
key="key_undo"
accesskey="&undoCmd.accesskey;"/>
<menuitem id="orgRedo"
command="cmd_redo"
label="&redoCmd.label;"
key="key_redo"
accesskey="&redoCmd.accesskey;"/>
<menuseparator id="selectAllSeparator"/>
<menuitem id="orgSelectAll"
command="cmd_selectAll"
label="&selectAllCmd.label;"
key="key_selectAll"
accesskey="&selectAllCmd.accesskey;"/>
<menuseparator id="orgMoveSeparator"/>
<menuitem id="orgDelete"
command="cmd_delete"
label="&deleteCmd.label;"
key="key_delete"
accesskey="&deleteCmd.accesskey;"/>
<menuitem id="orgRename"
command="placesCmd_rename"
label="&cmd.rename.label;"
accesskey="&cmd.rename.accesskey;"/>
<menuitem id="orgProperties"
command="placesCmd_show:info"
label="&cmd.properties.label;"
key="placesKey_show:info"
accesskey="&cmd.properties.accesskey;"/>
<menuseparator id="orgCloseSeparator"/>
<menuitem id="orgClose"
key="placesKey_close"
label="&file.close.label;"
accesskey="&file.close.accesskey;"
oncommand="close();"/>
</menupopup>
</toolbarbutton>
<toolbarbutton id="viewMenu" type="menu"
label="&views.label;"
accesskey="&view.accesskey;">
<menupopup id="viewMenuPopup">
<menuitem id="viewDetails"
type="radio"
#ifdef MACOSX
label="&view.detailsMacOSX.label;"
#else
label="&view.details.label;"
#endif
accesskey="&view.details.label;">
</menuitem>
<menuseparator id="addonsSeparator"/>
<!--
<menuitem id="viewAddons"
command=""
label="&view.addons.label;"
accesskey="&view.addons.label;"/>
<menuseparator id="sortingSeparator"/>
-->
<menu id="viewColumns"
label="&view.columns.label;" accesskey="&view.columns.accesskey;">
<menupopup onpopupshowing="ViewMenu.fillWithColumns(event, null, null, 'checkbox', null);"
oncommand="ViewMenu.showHideColumn(event.target); event.stopPropagation();"/>
</menu>
<menu id="viewSort" label="&view.sort.label;"
accesskey="&view.sort.accesskey;">
<menupopup onpopupshowing="ViewMenu.populateSortMenu(event);"
oncommand="ViewMenu.setSortColumn(event.target.getAttribute('column'), null);">
<menuitem id="viewUnsorted" type="radio" name="columns"
label="&view.unsorted.label;" accesskey="&view.unsorted.accesskey;"
oncommand="ViewMenu.setSortColumn(null, null);"/>
<menuseparator id="directionSeparator"/>
<menuitem id="viewSortAscending" type="radio" name="direction"
label="&view.sortAscending.label;" accesskey="&view.sortAscending.accesskey;"
oncommand="ViewMenu.setSortColumn(null, 'ascending'); event.stopPropagation();"/>
<menuitem id="viewSortDescending" type="radio" name="direction"
label="&view.sortDescending.label;" accesskey="&view.sortDescending.accesskey;"
oncommand="ViewMenu.setSortColumn(null, 'descending'); event.stopPropagation();"/>
</menupopup>
</menu>
<!--
<menuseparator id="groupingSeparator" observes="placesBC_grouping:separator"/>
<menuitem id="viewGroupNone" type="radio" name="group"
observes="placesBC_grouping:off"/>
<menuitem id="viewGroupGroup" type="radio" name="group"
observes="placesBC_grouping:on"/>
-->
</menupopup>
</toolbarbutton>
<toolbarbutton id="maintenanceButton" style="min-width:0px !important;"
type="menu" label="&maintenance.label;">
<menupopup id="maintenanceButtonPopup">
<menuitem id="fileImport" <menuitem id="fileImport"
command="OrganizerCommand_import" command="OrganizerCommand_import"
label="&cmd.import.label;" label="&cmd.import.label;"
@ -205,142 +345,19 @@
accesskey="&cmd.restoreFromFile.accesskey;"/> accesskey="&cmd.restoreFromFile.accesskey;"/>
</menupopup> </menupopup>
</menu> </menu>
<menuseparator/>
<menuitem id="fileClose"
key="placesKey_close"
label="&file.close.label;"
accesskey="&file.close.accesskey;"
oncommand="close();"/>
</menupopup> </menupopup>
</menu> </toolbarbutton>
<menu id="editMenu" label="&edit.label;" accesskey="&edit.accesskey;">
<menupopup>
<menuitem id="menu_undo"/>
<menuitem id="menu_redo"/>
<menuseparator/>
<menuitem id="menu_cut"/>
<menuitem id="menu_copy"/>
<menuitem id="menu_paste"/>
<menuitem id="menu_delete"/>
<menuseparator/>
<menuitem id="menu_selectAll"/>
<menuseparator/>
<menuitem id="editFindAll"
command="OrganizerCommand_find:all"
key="placesKey_find:all"/>
<menuitem id="editFindCurrent"
command="OrganizerCommand_find:current"
key="placesKey_find:current"/>
<menuseparator/>
<menuitem command="placesCmd_moveBookmarks"
label="&cmd.moveBookmarks.menuLabel;"
accesskey="&cmd.moveBookmarks.menuAccesskey;"/>
<menuitem command="placesCmd_setAsBookmarksToolbarFolder"
label="&cmd.personalToolbarFolder.menuLabel;"
accesskey="&cmd.personalToolbarFolder.menuAccesskey;"/>
<menuseparator/>
<menuitem id="editReload"
command="placesCmd_reload"
label="&cmd.reloadLivebookmark.label;"
accesskey="&cmd.reloadLivebookmark.accesskey;"/>
<menuitem id="editReloadMicrosummary"
command="placesCmd_reloadMicrosummary"
label="&cmd.reloadMicrosummary.label;"
accesskey="&cmd.reloadMicrosummary.accesskey;"/>
<menuseparator/>
<menuitem id="properties"
command="placesCmd_show:info"
key="placesKey_show:info"
label="&cmd.properties.label;"
accesskey="&cmd.properties.accesskey;"/>
</menupopup>
</menu>
<menu id="viewMenu" label="&view.label;" accesskey="&view.accesskey;"
onpopupshowing="ViewMenu.populate(event);"
oncommand="ViewMenu.setSortColumn(event.target.getAttribute('column'), null);">
<menupopup>
<menuitem id="viewToolbar"
type="checkbox"
label="&view.toolbar.label;"
accesskey="&view.toolbar.accesskey;"
oncommand="goToggleToolbar('mainToolbar', 'viewToolbar'); event.stopPropagation();"
checked="true"/>/>
<menu id="viewColumns"
label="&view.columns.label;" accesskey="&view.columns.accesskey;">
<menupopup onpopupshowing="ViewMenu.fillWithColumns(event, null, null, 'checkbox', null);"
oncommand="ViewMenu.showHideColumn(event.target); event.stopPropagation();"/>
</menu>
<menuseparator id="groupingSeparator" observes="placesBC_grouping:separator"/>
<menuitem id="viewGroupNone" type="radio" name="group"
observes="placesBC_grouping:off"/>
<menuitem id="viewGroupGroup" type="radio" name="group"
observes="placesBC_grouping:on"/>
<menuseparator id="columnSeparator"/>
<menuitem id="viewUnsorted" type="radio" name="columns"
label="&view.unsorted.label;" accesskey="&view.unsorted.accesskey;"
oncommand="ViewMenu.setSortColumn(null, null);"/>
<menuseparator id="directionSeparator"/>
<menuitem id="viewSortAscending" type="radio" name="direction"
label="&view.sortAscending.label;" accesskey="&view.sortAscending.accesskey;"
oncommand="ViewMenu.setSortColumn(null, 'ascending'); event.stopPropagation();"/>
<menuitem id="viewSortDescending" type="radio" name="direction"
label="&view.sortDescending.label;" accesskey="&view.sortDescending.accesskey;"
oncommand="ViewMenu.setSortColumn(null, 'descending'); event.stopPropagation();"/>
</menupopup>
</menu>
#ifdef XP_MACOSX
<menu id="windowMenu"/>
<menupopup id="menu_ToolsPopup"/>
#endif
<menu id="helpMenu"/>
</menubar>
<toolbar id="mainToolbar" class="chromeclass-toolbar"> <spacer flex="1"/>
<toolbarbutton id="newbookmark"
command="placesCmd_new:bookmark"
label="&cmd.new_bookmark.label;"
accesskey="&cmd.new_bookmark.accesskey;"/>
<toolbarbutton id="newfolder"
command="placesCmd_new:folder"
label="&cmd.new_folder.label;"
accesskey="&cmd.new_folder.accesskey;"/>
<toolbarbutton id="newseparator"
command="placesCmd_new:separator"
label="&cmd.new_separator.label;"
accesskey="&cmd.new_separator.accesskey;"/>
<toolbarseparator/>
<toolbarbutton id="moveBookmark"
command="placesCmd_moveBookmarks"
label="&cmd.moveBookmarks.label;"
accesskey="&cmd.moveBookmarks.accesskey;"/>
<toolbarseparator/>
<toolbarbutton id="properties"
command="placesCmd_show:info"
label="&cmd.properties.label;"
accesskey="&cmd.properties.accesskey;"/>
<toolbarbutton id="rename"
command="placesCmd_rename"
label="&cmd.rename.label;"
accesskey="&cmd.rename.accesskey;"/>
<toolbarbutton id="delete"
command="cmd_delete"
label="&deleteCmd.label;"
accesskey="&deleteCmd.accesskey;" />
</toolbar>
<toolbar class="chromeclass-toolbar">
<textbox id="searchFilter" style="width: 23em;" timeout="500" <textbox id="searchFilter" style="width: 23em;" timeout="500"
oncommand="PlacesSearchBox.search(this.value);" oncommand="PlacesSearchBox.search(this.value);"
onreset="PlacesOrganizer.onPlaceSelected(false); return true;" onreset="PlacesOrganizer.onPlaceSelected(false); return true;"
collection="bookmarks"> collection="bookmarks">
</textbox> </textbox>
<spacer flex="1"/>
<toolbarbutton id="toolbarGroupOff" type="radio" group="grouping"
observes="placesBC_grouping:off"/>
<toolbarbutton id="toolbarGroupOn" type="radio" group="grouping"
observes="placesBC_grouping:on" />
</toolbar> </toolbar>
</toolbox> </toolbox>
<hbox flex="1" id="placesView"> <hbox flex="1" id="placesView">
<tree id="placesList" <tree id="placesList"
class="placesTree" class="placesTree"
@ -348,11 +365,11 @@
showRoot="true" showRoot="true"
place="place:folder=2&amp;group=3&amp;excludeItems=1&amp;queryType=1" place="place:folder=2&amp;group=3&amp;excludeItems=1&amp;queryType=1"
hidecolumnpicker="true" context="placesContext" hidecolumnpicker="true" context="placesContext"
onselect="PlacesOrganizer.onPlaceSelected(true); onselect="PlacesOrganizer.onPlaceSelected(true);"
PlacesOrganizer.updateStatusBarForView(this);"
onclick="PlacesOrganizer.onTreeClick(event);" onclick="PlacesOrganizer.onTreeClick(event);"
seltype="single" seltype="single"
persist="width"> persist="width"
width="160">
<treecols> <treecols>
<treecol id="title" flex="1" primary="true" hideheader="true"/> <treecol id="title" flex="1" primary="true" hideheader="true"/>
</treecols> </treecols>
@ -363,7 +380,7 @@
</splitter> </splitter>
<vbox id="contentView" flex="4"> <vbox id="contentView" flex="4">
<deck id="contentDeck" flex="1"> <deck id="contentDeck" flex="1">
<vbox flex="1"> <vbox id="defaultView" flex="1">
<hbox id="titlebar" align="center"> <hbox id="titlebar" align="center">
<label id="showingPrefix"/> <label id="showingPrefix"/>
<deck id="titleDeck" flex="1"> <deck id="titleDeck" flex="1">
@ -394,8 +411,7 @@
<tree id="placeContent" class="placesTree" context="placesContext" <tree id="placeContent" class="placesTree" context="placesContext"
flex="1" type="places" flex="1" type="places"
ondblclick="this.controller.openSelectedNodeWithEvent(event);" ondblclick="this.controller.openSelectedNodeWithEvent(event);"
onclick="PlacesOrganizer.onTreeClick(event);" onclick="PlacesOrganizer.onTreeClick(event);">
onselect="PlacesOrganizer.updateStatusBarForView(this);">
<treecols id="placeContentColumns"> <treecols id="placeContentColumns">
<treecol label="&col.name.label;" id="title" flex="5" primary="true" <treecol label="&col.name.label;" id="title" flex="5" primary="true"
persist="width hidden ordinal sortActive sortDirection"/> persist="width hidden ordinal sortActive sortDirection"/>
@ -406,7 +422,7 @@
<treecol label="&col.url.label;" id="url" flex="5" <treecol label="&col.url.label;" id="url" flex="5"
persist="width hidden ordinal sortActive sortDirection"/> persist="width hidden ordinal sortActive sortDirection"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol label="&col.lastvisit.label;" id="date" flex="1" <treecol label="&col.lastvisit.label;" id="date" flex="1" hidden="true"
persist="width hidden ordinal sortActive sortDirection"/> persist="width hidden ordinal sortActive sortDirection"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol label="&col.visitcount.label;" id="visitCount" flex="1" hidden="true" <treecol label="&col.visitcount.label;" id="visitCount" flex="1" hidden="true"
@ -463,7 +479,4 @@
</deck> </deck>
</vbox> </vbox>
</hbox> </hbox>
<statusbar>
<statusbarpanel id="status" flex="1"/>
</statusbar>
</window> </window>

Просмотреть файл

@ -657,6 +657,8 @@ SessionStoreService.prototype = {
getClosedTabCount: function sss_getClosedTabCount(aWindow) { getClosedTabCount: function sss_getClosedTabCount(aWindow) {
if (!aWindow.__SSi && aWindow.__SS_dyingCache) if (!aWindow.__SSi && aWindow.__SS_dyingCache)
return aWindow.__SS_dyingCache._closedTabs.length; return aWindow.__SS_dyingCache._closedTabs.length;
if (!aWindow.__SSi)
return 0; // not a browser window, or not otherwise tracked by SS.
return this._windows[aWindow.__SSi]._closedTabs.length; return this._windows[aWindow.__SSi]._closedTabs.length;
}, },

Просмотреть файл

@ -1,7 +1,7 @@
<!ENTITY places.bm.title <!ENTITY places.organizer.title
"Bookmarks Manager"> "Places Organizer">
<!ENTITY file.label <!ENTITY organize.label
"File"> "Organize">
<!ENTITY file.accesskey <!ENTITY file.accesskey
"F"> "F">
<!ENTITY file.close.label <!ENTITY file.close.label
@ -14,8 +14,8 @@
"Edit"> "Edit">
<!ENTITY edit.accesskey <!ENTITY edit.accesskey
"E"> "E">
<!ENTITY view.label <!ENTITY views.label
"View"> "Views">
<!ENTITY view.accesskey <!ENTITY view.accesskey
"V"> "V">
<!ENTITY view.toolbar.label <!ENTITY view.toolbar.label
@ -26,6 +26,10 @@
"Show Columns"> "Show Columns">
<!ENTITY view.columns.accesskey <!ENTITY view.columns.accesskey
"S"> "S">
<!ENTITY view.sort.label
"Sort">
<!ENTITY view.sort.accesskey
"s">
<!ENTITY view.unsorted.label <!ENTITY view.unsorted.label
"Unsorted"> "Unsorted">
<!ENTITY view.unsorted.accesskey <!ENTITY view.unsorted.accesskey
@ -314,3 +318,28 @@
"Feed"> "Feed">
<!ENTITY feed.subscribe.tooltip <!ENTITY feed.subscribe.tooltip
"Subscribe"> "Subscribe">
<!ENTITY view.detailsMacOSX.label
"List">
<!ENTITY view.details.label
"Details">
<!ENTITY view.details.accesskey
"">
<!ENTITY view.addons.label
"Get View Add-ons">
<!ENTITY view.columns.label
"Columns">
<!ENTITY maintenance.label
"Import and Backup">
<!ENTITY backCmd.label
"Back">
<!ENTITY backCmd.accesskey
"B">
<!ENTITY backButton.tooltip
"Go back">
<!ENTITY forwardCmd.label
"Forward">
<!ENTITY forwardCmd.accesskey
"F">
<!ENTITY forwardButton.tooltip
"Go forward">

Просмотреть файл

@ -33,6 +33,7 @@ classic.jar:
skin/classic/browser/setDesktopBackground.css skin/classic/browser/setDesktopBackground.css
skin/classic/browser/monitor.png skin/classic/browser/monitor.png
skin/classic/browser/monitor_16-10.png skin/classic/browser/monitor_16-10.png
skin/classic/browser/wrench.png
skin/classic/browser/places/places.css (places/places.css) skin/classic/browser/places/places.css (places/places.css)
skin/classic/browser/places/query.png (places/query.png) skin/classic/browser/places/query.png (places/query.png)
skin/classic/browser/places/livemarkItem.png (places/livemarkItem.png) skin/classic/browser/places/livemarkItem.png (places/livemarkItem.png)

Просмотреть файл

@ -1,12 +1,52 @@
/* Toolbar */
#placesToolbar {
border-bottom: none;
}
/* back button */
#back-button {
list-style-image: url("chrome://browser/skin/Toolbar.png");
-moz-image-region: rect(0px, 24px, 24px, 0px);
}
#back-button[disabled="true"] {
-moz-image-region: rect(48px, 24px, 72px, 0px) !important;
}
/* forward button */
#forward-button {
list-style-image: url("chrome://browser/skin/Toolbar.png");
-moz-image-region: rect(0px, 48px, 24px, 24px);
}
#forward-button[disabled="true"] {
-moz-image-region: rect(48px, 48px, 72px, 24px) !important;
}
/* organize button */
#organizeButton {
list-style-image: url("chrome://browser/skin/wrench.png");
}
/* view button */
#viewMenu {
list-style-image: url("chrome://browser/skin/wrench.png");
}
/* maintenance button */
#maintenanceButton {
list-style-image: url("chrome://browser/skin/wrench.png");
}
/* Root View */ /* Root View */
#placesView { #placesView {
padding: 8px 6px 6px 8px; border-top: 1px solid ThreeDDarkShadow;
-moz-user-focus: ignore; -moz-user-focus: ignore;
} }
#splitter { #splitter {
border: 0px; border: 0px;
width: 10px; width: 3px;
background-color: transparent; background-color: transparent;
} }
@ -22,9 +62,7 @@
border: 0px; border: 0px;
} }
#placesListContainer { #contentView {
-moz-appearance: listbox;
margin: 7px 0px 7px 6px;
} }
#placeContent { #placeContent {
@ -32,11 +70,6 @@
border: 0px; border: 0px;
} }
#content {
margin: 7px 6px 7px 0px;
-moz-appearance: listbox;
}
treechildren::-moz-tree-image(title) { treechildren::-moz-tree-image(title) {
padding-right: 2px; padding-right: 2px;
margin: 0px 2px; margin: 0px 2px;
@ -81,29 +114,12 @@ treechildren::-moz-tree-twisty(title, separator) {
padding: 0px; padding: 0px;
} }
/* Command Bar */
.commands {
padding-bottom: 5px;
}
.commandGroupButton {
margin-left: 0px;
margin-top: 0px;
}
.commandGroupButton.first {
margin-right: -10px;
}
.commandGroupButton.last {
margin-left: 20px;
}
/* Title Bar */ /* Title Bar */
#titlebar { #titlebar {
background-color: -moz-Dialog; background-color: -moz-Dialog;
border-bottom: 2px solid; border-bottom: 2px solid;
-moz-border-bottom-colors: ThreeDHighlight ThreeDShadow; -moz-border-bottom-colors: ThreeDHighlight ThreeDShadow;
padding: 0;
} }
#showingPrefix { #showingPrefix {
@ -256,109 +272,3 @@ treechildren::-moz-tree-twisty(title, separator) {
min-width:0em; min-width:0em;
} }
/**
* mainToolbar
* style rules are (mostly) copied over from bookmarkManager.css.
*/
#mainToolbar toolbarbutton {
list-style-image: url("chrome://browser/skin/places/organizer-toolbar.png");
-moz-box-orient: vertical;
}
/* new bookmark */
#newbookmark {
-moz-image-region: rect(0px, 168px, 24px, 144px);
}
#newbookmark:not([disabled="true"]):hover {
-moz-image-region: rect(24px, 168px, 48px, 144px);
}
#newbookmark[disabled="true"] {
-moz-image-region: rect(48px, 168px, 72px, 144px);
}
#newbookmark:not([disabled="true"]):hover:active {
-moz-image-region: rect(72px, 168px, 96px, 144px);
}
/* new folder */
#newfolder {
-moz-image-region: rect(0px, 24px, 24px, 0px);
}
#newfolder:not([disabled="true"]):hover {
-moz-image-region: rect(24px, 24px, 48px, 0px);
}
#newfolder[disabled="true"] {
-moz-image-region: rect(48px, 24px, 72px, 0px);
}
#newfolder:not([disabled="true"]):hover:active {
-moz-image-region: rect(72px, 24px, 96px, 0px);
}
/* new separator */
#newseparator {
-moz-image-region: rect(0px, 48px, 24px, 24px);
}
#newseparator:not([disabled="true"]):hover {
-moz-image-region: rect(24px, 48px, 48px, 24px);
}
#newseparator[disabled="true"] {
-moz-image-region: rect(48px, 48px, 72px, 24px);
}
#newseparator:not([disabled="true"]):hover:active {
-moz-image-region: rect(72px, 48px, 96px, 24px);
}
/* moveBookmark */
#moveBookmark {
-moz-image-region: rect(0px, 72px, 24px, 48px);
}
#moveBookmark:not([disabled="true"]):hover {
-moz-image-region: rect(24px, 72px, 48px, 48px);
}
#moveBookmark[disabled="true"] {
-moz-image-region: rect(48px, 72px, 72px, 48px);
}
#moveBookmark:not([disabled="true"]):hover:active {
-moz-image-region: rect(72px, 72px, 96px, 48px);
}
/* properties */
#properties {
-moz-image-region: rect(0px, 96px, 24px, 72px);
}
#properties:not([disabled="true"]):hover {
-moz-image-region: rect(24px, 96px, 48px, 72px);
}
#properties[disabled="true"] {
-moz-image-region: rect(48px, 96px, 72px, 72px);
}
#properties:not([disabled="true"]):hover:active {
-moz-image-region: rect(72px, 96px, 96px, 72px);
}
/* rename */
#rename {
-moz-image-region: rect(0px, 120px, 24px, 96px);
}
#rename:not([disabled="true"]):hover {
-moz-image-region: rect(24px, 120px, 48px, 96px);
}
#rename[disabled="true"] {
-moz-image-region: rect(48px, 120px, 72px, 96px);
}
#rename:not([disabled="true"]):hover:active {
-moz-image-region: rect(72px, 120px, 96px, 96px);
}
/* delete */
#delete {
-moz-image-region: rect(0px, 144px, 24px, 120px);
}
#delete:not([disabled="true"]):hover {
-moz-image-region: rect(24px, 144px, 48px, 120px);
}
#delete[disabled="true"] {
-moz-image-region: rect(48px, 144px, 72px, 120px);
}
#delete:not([disabled="true"]):hover:active {
-moz-image-region: rect(72px, 144px, 96px, 120px);
}

Двоичные данные
browser/themes/pinstripe/browser/wrench.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 610 B

Просмотреть файл

@ -31,6 +31,7 @@ classic.jar:
skin/classic/browser/setDesktopBackground.css skin/classic/browser/setDesktopBackground.css
skin/classic/browser/monitor.png skin/classic/browser/monitor.png
skin/classic/browser/monitor_16-10.png skin/classic/browser/monitor_16-10.png
skin/classic/browser/wrench.png
skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png) skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png) skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css) skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)

Просмотреть файл

@ -1,12 +1,52 @@
/* Toolbar */
#placesToolbar {
border: none;
}
/* back button */
#back-button {
list-style-image: url("chrome://browser/skin/Toolbar.png");
-moz-image-region: rect(0px, 24px, 24px, 0px);
}
#back-button[disabled="true"] {
-moz-image-region: rect(48px, 24px, 72px, 0px) !important;
}
/* forward button */
#forward-button {
list-style-image: url("chrome://browser/skin/Toolbar.png");
-moz-image-region: rect(0px, 48px, 24px, 24px);
}
#forward-button[disabled="true"] {
-moz-image-region: rect(48px, 48px, 72px, 24px) !important;
}
/* organize button */
#organizeButton {
list-style-image: url("chrome://browser/skin/wrench.png");
}
/* view button */
#viewMenu {
list-style-image: url("chrome://browser/skin/wrench.png");
}
/* maintenance button */
#maintenanceButton {
list-style-image: url("chrome://browser/skin/wrench.png");
}
/* Root View */ /* Root View */
#placesView { #placesView {
border-top: 1px solid ThreeDDarkShadow;
background-color: Window; background-color: Window;
} }
#splitter { #splitter {
border: 0px; border: 0px;
width: 3px; width: 3px;
background-color: transparent;
} }
/* Place List, Place Content */ /* Place List, Place Content */
@ -15,9 +55,10 @@
} }
#placesList { #placesList {
-moz-appearance: listbox; -moz-appearance: none;
margin: 6px 0px 7px 6px; margin: 0px;
width: 160px; border: none;
padding: 0;
} }
#placeContent { #placeContent {
@ -26,8 +67,6 @@
} }
#contentView { #contentView {
margin: 6px 6px 7px 0px;
-moz-appearance: listbox;
} }
treechildren::-moz-tree-image(title) { treechildren::-moz-tree-image(title) {
@ -65,29 +104,12 @@ treechildren::-moz-tree-cell-text(date, session-continue) {
color: -moz-Field; color: -moz-Field;
} }
/* Command Bar */
.commands {
padding-bottom: 5px;
}
.commandGroupButton {
margin-left: 0px;
margin-top: 0px;
}
.commandGroupButton.first {
margin-right: -10px;
}
.commandGroupButton.last {
margin-left: 20px;
}
/* Title Bar */ /* Title Bar */
#titlebar { #titlebar {
background-color: -moz-Dialog; background-color: -moz-Dialog;
border-bottom: 2px solid; border-bottom: 2px solid;
-moz-border-bottom-colors: ThreeDHighlight ThreeDShadow; -moz-border-bottom-colors: ThreeDHighlight ThreeDShadow;
padding: 0;
} }
#showingPrefix { #showingPrefix {
@ -257,116 +279,3 @@ treechildren::-moz-tree-cell-text(date, session-continue) {
border-top: 2px solid; border-top: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDHighlight; -moz-border-top-colors: ThreeDShadow ThreeDHighlight;
} }
/**
* mainToolbar
* style rules are (mostly) copied over from bookmarkManager.css.
*/
#mainToolbar toolbarbutton {
list-style-image: url("chrome://browser/skin/places/organizer-toolbar.png");
-moz-box-orient: vertical;
min-width: 57px;
padding: 5px;
}
#mainToolbar toolbarbutton > .toolbarbutton-icon {
-moz-margin-end: 0px;
}
/* new bookmark */
#newbookmark {
-moz-image-region: rect(0px 24px 24px 0px);
}
#newbookmark:not([disabled="true"]):hover {
-moz-image-region: rect(24px 24px 48px 0px);
}
#newbookmark[disabled="true"] {
-moz-image-region: rect(72px 24px 96px 0px);
}
#newbookmark:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px 24px 72px 0px);
}
/* new folder */
#newfolder {
-moz-image-region: rect(0px 48px 24px 24px);
}
#newfolder:not([disabled="true"]):hover {
-moz-image-region: rect(24px 48px 48px 24px);
}
#newfolder[disabled="true"] {
-moz-image-region: rect(72px 48px 96px 24px);
}
#newfolder:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px 48px 72px 24px);
}
/* new separator */
#newseparator {
-moz-image-region: rect(0px 72px 24px 48px);
}
#newseparator:not([disabled="true"]):hover {
-moz-image-region: rect(24px 72px 48px 48px);
}
#newseparator[disabled="true"] {
-moz-image-region: rect(72px 72px 96px 48px);
}
#newseparator:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px 72px 72px 48px);
}
/* move bookmark */
#moveBookmark {
-moz-image-region: rect(0px 96px 24px 72px);
}
#moveBookmark:not([disabled="true"]):hover {
-moz-image-region: rect(24px 96px 48px 72px);
}
#moveBookmark[disabled="true"] {
-moz-image-region: rect(72px 96px 96px 72px);
}
#moveBookmark:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px 96px 72px 72px);
}
/* properties */
#properties {
-moz-image-region: rect(0px 120px 24px 96px);
}
#properties:not([disabled="true"]):hover {
-moz-image-region: rect(24px 120px 48px 96px);
}
#properties[disabled="true"] {
-moz-image-region: rect(72px 120px 96px 96px);
}
#properties:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px 120px 72px 96px);
}
/* rename */
#rename {
-moz-image-region: rect(0px 144px 24px 120px);
}
#rename:not([disabled="true"]):hover {
-moz-image-region: rect(24px 144px 48px 120px);
}
#rename[disabled="true"] {
-moz-image-region: rect(72px 144px 96px 120px);
}
#rename:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px 144px 72px 120px);
}
/* delete */
#delete {
-moz-image-region: rect(0px 168px 24px 144px);
}
#delete:not([disabled="true"]):hover {
-moz-image-region: rect(24px 168px 48px 144px);
}
#delete[disabled="true"] {
-moz-image-region: rect(72px 168px 96px 144px);
}
#delete:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px 168px 72px 144px);
}

Двоичные данные
browser/themes/winstripe/browser/wrench.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 610 B