зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
31b7fc133f
Коммит
7f25642ab8
|
@ -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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче