Index: addresses.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses.inc,v
retrieving revision 1.66
diff -u -p -r1.66 addresses.inc
--- addresses.inc	21 Sep 2010 01:43:32 -0000	1.66
+++ addresses.inc	5 Nov 2010 19:48:12 -0000
@@ -741,13 +741,13 @@ function theme_addresses_is_primary($afi
  *   A formatted aname field.
  */
 function theme_addresses_aname($afields, $format = 'plain') {
-  if (!empty($afields['aname'])) {
+	if (!empty($afields['aname'])) {
     switch ($format) {
     case 'plain':
       return check_plain($afields['aname']);
 
     case 'hcard':
-      return '<span class="fn org">'. theme('placeholder', $afields['aname']) .'</span>';
+      return '<dt>'. t('Address Name') .': </dt><dd class="name">'. $afields['aname'] .'</dd>';
 
     }
   }
@@ -950,7 +950,7 @@ function theme_addresses_address_singlel
 
   // Add the country
   if (!empty($afields['country'])) {
-    $output .= ', '. $afields['country'];
+    $output .= ', '. drupal_strtoupper($afields['country']);
   }
 
   return $output;
Index: addresses.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses.module,v
retrieving revision 1.75
diff -u -p -r1.75 addresses.module
--- addresses.module	16 Sep 2010 20:56:42 -0000	1.75
+++ addresses.module	5 Nov 2010 19:48:12 -0000
@@ -27,7 +27,7 @@ function addresses_addressesfieldapi($op
     $items['is_primary'] = array(
       'type' => 'int',
       'size' => 'tiny',
-      'title' => t('Primary Address Checkbox'),
+      'title' => t('Primary Address'),
       'description' => t('Mark it as the primary address or not (default is not)'),
       'default' => 0,
       'display' => ADDRESSES_FIELD_NONE,
@@ -393,7 +393,7 @@ function addresses_theme() {
       'file' => 'addresses.settings.inc',
     ),
     // Shows addresses using a single line
-    'addresses_address_singleline' => array(
+    'addresses_singleline' => array(
       'arguments' => array('addresses'),
       'file' => 'addresses.inc',
     ),
Index: addresses_cck/addresses_cck.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses_cck/addresses_cck.inc,v
retrieving revision 1.5
diff -u -p -r1.5 addresses_cck.inc
--- addresses_cck/addresses_cck.inc	17 Jul 2010 23:03:19 -0000	1.5
+++ addresses_cck/addresses_cck.inc	5 Nov 2010 19:48:12 -0000
@@ -22,10 +22,47 @@ function theme_addresses_cck_formatter_d
  * Show the Address using the Single Line view.
  * @ingroup themable
  */
-function theme_addresses_cck_formatter_single_line($element) {
+function theme_addresses_cck_formatter_singleline($element) {
   // Include the important .inc file
   module_load_include('inc', 'addresses');
 
   // Print the address using the one-line only theme
   return theme('addresses_address_singleline', $element['#item']);
 }
+
+/**
+ * Show City and Address Name in one line.
+ * @ingroup themable
+ */
+function theme_addresses_cck_formatter_city_aname($element) {
+  return $element['#item']['city'] . ': ' . $element['#item']['aname'];
+}
+
+/**
+ * Show a single field of the address.
+ * @ingroup themable
+ */
+function theme_addresses_cck_formatter_field($element) {
+  switch ($element['#formatter']) {
+    case 'province_code':
+      return drupal_strtoupper($element['#item']['province']);
+    case 'province_name':
+      $provinces = _addresses_province_get($element['#item']['country']);
+      return $provinces[$element['#item']['province']];
+    case 'country_code2':
+      return drupal_strtoupper($element['#item']['country']);
+    case 'country_code3':
+      $country_code3 = _addresses_country_get_code3();
+      return drupal_strtoupper($country_code3[$element['#item']['country']]);
+    case 'country_name':
+      $countries = _addresses_country_get();
+      return $countries[$element['#item']['country']];
+    default:
+      // NOTE: This only works for plain... I'm not sure how to do the hcard/vcard.
+      if (strstr($element['#formatter'], '_plain')) {
+        return $element['#item'][substr($element['#formatter'], 0, -6)];
+      } else {
+        return false;
+      }
+  }
+}
Index: addresses_cck/addresses_cck.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses_cck/addresses_cck.module,v
retrieving revision 1.22
diff -u -p -r1.22 addresses_cck.module
--- addresses_cck/addresses_cck.module	5 Nov 2010 17:22:56 -0000	1.22
+++ addresses_cck/addresses_cck.module	5 Nov 2010 19:48:12 -0000
@@ -48,7 +48,7 @@ function addresses_cck_field_info() {
 }
 
 /**
- * Implementation of hook_formatter_info().
+ * Implementation of hook_field_formatter_info().
  *
  * Its a CCK hook to declare information about a formatter.
  *
@@ -65,27 +65,22 @@ function addresses_cck_field_formatter_i
     'multiple values' => CONTENT_HANDLE_CORE,
     'field types'     => array('addresses_cck'),
   );
-  $formatters = array(
-    'default' => array(
-      'label'           => t('Default'),
-      'arguments'       => array('element'),
-      'multiple values' => CONTENT_HANDLE_CORE,
-      'field types'     => array('addresses_cck'),
-    ),
-    'single_line' => array(
-      'label'           => t('Single Line'),
-      'arguments'       => array('element'),
-      'multiple values' => CONTENT_HANDLE_CORE,
-      'field types'     => array('addresses_cck'),
-    ),
-  );
+  $formatters = array();
+  $formatters['default'] = array(
+    'label' => t('Default'),
+  ) + $default;
+  $formatters['singleline'] = array(
+    'label' => t('Single Line')
+  ) + $default;
+  $formatters['city_aname'] = array(
+    'label' => t('City and Address name')
+  ) + $default;
 
   $afields = module_invoke_all('addressesfieldapi', 'fields');
   foreach ($afields as $ftype => $field) {
     if (!empty($field['theme'])) {
       foreach ($field['theme'] as $theme => $description) {
-        $formatters['addresses_field_'. $theme] = $default;
-        $formatters['addresses_field_'. $theme]['label'] = $description;
+        $formatters["{$ftype}_$theme"] = array('label' => $description) + $default;
       }
     }
   }
@@ -168,20 +163,35 @@ function addresses_cck_field_settings($o
       $cck_default  = content_views_field_views_data($field);
       $data[$table_alias]['table'] = $cck_default[$table_alias]['table'];
       unset($cck_default[$table_alias]['table']);
+      $litmus = true;
 
       $cck_default = array_shift($cck_default[$table_alias]);
 
+      // NOTE: It would be better to determine this in the loop based on the table field properties rather than forcing them to always be strings.
+      $cck_default['filter']['handler'] = 'views_handler_filter_string';
+
       $ftypes = module_invoke_all('addressesfieldapi', 'fields');
       foreach ($ftypes as $ftype => $field_data) {
         $field_cck = $cck_default;
         if (isset($field_data['title'])) {
           $field_cck['title'] .= ' '. $field_data['title'];
         }
+
+        // Adding in the field to the filter array
         $field_cck['filter']['field'] = $field['field_name'] .'_'. $ftype;
-//        $field_cck['filter']['title'] .= ' '. $field_data['title'];
+
+        // Tweaked to include the short title to distinguish multiple addresses in the same node when picking filters.
         $field_cck['filter']['title'] = $cck_default['title short'] . ': ' . $field_cck['filter']['title'] . ' '. $field_data['title'];
 
 //         unset($field_cck['field']['additional fields']);
+
+        // NOTE: This is crude, but accomplishes what we want.
+        if ($litmus) {
+          $litmus = false;
+        } else {
+          unset($field_cck['field']);
+        }
+
         $data[$table_alias][$field['field_name'] .'_'. $ftype] = $field_cck;
       }
 
@@ -222,18 +232,36 @@ function addresses_cck_geocode_handlers_
  * Implementation of hook_theme().
  */
 function addresses_cck_theme() {
-  return array(
-    // Shows address in the default view: Multilines
-    'addresses_cck_formatter_default' => array(
-      'arguments' => array('element'),
-      'file'      => 'addresses_cck.inc',
-    ),
-    // Shows address in only one line
-    'addresses_cck_formatter_single_line' => array(
-      'arguments' => array('element'),
-      'file'      => 'addresses_cck.inc',
-    ),
+  // Add the CCS
+  drupal_add_css(drupal_get_path('module', 'addresses') .'/addresses.css');
+
+  $default = array(
+    'arguments' => array('element'),
+    'file'      => 'addresses_cck.inc',
   );
+
+  $theme = array();
+
+  // Shows address in the default view: Multilines
+  $theme['addresses_cck_formatter_default'] = $default;
+
+  // Shows address in only one line
+  $theme['addresses_cck_formatter_singleline'] = $default;
+
+  // Shows city and aname in one line
+  $theme['addresses_cck_formatter_city_aname'] = $default;
+
+  // Shows a single field
+  $afields = module_invoke_all('addressesfieldapi', 'fields');
+  foreach ($afields as $ftype => $field) {
+    if (!empty($field['theme'])) {
+      foreach (array_keys($field['theme']) as $theme_name) {
+        $theme["addresses_cck_formatter_{$ftype}_$theme_name"] = array('function' => 'theme_addresses_cck_formatter_field') + $default;
+      }
+    }
+  }
+
+  return $theme;
 }
 
 /**
