\r
c.onRenderMenu.add(function(c, m) {\r
m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1);\r
- t.menuItems = {};\r
each(t.languages, function(v, k) {\r
var o = {icon : 1}, mi;\r
\r
if (v == t.selectedLang) {\r
return;\r
}\r
- t._updateMenu(mi);\r
+ mi.setSelected(1);\r
+ t.selectedItem.setSelected(0);\r
+ t.selectedItem = mi;\r
t.selectedLang = v;\r
};\r
\r
o.title = k;\r
mi = m.add(o);\r
mi.setSelected(v == t.selectedLang);\r
- t.menuItems[v] = mi;\r
+\r
if (v == t.selectedLang)\r
t.selectedItem = mi;\r
- });\r
+ })\r
});\r
\r
-\r
-\r
return c;\r
}\r
},\r
\r
- setLanguage: function(lang) {\r
- var t = this;\r
-\r
- if (lang == t.selectedLang) {\r
- // allowed\r
- return;\r
- }\r
-\r
- if (tinymce.grep(t.languages, function(v) { return v === lang; }).length === 0) {\r
- throw "Unknown language: " + lang;\r
- }\r
-\r
- t.selectedLang = lang;\r
-\r
- // if the menu has been shown, update it as well\r
- if (t.menuItems) {\r
- t._updateMenu(t.menuItems[lang]);\r
- }\r
-\r
- if (t.active) {\r
- // clear error in the old language.\r
- t._done();\r
-\r
- // Don't immediately block the UI to check spelling in the new language, this is an API not a user action.\r
- }\r
- },\r
-\r
// Internal functions\r
\r
- _updateMenu: function(mi) {\r
- mi.setSelected(1);\r
- this.selectedItem.setSelected(0);\r
- this.selectedItem = mi;\r
- },\r
-\r
_walk : function(n, f) {\r
var d = this.editor.getDoc(), w;\r
\r
each(nl, function(n) {\r
var node, elem, txt, pos, v = n.nodeValue;\r
\r
- rx.lastIndex = 0;\r
if (rx.test(v)) {\r
// Encode the content\r
v = dom.encode(v);\r