mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-18 15:42:50 -06:00
minibar: don't try to select the most recently used grammar if it isn't in the current grammar list
This commit is contained in:
@@ -74,17 +74,27 @@ Minibar.prototype.show_grammarlist=function(grammars) {
|
|||||||
if(grammars.length>1) {
|
if(grammars.length>1) {
|
||||||
function opt(g) { return option(g,g); }
|
function opt(g) { return option(g,g); }
|
||||||
appendChildren(grammar_menu,map(opt,grammars));
|
appendChildren(grammar_menu,map(opt,grammars));
|
||||||
grammar_menu.onchange=
|
function pick() {
|
||||||
bind(function() { select_grammar(grammar_menu.value); },this);
|
var grammar_name=grammar_menu.value
|
||||||
|
if(window.localStorage)
|
||||||
|
localStorage["gf.minibar.last_grammar"]=grammar_name;
|
||||||
|
select_grammar(grammar_name);
|
||||||
|
}
|
||||||
|
grammar_menu.onchange=bind(pick,this);
|
||||||
insertFirst(menubar,button("i",bind(show_grammarinfo,this)))
|
insertFirst(menubar,button("i",bind(show_grammarinfo,this)))
|
||||||
insertFirst(menubar,grammar_menu);
|
insertFirst(menubar,grammar_menu);
|
||||||
insertFirst(menubar,text("Grammar: "));
|
insertFirst(menubar,text("Grammar: "));
|
||||||
}
|
}
|
||||||
if(options.help_url)
|
if(options.help_url)
|
||||||
menubar.appendChild(button("Help",bind(open_help,this)));
|
menubar.appendChild(button("Help",bind(open_help,this)));
|
||||||
var grammar0= options.initial_grammar
|
var grammar0=options.initial_grammar
|
||||||
|| window.localStorage && localStorage["gf.minibar.last_grammar"]
|
if(!grammar0 && window.localStorage) {
|
||||||
|| grammars[0];
|
var last_grammar=localStorage["gf.minibar.last_grammar"];
|
||||||
|
if(last_grammar)
|
||||||
|
for(var i in grammars)
|
||||||
|
if(last_grammar==grammars[i]) grammar0=last_grammar;
|
||||||
|
}
|
||||||
|
if(!grammar0) grammar0=grammars[0];
|
||||||
grammar_menu.value=grammar0;
|
grammar_menu.value=grammar0;
|
||||||
select_grammar(grammar0);
|
select_grammar(grammar0);
|
||||||
}
|
}
|
||||||
@@ -94,8 +104,6 @@ Minibar.prototype.select_grammar=function(grammar_name) {
|
|||||||
var t=this;
|
var t=this;
|
||||||
//debug("select_grammar ");
|
//debug("select_grammar ");
|
||||||
function change_grammar() {
|
function change_grammar() {
|
||||||
if(window.localStorage)
|
|
||||||
localStorage["gf.minibar.last_grammar"]=grammar_name;
|
|
||||||
t.server.grammar_info(bind(t.change_grammar,t));
|
t.server.grammar_info(bind(t.change_grammar,t));
|
||||||
}
|
}
|
||||||
t.server.switch_grammar(grammar_name,change_grammar);
|
t.server.switch_grammar(grammar_name,change_grammar);
|
||||||
|
|||||||
Reference in New Issue
Block a user