brasero r1630 - in trunk: . src



Author: philippr
Date: Mon Dec 15 17:28:00 2008
New Revision: 1630
URL: http://svn.gnome.org/viewvc/brasero?rev=1630&view=rev

Log:
	Use GIcon in medium selection to get the same icons as nautilus

	* src/brasero-medium-selection.c
	(brasero_medium_selection_show_type),
	(brasero_medium_selection_medium_added_cb),
	(brasero_medium_selection_init):
	* src/burn-medium.c (brasero_medium_get_medium_type),
	(brasero_medium_probe_thread), (brasero_medium_init_file):
	* src/burn-volume-obj.c (brasero_volume_get_icon):
	* src/burn-volume-obj.h:

Modified:
   trunk/ChangeLog
   trunk/src/brasero-medium-selection.c
   trunk/src/burn-medium.c
   trunk/src/burn-volume-obj.c
   trunk/src/burn-volume-obj.h

Modified: trunk/src/brasero-medium-selection.c
==============================================================================
--- trunk/src/brasero-medium-selection.c	(original)
+++ trunk/src/brasero-medium-selection.c	Mon Dec 15 17:28:00 2008
@@ -405,12 +405,12 @@
 		for (item = list; item; item = item->next) {
 			gchar *medium_name;
 			BraseroMedium *medium;
-			const gchar *medium_icon;
+			GIcon *medium_icon;
 
 			medium = item->data;
 
 			medium_name = brasero_medium_selection_get_medium_string (self, medium);
-			medium_icon = brasero_medium_get_icon (medium);
+			medium_icon = brasero_volume_get_icon (BRASERO_VOLUME (medium));
 
 			gtk_list_store_append (GTK_LIST_STORE (model), &iter);
 			gtk_list_store_set (GTK_LIST_STORE (model), &iter,
@@ -472,11 +472,11 @@
 					  BraseroMediumSelection *self)
 {
 	BraseroMediumSelectionPrivate *priv;
-	const gchar *medium_icon;
 	gboolean add = FALSE;
 	GtkTreeModel *model;
 	BraseroDrive *drive;
 	gchar *medium_name;
+	GIcon *medium_icon;
 	GtkTreeIter iter;
 
 	priv = BRASERO_MEDIUM_SELECTION_PRIVATE (self);
@@ -535,7 +535,7 @@
 	}
 
 	medium_name = brasero_medium_selection_get_medium_string (self, medium);
-	medium_icon = brasero_medium_get_icon (medium);
+	medium_icon = brasero_volume_get_icon (BRASERO_VOLUME (medium));
 	gtk_list_store_append (GTK_LIST_STORE (model), &iter);
 	gtk_list_store_set (GTK_LIST_STORE (model), &iter,
 			    MEDIUM_COL, medium,
@@ -622,7 +622,7 @@
 	model = gtk_list_store_new (NUM_COL,
 				    G_TYPE_OBJECT,
 				    G_TYPE_STRING,
-				    G_TYPE_STRING);
+				    G_TYPE_ICON);
 
 	gtk_combo_box_set_model (GTK_COMBO_BOX (object), GTK_TREE_MODEL (model));
 	g_object_unref (model);
@@ -631,7 +631,7 @@
 	g_object_set (renderer, "follow-state", TRUE, NULL);
 	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (object), renderer, FALSE);
 	gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (object), renderer,
-					"icon-name", ICON_COL,
+					"gicon", ICON_COL,
 					NULL);
 
 	renderer = gtk_cell_renderer_text_new ();

Modified: trunk/src/burn-medium.c
==============================================================================
--- trunk/src/burn-medium.c	(original)
+++ trunk/src/burn-medium.c	Mon Dec 15 17:28:00 2008
@@ -52,16 +52,7 @@
 #include "burn-volume.h"
 #include "burn-drive.h"
 
-const gchar *icons [] = { 	"iso-image-new",
-				"media-optical",
-				"media-optical",
-				"media-optical",
-				"media-optical",
-				"media-optical",
-				"media-optical",
-				"media-optical",
-				"media-optical",
-				NULL };
+
 const gchar *types [] = {	N_("File"),
 				N_("CDROM"),
 				N_("CD-R"),
@@ -95,7 +86,6 @@
 	GSList *tracks;
 
 	const gchar *type;
-	const gchar *icon;
 
 	gchar *id;
 
@@ -224,18 +214,6 @@
 	return priv->type;
 }
 
-const gchar *
-brasero_medium_get_icon (BraseroMedium *medium)
-{
-	BraseroMediumPrivate *priv;
-
-	if (!medium)
-		return NULL;
-
-	priv = BRASERO_MEDIUM_PRIVATE (medium);
-	return priv->icon;
-}
-
 BraseroMedia
 brasero_medium_get_status (BraseroMedium *medium)
 {
@@ -2508,7 +2486,6 @@
 			/* CDROM */
 			priv->info = BRASERO_MEDIUM_CDROM;
 			priv->type = types [1];
-			priv->icon = icons [1];
 		}
 		else {
 			/* check the size of the structure: it must be at least 8 bytes long */
@@ -2524,13 +2501,11 @@
 				/* CDRW */
 				priv->info = BRASERO_MEDIUM_CDRW;
 				priv->type = types [3];
-				priv->icon = icons [3];
 			}
 			else {
 				/* CDR */
 				priv->info = BRASERO_MEDIUM_CDR;
 				priv->type = types [2];
-				priv->icon = icons [2];
 			}
 
 			g_free (data);
@@ -2543,110 +2518,92 @@
 	case BRASERO_SCSI_PROF_CDROM:
 		priv->info = BRASERO_MEDIUM_CDROM;
 		priv->type = types [1];
-		priv->icon = icons [1];
 		break;
 
 	case BRASERO_SCSI_PROF_CDR:
 		priv->info = BRASERO_MEDIUM_CDR;
 		priv->type = types [2];
-		priv->icon = icons [2];
 		break;
 
 	case BRASERO_SCSI_PROF_CDRW:
 		priv->info = BRASERO_MEDIUM_CDRW;
 		priv->type = types [3];
-		priv->icon = icons [3];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_ROM:
 		priv->info = BRASERO_MEDIUM_DVD_ROM;
 		priv->type = types [4];
-		priv->icon = icons [4];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_R:
 		priv->info = BRASERO_MEDIUM_DVDR;
 		priv->type = types [5];
-		priv->icon = icons [5];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_RW_RESTRICTED:
 		priv->info = BRASERO_MEDIUM_DVDRW_RESTRICTED;
 		priv->type = types [6];
-		priv->icon = icons [6];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_RW_SEQUENTIAL:
 		priv->info = BRASERO_MEDIUM_DVDRW;
 		priv->type = types [6];
-		priv->icon = icons [6];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_R_PLUS:
 		priv->info = BRASERO_MEDIUM_DVDR_PLUS;
 		priv->type = types [7];
-		priv->icon = icons [7];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_RW_PLUS:
 		priv->info = BRASERO_MEDIUM_DVDRW_PLUS;
 		priv->type = types [8];
-		priv->icon = icons [7];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_R_PLUS_DL:
 		priv->info = BRASERO_MEDIUM_DVDR_PLUS_DL;
 		priv->type = types [9];
-		priv->icon = icons [7];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_RW_PLUS_DL:
 		priv->info = BRASERO_MEDIUM_DVDRW_PLUS_DL;
 		priv->type = types [10];
-		priv->icon = icons [7];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_R_DL_SEQUENTIAL:
 		priv->info = BRASERO_MEDIUM_DVDR_DL;
 		priv->type = types [11];
-		priv->icon = icons [5];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_R_DL_JUMP:
 		priv->info = BRASERO_MEDIUM_DVDR_JUMP_DL;
 		priv->type = types [11];
-		priv->icon = icons [5];
 		break;
 
 	case BRASERO_SCSI_PROF_BD_ROM:
 		priv->info = BRASERO_MEDIUM_BD_ROM;
 		priv->type = types [13];
-		priv->icon = icons [4];
 		break;
 
 	case BRASERO_SCSI_PROF_BR_R_SEQUENTIAL:
 		/* check if that's a POW later */
 		priv->info = BRASERO_MEDIUM_BDR_SRM;
 		priv->type = types [14];
-		priv->icon = icons [5];
 		break;
 
 	case BRASERO_SCSI_PROF_BR_R_RANDOM:
 		priv->info = BRASERO_MEDIUM_BDR_RANDOM;
 		priv->type = types [14];
-		priv->icon = icons [5];
 		break;
 
 	case BRASERO_SCSI_PROF_BD_RW:
 		priv->info = BRASERO_MEDIUM_BDRE;
 		priv->type = types [15];
-		priv->icon = icons [6];
 		break;
 
 	case BRASERO_SCSI_PROF_DVD_RAM:
 		priv->info = BRASERO_MEDIUM_DVD_RAM;
 		priv->type = types [12];
-		priv->icon = icons [8];
 		break;
 
 	/* WARNING: these types are recognized, no more */
@@ -2662,7 +2619,6 @@
 	case BRASERO_SCSI_PROF_HD_DVD_R:
 	case BRASERO_SCSI_PROF_HD_DVD_RAM:
 		priv->info = BRASERO_MEDIUM_UNSUPPORTED;
-		priv->icon = icons [0];
 		g_free (hdr);
 		return BRASERO_BURN_NOT_SUPPORTED;
 	}
@@ -3159,7 +3115,6 @@
 	path = brasero_drive_get_device (priv->drive);
 
 	priv->info = BRASERO_MEDIUM_BUSY;
-	priv->icon = icons [0];
 
 	/* the drive might be busy (a burning is going on) so we don't block
 	 * but we re-try to open it every second */
@@ -3239,7 +3194,6 @@
 
 	priv->info = BRASERO_MEDIUM_FILE;
 	priv->type = types [0];
-	priv->icon = icons [0];
 }
 
 static void

Modified: trunk/src/burn-volume-obj.c
==============================================================================
--- trunk/src/burn-volume-obj.c	(original)
+++ trunk/src/burn-volume-obj.c	Mon Dec 15 17:28:00 2008
@@ -720,6 +720,36 @@
 		g_main_loop_quit (priv->loop);
 }
 
+GIcon *
+brasero_volume_get_icon (BraseroVolume *self)
+{
+	GVolume *volume;
+	GMount *mount;
+	GIcon *icon;
+
+	if (!self)
+		return g_themed_icon_new_with_default_fallbacks ("drive-optical");
+
+	if (brasero_medium_get_status (BRASERO_MEDIUM (self)) == BRASERO_MEDIUM_FILE)
+		return g_themed_icon_new_with_default_fallbacks ("iso-image-new");
+
+	volume = brasero_volume_get_gvolume (self);
+	if (!volume)
+		return g_themed_icon_new_with_default_fallbacks ("drive-optical");
+
+	mount = g_volume_get_mount (volume);
+	if (mount) {
+		icon = g_mount_get_icon (mount);
+		g_object_unref (mount);
+	}
+	else
+		icon = g_volume_get_icon (volume);
+
+	g_object_unref (volume);
+
+	return icon;
+}
+
 gchar *
 brasero_volume_get_name (BraseroVolume *self)
 {

Modified: trunk/src/burn-volume-obj.h
==============================================================================
--- trunk/src/burn-volume-obj.h	(original)
+++ trunk/src/burn-volume-obj.h	Mon Dec 15 17:28:00 2008
@@ -24,6 +24,7 @@
 #define _BRASERO_VOLUME_H_
 
 #include <glib-object.h>
+#include <gio/gio.h>
 
 #include "burn-drive.h"
 
@@ -56,7 +57,10 @@
 		    const gchar *udi);
 
 gchar *
-brasero_volume_get_name (BraseroVolume *self);
+brasero_volume_get_name (BraseroVolume *volume);
+
+GIcon *
+brasero_volume_get_icon (BraseroVolume *volume);
 
 gboolean
 brasero_volume_is_mounted (BraseroVolume *volume);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]