--- old-stuff2/data/glade/podcast-properties.glade	2006-03-01 22:36:43.000000000 +1000
+++ new-stuff2/data/glade/podcast-properties.glade	2006-03-01 22:36:43.000000000 +1000
@@ -366,7 +366,7 @@
 	    <widget class="GtkTable" id="table1">
 	      <property name="border_width">12</property>
 	      <property name="visible">True</property>
-	      <property name="n_rows">6</property>
+	      <property name="n_rows">7</property>
 	      <property name="n_columns">2</property>
 	      <property name="homogeneous">False</property>
 	      <property name="row_spacing">6</property>
@@ -402,13 +402,41 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="durationDescLabel">
+		<widget class="GtkLabel" id="locationLabel">
 		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Duration:</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">-</property>
 		  <property name="use_underline">False</property>
 		  <property name="use_markup">False</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
 		  <property name="wrap">False</property>
+		  <property name="selectable">True</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_MIDDLE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">0</property>
+		  <property name="bottom_attach">1</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="ratingDescLabel">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">_Rating:</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
 		  <property name="selectable">False</property>
 		  <property name="xalign">0</property>
 		  <property name="yalign">0.5</property>
@@ -422,17 +450,17 @@
 		<packing>
 		  <property name="left_attach">0</property>
 		  <property name="right_attach">1</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
+		  <property name="top_attach">6</property>
+		  <property name="bottom_attach">7</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="durationLabel">
+		<widget class="GtkLabel" id="playcountDescLabel">
 		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">-</property>
+		  <property name="label" translatable="yes">Play count:</property>
 		  <property name="use_underline">False</property>
 		  <property name="use_markup">False</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -448,20 +476,20 @@
 		  <property name="angle">0</property>
 		</widget>
 		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">5</property>
+		  <property name="bottom_attach">6</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="bitrateDescLabel">
+		<widget class="GtkLabel" id="lastplayedDescLabel">
 		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Bitrate:</property>
-		  <property name="use_underline">False</property>
+		  <property name="label" translatable="yes">Last played:</property>
+		  <property name="use_underline">True</property>
 		  <property name="use_markup">False</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
 		  <property name="wrap">False</property>
@@ -470,6 +498,7 @@
 		  <property name="yalign">0.5</property>
 		  <property name="xpad">0</property>
 		  <property name="ypad">0</property>
+		  <property name="mnemonic_widget">lastplayedLabel</property>
 		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 		  <property name="width_chars">-1</property>
 		  <property name="single_line_mode">False</property>
@@ -478,23 +507,22 @@
 		<packing>
 		  <property name="left_attach">0</property>
 		  <property name="right_attach">1</property>
-		  <property name="top_attach">2</property>
-		  <property name="bottom_attach">3</property>
+		  <property name="top_attach">4</property>
+		  <property name="bottom_attach">5</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="bitrateLabel">
+		<widget class="GtkLabel" id="bitrateDescLabel">
 		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">-</property>
+		  <property name="label" translatable="yes">Bitrate:</property>
 		  <property name="use_underline">False</property>
 		  <property name="use_markup">False</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
 		  <property name="wrap">False</property>
-		  <property name="selectable">True</property>
+		  <property name="selectable">False</property>
 		  <property name="xalign">0</property>
 		  <property name="yalign">0.5</property>
 		  <property name="xpad">0</property>
@@ -505,20 +533,20 @@
 		  <property name="angle">0</property>
 		</widget>
 		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">2</property>
-		  <property name="bottom_attach">3</property>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">3</property>
+		  <property name="bottom_attach">4</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="lastplayedDescLabel">
+		<widget class="GtkLabel" id="durationDescLabel">
 		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Last played:</property>
-		  <property name="use_underline">True</property>
+		  <property name="label" translatable="yes">Duration:</property>
+		  <property name="use_underline">False</property>
 		  <property name="use_markup">False</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
 		  <property name="wrap">False</property>
@@ -527,7 +555,6 @@
 		  <property name="yalign">0.5</property>
 		  <property name="xpad">0</property>
 		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">lastplayedLabel</property>
 		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 		  <property name="width_chars">-1</property>
 		  <property name="single_line_mode">False</property>
@@ -536,8 +563,8 @@
 		<packing>
 		  <property name="left_attach">0</property>
 		  <property name="right_attach">1</property>
-		  <property name="top_attach">3</property>
-		  <property name="bottom_attach">4</property>
+		  <property name="top_attach">2</property>
+		  <property name="bottom_attach">3</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
@@ -565,22 +592,23 @@
 		<packing>
 		  <property name="left_attach">1</property>
 		  <property name="right_attach">2</property>
-		  <property name="top_attach">3</property>
-		  <property name="bottom_attach">4</property>
+		  <property name="top_attach">4</property>
+		  <property name="bottom_attach">5</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="playcountDescLabel">
+		<widget class="GtkLabel" id="bitrateLabel">
 		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Play count:</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">-</property>
 		  <property name="use_underline">False</property>
 		  <property name="use_markup">False</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
 		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
+		  <property name="selectable">True</property>
 		  <property name="xalign">0</property>
 		  <property name="yalign">0.5</property>
 		  <property name="xpad">0</property>
@@ -591,25 +619,24 @@
 		  <property name="angle">0</property>
 		</widget>
 		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">4</property>
-		  <property name="bottom_attach">5</property>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">3</property>
+		  <property name="bottom_attach">4</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="playcountLabel">
+		<widget class="GtkLabel" id="durationLabel">
 		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
 		  <property name="label" translatable="yes">-</property>
 		  <property name="use_underline">False</property>
 		  <property name="use_markup">False</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
 		  <property name="wrap">False</property>
-		  <property name="selectable">True</property>
+		  <property name="selectable">False</property>
 		  <property name="xalign">0</property>
 		  <property name="yalign">0.5</property>
 		  <property name="xpad">0</property>
@@ -622,21 +649,22 @@
 		<packing>
 		  <property name="left_attach">1</property>
 		  <property name="right_attach">2</property>
-		  <property name="top_attach">4</property>
-		  <property name="bottom_attach">5</property>
+		  <property name="top_attach">2</property>
+		  <property name="bottom_attach">3</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="ratingDescLabel">
+		<widget class="GtkLabel" id="downloadLocationDescLabel">
 		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Rating:</property>
-		  <property name="use_underline">True</property>
+		  <property name="label" translatable="yes">Download
+Location:</property>
+		  <property name="use_underline">False</property>
 		  <property name="use_markup">False</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
+		  <property name="wrap">True</property>
 		  <property name="selectable">False</property>
 		  <property name="xalign">0</property>
 		  <property name="yalign">0.5</property>
@@ -650,8 +678,36 @@
 		<packing>
 		  <property name="left_attach">0</property>
 		  <property name="right_attach">1</property>
-		  <property name="top_attach">5</property>
-		  <property name="bottom_attach">6</property>
+		  <property name="top_attach">1</property>
+		  <property name="bottom_attach">2</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="downloadLocationLabel">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">-</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">1</property>
+		  <property name="bottom_attach">2</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
@@ -670,15 +726,15 @@
 		<packing>
 		  <property name="left_attach">1</property>
 		  <property name="right_attach">2</property>
-		  <property name="top_attach">5</property>
-		  <property name="bottom_attach">6</property>
+		  <property name="top_attach">6</property>
+		  <property name="bottom_attach">7</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options">fill</property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="locationLabel">
+		<widget class="GtkLabel" id="playcountLabel">
 		  <property name="visible">True</property>
 		  <property name="can_focus">True</property>
 		  <property name="label" translatable="yes">-</property>
@@ -691,7 +747,7 @@
 		  <property name="yalign">0.5</property>
 		  <property name="xpad">0</property>
 		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_MIDDLE</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 		  <property name="width_chars">-1</property>
 		  <property name="single_line_mode">False</property>
 		  <property name="angle">0</property>
@@ -699,8 +755,9 @@
 		<packing>
 		  <property name="left_attach">1</property>
 		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
+		  <property name="top_attach">5</property>
+		  <property name="bottom_attach">6</property>
+		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>

--- old-stuff2/podcast/rb-podcast-properties-dialog.c	2006-03-01 22:36:43.000000000 +1000
+++ new-stuff2/podcast/rb-podcast-properties-dialog.c	2006-03-01 22:36:44.000000000 +1000
@@ -50,15 +50,16 @@ static void rb_podcast_properties_dialog
 						       GValue *value, 
 						       GParamSpec *pspec);
 static gboolean rb_podcast_properties_dialog_get_current_entry (RBPodcastPropertiesDialog *dialog);
-static void rb_podcast_properties_dialog_update_title (RBPodcastPropertiesDialog *dialog);
-static void rb_podcast_properties_dialog_update_location (RBPodcastPropertiesDialog *dialog);
 static void rb_podcast_properties_dialog_response_cb (GtkDialog *gtkdialog,
 						      int response_id,
 						      RBPodcastPropertiesDialog *dialog);
 
 static void rb_podcast_properties_dialog_update (RBPodcastPropertiesDialog *dialog);
+static void rb_podcast_properties_dialog_update_title (RBPodcastPropertiesDialog *dialog);
 static void rb_podcast_properties_dialog_update_title_label (RBPodcastPropertiesDialog *dialog);
 static void rb_podcast_properties_dialog_update_feed (RBPodcastPropertiesDialog *dialog);
+static void rb_podcast_properties_dialog_update_location (RBPodcastPropertiesDialog *dialog);
+static void rb_podcast_properties_dialog_update_download_location (RBPodcastPropertiesDialog *dialog);
 static void rb_podcast_properties_dialog_update_duration (RBPodcastPropertiesDialog *dialog);
 static void rb_podcast_properties_dialog_update_play_count (RBPodcastPropertiesDialog *dialog);
 static void rb_podcast_properties_dialog_update_bitrate (RBPodcastPropertiesDialog *dialog);
@@ -80,6 +81,7 @@ struct RBPodcastPropertiesDialogPrivate
 	GtkWidget   *title;
 	GtkWidget   *feed;
 	GtkWidget   *location;
+	GtkWidget   *download_location;
 	GtkWidget   *duration;
 	GtkWidget   *lastplayed;
 	GtkWidget   *playcount;
@@ -91,8 +93,6 @@ struct RBPodcastPropertiesDialogPrivate
 	GtkWidget   *close_button;
 };
 
-#define RB_PODCAST_PROPERTIES_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PODCAST_PROPERTIES_DIALOG, RBPodcastPropertiesDialogPrivate))
-
 enum 
 {
 	PROP_0,
@@ -129,7 +129,9 @@ rb_podcast_properties_dialog_init (RBPod
 {
 	GladeXML *xml;
 	
-	dialog->priv = RB_PODCAST_PROPERTIES_DIALOG_GET_PRIVATE (dialog);
+	dialog->priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog, 
+						    RB_TYPE_PODCAST_PROPERTIES_DIALOG, 
+						    RBPodcastPropertiesDialogPrivate);
 
 	g_signal_connect_object (G_OBJECT (dialog),
 				 "response",
@@ -160,6 +162,7 @@ rb_podcast_properties_dialog_init (RBPod
 	dialog->priv->feed = glade_xml_get_widget (xml, "feedLabel");
 	dialog->priv->duration = glade_xml_get_widget (xml, "durationLabel");
 	dialog->priv->location = glade_xml_get_widget (xml, "locationLabel");
+	dialog->priv->download_location = glade_xml_get_widget (xml, "downloadLocationLabel");
 	dialog->priv->lastplayed = glade_xml_get_widget (xml, "lastplayedLabel");
 	dialog->priv->playcount = glade_xml_get_widget (xml, "playcountLabel");
 	dialog->priv->bitrate = glade_xml_get_widget (xml, "bitrateLabel");
@@ -169,6 +172,7 @@ rb_podcast_properties_dialog_init (RBPod
 	rb_glade_boldify_label (xml, "titleDescLabel");
 	rb_glade_boldify_label (xml, "feedDescLabel");
 	rb_glade_boldify_label (xml, "locationDescLabel");
+	rb_glade_boldify_label (xml, "downloadLocationDescLabel");
 	rb_glade_boldify_label (xml, "durationDescLabel");
 	rb_glade_boldify_label (xml, "ratingDescLabel");
 	rb_glade_boldify_label (xml, "lastplayedDescLabel");
@@ -293,6 +297,7 @@ rb_podcast_properties_dialog_update (RBP
 {
 	g_return_if_fail (dialog->priv->current_entry != NULL);
 	rb_podcast_properties_dialog_update_location (dialog);
+	rb_podcast_properties_dialog_update_download_location (dialog);
 	rb_podcast_properties_dialog_update_title (dialog);
 	rb_podcast_properties_dialog_update_title_label (dialog);
 	rb_podcast_properties_dialog_update_feed (dialog);
@@ -352,12 +357,28 @@ static void
 rb_podcast_properties_dialog_update_location (RBPodcastPropertiesDialog *dialog)
 {
 	const char *location;
-	char *unescaped;
+	char *display;
 
 	location = rhythmdb_entry_get_string (dialog->priv->current_entry, RHYTHMDB_PROP_LOCATION);
-	unescaped = gnome_vfs_unescape_string_for_display (location);
-	gtk_label_set_text (GTK_LABEL (dialog->priv->location), unescaped);
-	g_free (unescaped);
+	display = gnome_vfs_format_uri_for_display (location);
+	gtk_label_set_text (GTK_LABEL (dialog->priv->location), display);
+	g_free (display);
+}
+
+static void
+rb_podcast_properties_dialog_update_download_location (RBPodcastPropertiesDialog *dialog)
+{
+	const char *location;
+
+	location = rhythmdb_entry_get_string (dialog->priv->current_entry, RHYTHMDB_PROP_MOUNTPOINT);
+	if (location != NULL && location[0] == '\0') {
+		char *display;
+		display = gnome_vfs_format_uri_for_display (location);
+		gtk_label_set_text (GTK_LABEL (dialog->priv->download_location), display);
+		g_free (display);
+	} else {
+		gtk_label_set_text (GTK_LABEL (dialog->priv->download_location), _("Not Downloaded"));
+	}
 }
 
 static void

