Index: imagefield.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/imagefield/imagefield.module,v retrieving revision 1.103 diff -u -p -r1.103 imagefield.module --- imagefield.module 28 Aug 2009 03:53:15 -0000 1.103 +++ imagefield.module 26 Apr 2010 00:09:36 -0000 @@ -319,20 +319,25 @@ function theme_imagefield_item($item) { return theme('imagefield_image', $item, $item['alt'], $item['title']); } -function theme_imagefield_widget_preview($item = NULL) { - return '
' . theme('imagefield_admin_thumbnail', $item) . '
'; +function theme_imagefield_widget_preview($item = NULL, $preview_preset = '') { + return '
' . theme('imagefield_admin_thumbnail', $item, $preview_preset) . '
'; } function theme_imagefield_widget_item($element) { return theme('filefield_widget_item', $element); } -function theme_imagefield_admin_thumbnail($item = NULL) { +function theme_imagefield_admin_thumbnail($item = NULL, $preview_preset = '') { if (is_null($item) || empty($item['filepath'])) { return ''; } - $thumb_path = imagefield_file_admin_thumb_path($item); - return ''; + if (!empty($preview_preset)) { + return theme('imagecache', $preview_preset, $item['filepath']); + } + else { + $thumb_path = imagefield_file_admin_thumb_path($item); + return ''; + } } /** * @} End defgroup "Theme Callbacks". Index: imagefield_widget.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/imagefield/imagefield_widget.inc,v retrieving revision 1.41 diff -u -p -r1.41 imagefield_widget.inc --- imagefield_widget.inc 24 Apr 2010 05:28:39 -0000 1.41 +++ imagefield_widget.inc 26 Apr 2010 00:17:40 -0000 @@ -123,6 +123,39 @@ function imagefield_widget_settings_form '#type' => 'value', '#value' => $widget['default_image'], ); + + // preview options (imagecahe for preview thumbnails) + $form['preview'] = array( + '#type' => 'fieldset', + '#title' => t('Preview Thumbnail Settings'), + '#collapsible' => true, + '#collapsed' => true, + '#weight' => 8, + ); + $form['preview']['preview_preset'] = array( + '#default_value' => !empty($widget['preview_preset']) ? $widget['preview_preset'] : '', + ); + + if (module_exists('imagecache')) { + $imagecache_presets = imagecache_presets(); + $preview_presets_list[''] = t(''); + foreach ($imagecache_presets as $key => $preset) { + $preview_presets_list[$preset['presetname']] = $preset['presetname']; + } + $form['preview']['preview_preset'] = $form['preview']['preview_preset'] + array( + '#type' => 'select', + '#title' => t('Imagecache Preset'), + '#description' => t('This imagecache preset will be used to creeate the thumbnail.'), + '#options' => $preview_presets_list, // @str_replace: returns correct node type + ); + } else { + $form['preview']['imagecache_disabled'] = array( + '#value' => '

'.t('Enable imagecache to control the way preview thumbnails should be shown for this field.').'

', + ); + $form['preview']['preview_preset'] = $form['preview']['preset_name'] + array( + '#type' => 'value', + ); + } return $form; } @@ -189,7 +222,7 @@ function imagefield_widget_settings_vali */ function imagefield_widget_settings_save($widget) { $filefield_settings = module_invoke('filefield', 'widget_settings', 'save', $widget); - return array_merge($filefield_settings, array('max_resolution', 'min_resolution', 'alt', 'custom_alt', 'title', 'custom_title', 'title_type', 'default_image', 'use_default_image')); + return array_merge($filefield_settings, array('max_resolution', 'min_resolution', 'alt', 'custom_alt', 'title', 'custom_title', 'title_type', 'default_image', 'use_default_image', 'preview_preset')); } /** @@ -218,7 +251,8 @@ function imagefield_widget_process($elem $element['#theme'] = 'imagefield_widget_item'; if (isset($element['preview']) && $element['#value']['fid'] != 0) { - $element['preview']['#value'] = theme('imagefield_widget_preview', $element['#value']); + $preview_preset = module_exists('imagecache') ? $field['widget']['preview_preset'] : ''; + $element['preview']['#value'] = theme('imagefield_widget_preview', $element['#value'], $preview_preset); } // Check if using the default alt text and replace tokens.