Index: wysiwyg.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/wysiwyg.js,v retrieving revision 1.15.2.2 diff -u -p -r1.15.2.2 wysiwyg.js --- wysiwyg.js 13 Feb 2010 23:58:41 -0000 1.15.2.2 +++ wysiwyg.js 5 Aug 2010 21:13:56 -0000 @@ -110,7 +110,7 @@ Drupal.wysiwygAttach = function(context, } // Attach editor, if enabled by default or last state was enabled. if (params.status) { - Drupal.wysiwyg.editor.attach[params.editor](context, params, (Drupal.settings.wysiwyg.configs[params.editor] ? jQuery.extend(true, {}, Drupal.settings.wysiwyg.configs[params.editor][params.format]) : {})); + Drupal.wysiwyg.editor.attach[params.editor](context, params, (Drupal.settings.wysiwyg.configs[params.editor] ? jQuery.extend(true, {}, Drupal.settings.wysiwyg.configs[params.editor][params.format][params.field]) : {})); } // Otherwise, attach default behaviors. else { Index: wysiwyg.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/wysiwyg.module,v retrieving revision 1.33.2.11 diff -u -p -r1.33.2.11 wysiwyg.module --- wysiwyg.module 14 Feb 2010 01:59:47 -0000 1.33.2.11 +++ wysiwyg.module 5 Aug 2010 21:13:56 -0000 @@ -170,10 +170,14 @@ function wysiwyg_process_form(&$form) { // Check editor theme (and reset it if not/no longer available). $theme = wysiwyg_get_editor_themes($profile, (isset($profile->settings['theme']) ? $profile->settings['theme'] : '')); + // Rough estimate of textarea height in pixels: + // 40 for the toolbar, 29 for the first row, and 15 for the rest. + $profile->settings['height'] = !empty($field['#rows']) ? 40 + 29 + 15 * ($field['#rows'] - 1) : 400; + // Add plugin settings (first) for this input format. wysiwyg_add_plugin_settings($profile); - // Add profile settings for this input format. - wysiwyg_add_editor_settings($profile, $theme); + // Add profile settings for this field and input format. + wysiwyg_add_editor_settings($field, $profile, $theme); } // Use a prefix/suffix for a single input format, or attach to input @@ -344,18 +348,13 @@ function wysiwyg_load_editor($profile) { } /** - * Add editor settings for a given input format. + * Add editor settings for a given field and input format. */ -function wysiwyg_add_editor_settings($profile, $theme) { - static $formats = array(); - - if (!isset($formats[$profile->format])) { - $config = wysiwyg_get_editor_config($profile, $theme); - // drupal_to_js() does not properly convert numeric array keys, so we need - // to use a string instead of the format id. - drupal_add_js(array('wysiwyg' => array('configs' => array($profile->editor => array('format' . $profile->format => $config)))), 'setting'); - $formats[$profile->format] = TRUE; - } +function wysiwyg_add_editor_settings($field, $profile, $theme) { + $config = wysiwyg_get_editor_config($profile, $theme); + // drupal_to_js() does not properly convert numeric array keys, so we need + // to use a string instead of the format id. + drupal_add_js(array('wysiwyg' => array('configs' => array($profile->editor => array('format' . $profile->format => array($field['#id'] => $config))))), 'setting'); } /** Index: editors/fckeditor.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/fckeditor.inc,v retrieving revision 1.17.2.3 diff -u -p -r1.17.2.3 fckeditor.inc --- editors/fckeditor.inc 2 Apr 2010 14:05:54 -0000 1.17.2.3 +++ editors/fckeditor.inc 5 Aug 2010 21:13:56 -0000 @@ -103,7 +103,7 @@ function wysiwyg_fckeditor_settings($edi 'SkinPath' => base_path() . $editor['library path'] . '/editor/skins/' . $theme . '/', 'CustomConfigurationsPath' => base_path() . drupal_get_path('module', 'wysiwyg') . '/editors/js/fckeditor.config.js', 'Width' => '100%', - 'Height' => 420, + 'Height' => isset($config['height']) ? $config['height'] : '400', 'LinkBrowser' => FALSE, 'LinkUpload' => FALSE, 'ImageBrowser' => FALSE, Index: editors/tinymce.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/tinymce.inc,v retrieving revision 1.35.2.4 diff -u -p -r1.35.2.4 tinymce.inc --- editors/tinymce.inc 2 Apr 2010 14:05:54 -0000 1.35.2.4 +++ editors/tinymce.inc 5 Aug 2010 21:13:56 -0000 @@ -149,6 +149,7 @@ function wysiwyg_tinymce_settings($edito 'plugins' => array(), 'theme' => $theme, 'width' => '100%', + 'height' => isset($config['height']) ? $config['height'] : '400', // Strict loading mode must be enabled; otherwise TinyMCE would use // document.write() in IE and Chrome. 'strict_loading_mode' => TRUE, Index: editors/ckeditor.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/ckeditor.inc,v retrieving revision 1.2.6.6 diff -u -p -r1.2.6.6 ckeditor.inc --- editors/ckeditor.inc 2 Apr 2010 14:05:54 -0000 1.2.6.6 +++ editors/ckeditor.inc 5 Aug 2010 21:13:56 -0000 @@ -130,7 +130,7 @@ function wysiwyg_ckeditor_settings($edit 'width' => '100%', // For better compatibility with smaller textareas. 'resize_minWidth' => 450, - 'height' => 420, + 'height' => isset($config['height']) ? $config['height'] : 400, // @todo Do not use skins as themes and add separate skin handling. 'theme' => 'default', 'skin' => !empty($theme) ? $theme : 'kama', Index: editors/js/fckeditor-2.6.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/js/fckeditor-2.6.js,v retrieving revision 1.16.2.3 diff -u -p -r1.16.2.3 fckeditor-2.6.js --- editors/js/fckeditor-2.6.js 13 Feb 2010 23:58:41 -0000 1.16.2.3 +++ editors/js/fckeditor-2.6.js 5 Aug 2010 21:13:56 -0000 @@ -9,6 +9,7 @@ Drupal.wysiwyg.editor.attach.fckeditor = // Apply editor instance settings. FCKinstance.BasePath = settings.EditorPath; FCKinstance.Config.wysiwygFormat = params.format; + FCKinstance.Config.wysiwygField = params.field; FCKinstance.Config.CustomConfigurationsPath = settings.CustomConfigurationsPath; // Load Drupal plugins and apply format specific settings. Index: editors/js/fckeditor.config.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/js/fckeditor.config.js,v retrieving revision 1.6 diff -u -p -r1.6 fckeditor.config.js --- editors/js/fckeditor.config.js 8 Jun 2009 22:20:38 -0000 1.6 +++ editors/js/fckeditor.config.js 5 Aug 2010 21:13:56 -0000 @@ -10,7 +10,8 @@ Drupal = window.parent.Drupal; * FCKConfig.PageConfig. */ var wysiwygFormat = FCKConfig.PageConfig.wysiwygFormat; -var wysiwygSettings = Drupal.settings.wysiwyg.configs.fckeditor[wysiwygFormat]; +var wysiwygField = FCKConfig.PageConfig.wysiwygField; +var wysiwygSettings = Drupal.settings.wysiwyg.configs.fckeditor[wysiwygFormat][wysiwygField]; var pluginSettings = Drupal.settings.wysiwyg.plugins[wysiwygFormat]; /**