/source/Plug-in/fck/editor/_source/commandclasses/fckspellcheckcommand_ie.js

http://prosporous.googlecode.com/ · JavaScript · 67 lines · 39 code · 5 blank · 23 comment · 7 complexity · 6091b5b426718bd3786ead70af5954e7 MD5 · raw file

  1. /*
  2. * FCKeditor - The text editor for Internet - http://www.fckeditor.net
  3. * Copyright (C) 2003-2007 Frederico Caldeira Knabben
  4. *
  5. * == BEGIN LICENSE ==
  6. *
  7. * Licensed under the terms of any of the following licenses at your
  8. * choice:
  9. *
  10. * - GNU General Public License Version 2 or later (the "GPL")
  11. * http://www.gnu.org/licenses/gpl.html
  12. *
  13. * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
  14. * http://www.gnu.org/licenses/lgpl.html
  15. *
  16. * - Mozilla Public License Version 1.1 or later (the "MPL")
  17. * http://www.mozilla.org/MPL/MPL-1.1.html
  18. *
  19. * == END LICENSE ==
  20. *
  21. * FCKStyleCommand Class: represents the "Spell Check" command.
  22. * (IE specific implementation)
  23. */
  24. var FCKSpellCheckCommand = function()
  25. {
  26. this.Name = 'SpellCheck' ;
  27. this.IsEnabled = ( FCKConfig.SpellChecker == 'ieSpell' || FCKConfig.SpellChecker == 'SpellerPages' ) ;
  28. }
  29. FCKSpellCheckCommand.prototype.Execute = function()
  30. {
  31. switch ( FCKConfig.SpellChecker )
  32. {
  33. case 'ieSpell' :
  34. this._RunIeSpell() ;
  35. break ;
  36. case 'SpellerPages' :
  37. FCKDialog.OpenDialog( 'FCKDialog_SpellCheck', 'Spell Check', 'dialog/fck_spellerpages.html', 440, 480 ) ;
  38. break ;
  39. }
  40. }
  41. FCKSpellCheckCommand.prototype._RunIeSpell = function()
  42. {
  43. try
  44. {
  45. var oIeSpell = new ActiveXObject( "ieSpell.ieSpellExtension" ) ;
  46. oIeSpell.CheckAllLinkedDocuments( FCK.EditorDocument ) ;
  47. }
  48. catch( e )
  49. {
  50. if( e.number == -2146827859 )
  51. {
  52. if ( confirm( FCKLang.IeSpellDownload ) )
  53. window.open( FCKConfig.IeSpellDownloadUrl , 'IeSpellDownload' ) ;
  54. }
  55. else
  56. alert( 'Error Loading ieSpell: ' + e.message + ' (' + e.number + ')' ) ;
  57. }
  58. }
  59. FCKSpellCheckCommand.prototype.GetState = function()
  60. {
  61. return this.IsEnabled ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
  62. }