Permalink
Browse files

Update to TinyMCE 3.4.2 to fix errors in IE9

  • Loading branch information...
thomascube committed Apr 20, 2011
1 parent 164b459 commit a9251be2f09fb5f18a85d201c67668c70980efe3
Showing with 9,554 additions and 7,260 deletions.
  1. +1 −0 CHANGELOG
  2. +56 −3 program/js/tiny_mce/langs/en.js
  3. +1 −1 program/js/tiny_mce/plugins/contextmenu/editor_plugin.js
  4. +30 −16 program/js/tiny_mce/plugins/contextmenu/editor_plugin_src.js
  5. +15 −14 program/js/tiny_mce/plugins/emotions/emotions.htm
  6. +5 −4 program/js/tiny_mce/plugins/media/css/media.css
  7. +1 −1 program/js/tiny_mce/plugins/media/editor_plugin.js
  8. +652 −296 program/js/tiny_mce/plugins/media/editor_plugin_src.js
  9. +327 −603 program/js/tiny_mce/plugins/media/js/media.js
  10. +8 −2 program/js/tiny_mce/plugins/media/langs/en_dlg.js
  11. +283 −288 program/js/tiny_mce/plugins/media/media.htm
  12. +1 −1 program/js/tiny_mce/plugins/nonbreaking/editor_plugin.js
  13. +1 −1 program/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
  14. +1 −1 program/js/tiny_mce/plugins/paste/editor_plugin.js
  15. +121 −128 program/js/tiny_mce/plugins/paste/editor_plugin_src.js
  16. +1 −1 program/js/tiny_mce/plugins/searchreplace/editor_plugin.js
  17. +4 −0 program/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js
  18. +18 −6 program/js/tiny_mce/plugins/searchreplace/js/searchreplace.js
  19. +17 −16 program/js/tiny_mce/plugins/searchreplace/searchreplace.htm
  20. +1 −1 program/js/tiny_mce/plugins/spellchecker/editor_plugin.js
  21. +55 −37 program/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js
  22. +1 −1 program/js/tiny_mce/plugins/tabfocus/editor_plugin.js
  23. +30 −28 program/js/tiny_mce/plugins/tabfocus/editor_plugin_src.js
  24. +12 −12 program/js/tiny_mce/plugins/table/cell.htm
  25. +1 −1 program/js/tiny_mce/plugins/table/editor_plugin.js
  26. +113 −36 program/js/tiny_mce/plugins/table/editor_plugin_src.js
  27. +9 −11 program/js/tiny_mce/plugins/table/js/cell.js
  28. +13 −18 program/js/tiny_mce/plugins/table/js/row.js
  29. +16 −15 program/js/tiny_mce/plugins/table/js/table.js
  30. +1 −1 program/js/tiny_mce/plugins/table/langs/en_dlg.js
  31. +11 −11 program/js/tiny_mce/plugins/table/merge_cells.htm
  32. +10 −8 program/js/tiny_mce/plugins/table/row.htm
  33. +54 −53 program/js/tiny_mce/plugins/table/table.htm
  34. +1 −1 program/js/tiny_mce/plugins/visualchars/editor_plugin.js
  35. +20 −13 program/js/tiny_mce/plugins/visualchars/editor_plugin_src.js
  36. +3 −5 program/js/tiny_mce/themes/advanced/about.htm
  37. +5 −5 program/js/tiny_mce/themes/advanced/anchor.htm
  38. +39 −40 program/js/tiny_mce/themes/advanced/charmap.htm
  39. +10 −9 program/js/tiny_mce/themes/advanced/color_picker.htm
  40. +1 −1 program/js/tiny_mce/themes/advanced/editor_template.js
  41. +223 −57 program/js/tiny_mce/themes/advanced/editor_template_src.js
  42. +51 −51 program/js/tiny_mce/themes/advanced/image.htm
  43. +1 −0 program/js/tiny_mce/themes/advanced/js/about.js
  44. +5 −0 program/js/tiny_mce/themes/advanced/js/anchor.js
  45. +26 −6 program/js/tiny_mce/themes/advanced/js/charmap.js
  46. +108 −32 program/js/tiny_mce/themes/advanced/js/color_picker.js
  47. +3 −1 program/js/tiny_mce/themes/advanced/js/image.js
  48. +4 −7 program/js/tiny_mce/themes/advanced/js/link.js
  49. +6 −12 program/js/tiny_mce/themes/advanced/js/source_editor.js
  50. +8 −2 program/js/tiny_mce/themes/advanced/langs/en.js
  51. +6 −3 program/js/tiny_mce/themes/advanced/langs/en_dlg.js
  52. +27 −28 program/js/tiny_mce/themes/advanced/link.htm
  53. +12 −0 program/js/tiny_mce/themes/advanced/skins/default/content.css
  54. +4 −4 program/js/tiny_mce/themes/advanced/skins/default/ui.css
  55. +11 −0 program/js/tiny_mce/themes/advanced/skins/o2k7/content.css
  56. +1 −0 program/js/tiny_mce/themes/advanced/skins/o2k7/dialog.css
  57. +5 −4 program/js/tiny_mce/themes/advanced/skins/o2k7/ui.css
  58. +1 −1 program/js/tiny_mce/themes/advanced/skins/o2k7/ui_black.css
  59. +1 −1 program/js/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css
  60. +3 −3 program/js/tiny_mce/themes/advanced/source_editor.htm
  61. +1 −1 program/js/tiny_mce/themes/simple/editor_template.js
  62. +1 −2 program/js/tiny_mce/themes/simple/editor_template_src.js
  63. +1 −1 program/js/tiny_mce/tiny_mce.js
  64. +1 −1 program/js/tiny_mce/tiny_mce_popup.js
  65. +6,951 −5,337 program/js/tiny_mce/tiny_mce_src.js
  66. +14 −4 program/js/tiny_mce/utils/form_utils.js
  67. +95 −10 program/js/tiny_mce/utils/mctabs.js
  68. +35 −3 program/js/tiny_mce/utils/validate.js
View
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- TinyMCE 3.4.2 now compatible with IE9
- PEAR::Net_SMTP 1.5.2, fixed timeout issue (#1487843)
- Fix bug where template name without plugin prefix was used in render_page hook
- Support 'abort' and 'result' response in 'preferences_save' hook, add error handling
@@ -12,9 +12,54 @@ not_set:"-- Not set --",
clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?",
clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.",
popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.",
-invalid_data:"Error: Invalid values entered, these are marked in red.",
+invalid_data:"{#field} is invalid",
+invalid_data_number:"{#field} must be a number",
+invalid_data_min:"{#field} must be a number greater than {#min}",
+invalid_data_size:"{#field} must be a number or percentage",
more_colors:"More colors"
},
+colors:{
+'000000':'Black',
+'993300':'Burnt orange',
+'333300':'Dark olive',
+'003300':'Dark green',
+'003366':'Dark azure',
+'000080':'Navy Blue',
+'333399':'Indigo',
+'333333':'Very dark gray',
+'800000':'Maroon',
+'FF6600':'Orange',
+'808000':'Olive',
+'008000':'Green',
+'008080':'Teal',
+'0000FF':'Blue',
+'666699':'Grayish blue',
+'808080':'Gray',
+'FF0000':'Red',
+'FF9900':'Amber',
+'99CC00':'Yellow green',
+'339966':'Sea green',
+'33CCCC':'Turquoise',
+'3366FF':'Royal blue',
+'800080':'Purple',
+'999999':'Medium gray',
+'FF00FF':'Magenta',
+'FFCC00':'Gold',
+'FFFF00':'Yellow',
+'00FF00':'Lime',
+'00FFFF':'Aqua',
+'00CCFF':'Sky blue',
+'993366':'Brown',
+'C0C0C0':'Silver',
+'FF99CC':'Pink',
+'FFCC99':'Peach',
+'FFFF99':'Light yellow',
+'CCFFCC':'Pale green',
+'CCFFFF':'Pale cyan',
+'99CCFF':'Light sky blue',
+'CC99FF':'Plum',
+'FFFFFF':'White'
+},
contextmenu:{
align:"Alignment",
left:"Left",
@@ -151,7 +196,8 @@ langs:"Languages",
wait:"Please wait...",
sug:"Suggestions",
no_sug:"No suggestions",
-no_mpell:"No misspellings found."
+no_mpell:"No misspellings found.",
+learn_word:"Learn word"
},
pagebreak:{
desc:"Insert page break."
@@ -167,4 +213,11 @@ upper_roman:"Upper roman",
circle:"Circle",
disc:"Disc",
square:"Square"
-}}});
+},
+aria:{
+rich_text_area:"Rich Text Area"
+},
+wordcount:{
+words: 'Words: '
+}
+}});

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
@@ -27,10 +27,12 @@
* @param {string} url Absolute URL to where the plugin is located.
*/
init : function(ed) {
- var t = this, lastRng;
+ var t = this, showMenu, contextmenuNeverUseNative, realCtrlKey;
t.editor = ed;
+ contextmenuNeverUseNative = ed.settings.contextmenu_never_use_native;
+
/**
* This event gets fired when the context menu is shown.
*
@@ -40,18 +42,23 @@
*/
t.onContextMenu = new tinymce.util.Dispatcher(this);
- ed.onContextMenu.add(function(ed, e) {
- if (!e.ctrlKey) {
- // Restore the last selection since it was removed
- if (lastRng)
- ed.selection.setRng(lastRng);
+ showMenu = ed.onContextMenu.add(function(ed, e) {
+ // Block TinyMCE menu on ctrlKey and work around Safari issue
+ if ((realCtrlKey !== 0 ? realCtrlKey : e.ctrlKey) && !contextmenuNeverUseNative)
+ return;
- t._getMenu(ed).showMenu(e.clientX, e.clientY);
- Event.add(ed.getDoc(), 'click', function(e) {
- hide(ed, e);
- });
- Event.cancel(e);
- }
+ Event.cancel(e);
+
+ // Select the image if it's clicked. WebKit would other wise expand the selection
+ if (e.target.nodeName == 'IMG')
+ ed.selection.select(e.target);
+
+ t._getMenu(ed).showMenu(e.clientX || e.pageX, e.clientY || e.pageX);
+ Event.add(ed.getDoc(), 'click', function(e) {
+ hide(ed, e);
+ });
+
+ ed.nodeChanged();
});
ed.onRemove.add(function() {
@@ -60,12 +67,12 @@
});
function hide(ed, e) {
- lastRng = null;
+ realCtrlKey = 0;
// Since the contextmenu event moves
// the selection we need to store it away
if (e && e.button == 2) {
- lastRng = ed.selection.getRng();
+ realCtrlKey = e.ctrlKey;
return;
}
@@ -78,6 +85,12 @@
ed.onMouseDown.add(hide);
ed.onKeyDown.add(hide);
+ ed.onKeyDown.add(function(ed, e) {
+ if (e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode === 121) {
+ Event.cancel(e);
+ showMenu(ed, e);
+ }
+ });
},
/**
@@ -111,7 +124,8 @@
m = ed.controlManager.createDropMenu('contextmenu', {
offset_x : p1.x + ed.getParam('contextmenu_offset_x', 0),
offset_y : p1.y + ed.getParam('contextmenu_offset_y', 0),
- constrain : 1
+ constrain : 1,
+ keyboard_focus: true
});
t._menu = m;
@@ -144,4 +158,4 @@
// Register plugin
tinymce.PluginManager.add('contextmenu', tinymce.plugins.ContextMenu);
-})();
+})();
@@ -5,36 +5,37 @@
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script type="text/javascript" src="js/emotions.js"></script>
</head>
-<body style="display: none">
- <div align="center">
- <div class="title">{#emotions_dlg.title}:<br /><br /></div>
+<body style="display: none" role="application" aria-labelledby="app_title">
+<span style="display:none;" id="app_title">{#emotions_dlg.title}</span>
+<div align="center">
+ <div class="title">{#emotions_dlg.title}:<br /><br /></div>
- <table border="0" cellspacing="0" cellpadding="4">
- <tr>
+ <table role="presentation" border="0" cellspacing="0" cellpadding="4">
+ <tr>
<td><a href="javascript:EmotionsDialog.insert('smiley-cool.gif','emotions_dlg.cool');"><img src="img/smiley-cool.gif" width="18" height="18" border="0" alt="{#emotions_dlg.cool}" title="{#emotions_dlg.cool}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-cry.gif','emotions_dlg.cry');"><img src="img/smiley-cry.gif" width="18" height="18" border="0" alt="{#emotions_dlg.cry}" title="{#emotions_dlg.cry}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-embarassed.gif','emotions_dlg.embarassed');"><img src="img/smiley-embarassed.gif" width="18" height="18" border="0" alt="{#emotions_dlg.embarassed}" title="{#emotions_dlg.embarassed}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-foot-in-mouth.gif','emotions_dlg.foot_in_mouth');"><img src="img/smiley-foot-in-mouth.gif" width="18" height="18" border="0" alt="{#emotions_dlg.foot_in_mouth}" title="{#emotions_dlg.foot_in_mouth}" /></a></td>
- </tr>
- <tr>
+ </tr>
+ <tr>
<td><a href="javascript:EmotionsDialog.insert('smiley-frown.gif','emotions_dlg.frown');"><img src="img/smiley-frown.gif" width="18" height="18" border="0" alt="{#emotions_dlg.frown}" title="{#emotions_dlg.frown}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-innocent.gif','emotions_dlg.innocent');"><img src="img/smiley-innocent.gif" width="18" height="18" border="0" alt="{#emotions_dlg.innocent}" title="{#emotions_dlg.innocent}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-kiss.gif','emotions_dlg.kiss');"><img src="img/smiley-kiss.gif" width="18" height="18" border="0" alt="{#emotions_dlg.kiss}" title="{#emotions_dlg.kiss}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-laughing.gif','emotions_dlg.laughing');"><img src="img/smiley-laughing.gif" width="18" height="18" border="0" alt="{#emotions_dlg.laughing}" title="{#emotions_dlg.laughing}" /></a></td>
- </tr>
- <tr>
+ </tr>
+ <tr>
<td><a href="javascript:EmotionsDialog.insert('smiley-money-mouth.gif','emotions_dlg.money_mouth');"><img src="img/smiley-money-mouth.gif" width="18" height="18" border="0" alt="{#emotions_dlg.money_mouth}" title="{#emotions_dlg.money_mouth}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-sealed.gif','emotions_dlg.sealed');"><img src="img/smiley-sealed.gif" width="18" height="18" border="0" alt="{#emotions_dlg.sealed}" title="{#emotions_dlg.sealed}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-smile.gif','emotions_dlg.smile');"><img src="img/smiley-smile.gif" width="18" height="18" border="0" alt="{#emotions_dlg.smile}" title="{#emotions_dlg.smile}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-surprised.gif','emotions_dlg.surprised');"><img src="img/smiley-surprised.gif" width="18" height="18" border="0" alt="{#emotions_dlg.surprised}" title="{#emotions_dlg.surprised}" /></a></td>
- </tr>
- <tr>
+ </tr>
+ <tr>
<td><a href="javascript:EmotionsDialog.insert('smiley-tongue-out.gif','emotions_dlg.tongue_out');"><img src="img/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{#emotions_dlg.tongue-out}" title="{#emotions_dlg.tongue_out}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-undecided.gif','emotions_dlg.undecided');"><img src="img/smiley-undecided.gif" width="18" height="18" border="0" alt="{#emotions_dlg.undecided}" title="{#emotions_dlg.undecided}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-wink.gif','emotions_dlg.wink');"><img src="img/smiley-wink.gif" width="18" height="18" border="0" alt="{#emotions_dlg.wink}" title="{#emotions_dlg.wink}" /></a></td>
<td><a href="javascript:EmotionsDialog.insert('smiley-yell.gif','emotions_dlg.yell');"><img src="img/smiley-yell.gif" width="18" height="18" border="0" alt="{#emotions_dlg.yell}" title="{#emotions_dlg.yell}" /></a></td>
- </tr>
- </table>
- </div>
+ </tr>
+ </table>
+</div>
</body>
</html>
@@ -1,16 +1,17 @@
-#id, #name, #hspace, #vspace, #class_name, #align { width: 100px }
+#id, #name, #hspace, #vspace, #class_name, #align { width: 100px }
#hspace, #vspace { width: 50px }
#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px }
-#flash_base, #flash_flashvars { width: 240px }
+#flash_base, #flash_flashvars, #html5_altsource1, #html5_altsource2, #html5_poster { width: 240px }
#width, #height { width: 40px }
#src, #media_type { width: 250px }
#class { width: 120px }
-#prev { margin: 0; border: 1px solid black; width: 380px; height: 230px; overflow: auto }
-.panel_wrapper div.current { height: 390px; overflow: auto }
+#prev { margin: 0; border: 1px solid black; width: 380px; height: 260px; overflow: auto }
+.panel_wrapper div.current { height: 420px; overflow: auto }
#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none }
.mceAddSelectValue { background-color: #DDDDDD }
#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px }
#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { width: 70px }
#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px }
#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px }
#qt_qtsrc { width: 200px }
+iframe {border: 1px solid gray}
Oops, something went wrong.

0 comments on commit a9251be

Please sign in to comment.