fix for bug #384671: when resetting the history sidebar view, don't use applyFilter()

this is needed for bug #380735, for when we persist day and host container
open state in the history sidebar.

additionally, call load() instead of using .place directly to avoid doing queriesToQueryString() only to call queryStringToQueries().

r=mano
This commit is contained in:
sspitzer@mozilla.org 2007-06-18 18:31:51 -07:00
Родитель 31b7fc133f
Коммит 7f25642ab8
1 изменённых файлов: 19 добавлений и 16 удалений

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

@ -64,14 +64,7 @@ function HistorySidebarInit()
initContextMenu(); initContextMenu();
// set the place on the tree dynamically initPlace();
// otherwise, we will end up calling the place's tree's load() twice
var optionsRef = {};
var queriesRef = {};
PlacesUtils.history.queryStringToQueries(ORGANIZER_ROOT_HISTORY_UNSORTED, queriesRef, {}, optionsRef);
SetSortingAndGrouping(optionsRef.value);
var place = PlacesUtils.history.queriesToQueryString(queriesRef.value, 1, optionsRef.value);
gHistoryTree.place = place;
gSearchBox.focus(); gSearchBox.focus();
} }
@ -148,24 +141,34 @@ function SetSortingAndGrouping(aOptions)
aOptions.sortingMode = sortingMode; aOptions.sortingMode = sortingMode;
} }
function initPlace()
{
// call load() on the tree manually
// instead of setting the place attribute in history-panel.xul
// otherwise, we will end up calling load() twice
var optionsRef = {};
var queriesRef = {};
PlacesUtils.history.queryStringToQueries(ORGANIZER_ROOT_HISTORY_UNSORTED, queriesRef, {}, optionsRef);
SetSortingAndGrouping(optionsRef.value);
gHistoryTree.load(queriesRef.value, optionsRef.value);
}
function searchHistory(aInput) function searchHistory(aInput)
{ {
if (aInput) { if (aInput) {
if (!gSearching) { if (!gSearching) {
// Unset grouping when searching; applyFilter will update the view // Unset grouping when searching;
var options = gHistoryTree.getResult().root.queryOptions; var options = gHistoryTree.getResult().root.queryOptions;
options.setGroupingMode([], 0); options.setGroupingMode([], 0);
gSearching = true; gSearching = true;
} }
// applyFilter will update the view by calling load()
gHistoryTree.applyFilter(aInput, false /* onlyBookmarks */,
null /* folderRestrict */, null);
} }
else { else {
// applyFilter will update the view initPlace();
var options = gHistoryTree.getResult().root.queryOptions;
SetSortingAndGrouping(options);
gSearching = false; gSearching = false;
} }
gHistoryTree.applyFilter(aInput, false /* onlyBookmarks */,
null /* folderRestrict */, null);
} }