[Goodies-commits] r5134 - xfburn/trunk/xfburn

Jean-Francois Wauthy pollux at xfce.org
Fri Jul 18 14:28:17 CEST 2008


Author: pollux
Date: 2008-07-18 12:28:17 +0000 (Fri, 18 Jul 2008)
New Revision: 5134

Modified:
   xfburn/trunk/xfburn/xfburn-compositions-notebook.c
   xfburn/trunk/xfburn/xfburn-device-list.c
   xfburn/trunk/xfburn/xfburn-notebook-tab.c
   xfburn/trunk/xfburn/xfburn-notebook-tab.h
Log:
add support for adding/showing close button of a composition tab

Modified: xfburn/trunk/xfburn/xfburn-compositions-notebook.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-compositions-notebook.c	2008-07-18 11:39:51 UTC (rev 5133)
+++ xfburn/trunk/xfburn/xfburn-compositions-notebook.c	2008-07-18 12:28:17 UTC (rev 5134)
@@ -180,7 +180,7 @@
     
     guint page_num;
     
-    tab = xfburn_notebook_tab_new (label_text);
+    tab = xfburn_notebook_tab_new (label_text, TRUE);
     gtk_widget_show (tab);
 	
     menu_label = gtk_label_new (label_text);

Modified: xfburn/trunk/xfburn/xfburn-device-list.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-device-list.c	2008-07-18 11:39:51 UTC (rev 5133)
+++ xfburn/trunk/xfburn/xfburn-device-list.c	2008-07-18 12:28:17 UTC (rev 5134)
@@ -160,7 +160,7 @@
     }
 
     burn_drive_free_speedlist (&speed_list); 
-    device->supported_cdr_speeds    g_warning ("no profile could be retrieved"); = g_slist_sort (device->supported_cdr_speeds, &cmp_ints);
+    device->supported_cdr_speeds = g_slist_sort (device->supported_cdr_speeds, &cmp_ints);
   } else if (ret == 0 || speed_list == NULL) {
     g_warning ("reported speed list is empty for device:");
     g_warning (DEVICE_INFO_PRINTF);

Modified: xfburn/trunk/xfburn/xfburn-notebook-tab.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-notebook-tab.c	2008-07-18 11:39:51 UTC (rev 5133)
+++ xfburn/trunk/xfburn/xfburn-notebook-tab.c	2008-07-18 12:28:17 UTC (rev 5134)
@@ -37,6 +37,7 @@
 enum {
   PROP_0,
   PROP_LABEL,
+  PROP_SHOW_BUTTON_CLOSE,
 };
 
 /* private members */
@@ -105,7 +106,10 @@
   
   g_object_class_install_property (object_class, PROP_LABEL, 
                                    g_param_spec_string ("label", _("Label"), _("The text of the label"), 
-                                                        NULL, G_PARAM_READWRITE));
+                                                        NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+  g_object_class_install_property (object_class, PROP_SHOW_BUTTON_CLOSE, 
+                                   g_param_spec_boolean ("show-button-close", _("Show close button"), _("Determine whether the close button is visible"), 
+                                                        TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
 }
 
 static void
@@ -137,13 +141,15 @@
   XfburnNotebookTabPrivate *priv = XFBURN_NOTEBOOK_TAB_GET_PRIVATE (object);
 
   switch (prop_id) {
-    case PROP_LABEL:
-      g_value_set_string (value, gtk_label_get_text (GTK_LABEL (priv->label)));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
+  case PROP_LABEL:
+    g_value_set_string (value, gtk_label_get_text (GTK_LABEL (priv->label)));
+    break;
+  case PROP_SHOW_BUTTON_CLOSE:
+    g_object_get_property (G_OBJECT (priv->button_close), "visible", value);
+    break;
+  default:
+    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+    break;
   }
 }
 
@@ -153,13 +159,19 @@
   XfburnNotebookTabPrivate *priv = XFBURN_NOTEBOOK_TAB_GET_PRIVATE (object);
   
   switch (prop_id) {
-    case PROP_LABEL:
-      gtk_label_set_text (GTK_LABEL (priv->label), g_value_get_string (value));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
+  case PROP_LABEL:
+    gtk_label_set_text (GTK_LABEL (priv->label), g_value_get_string (value));
+    break;
+  case PROP_SHOW_BUTTON_CLOSE:
+    if (g_value_get_boolean (value))
+      gtk_widget_show (priv->button_close);
+    else
+      gtk_widget_hide (priv->button_close);
+	
+    break;
+  default:
+    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+    break;
   }
 }
                                           
@@ -176,11 +188,12 @@
 /* public */
 /**********/
 GtkWidget *
-xfburn_notebook_tab_new (const gchar *label)
+xfburn_notebook_tab_new (const gchar *label, gboolean show_button_close)
 {
   GtkWidget *obj;
 
-  obj = GTK_WIDGET (g_object_new (XFBURN_TYPE_NOTEBOOK_TAB, "homogeneous", FALSE, "label", label, NULL));
+  obj = GTK_WIDGET (g_object_new (XFBURN_TYPE_NOTEBOOK_TAB, "homogeneous", FALSE, 
+				  "label", label, "show-button-close", show_button_close, NULL));
 
   return obj;
 }
@@ -192,3 +205,19 @@
   
   gtk_label_set_text (GTK_LABEL (priv->label), label);
 }
+
+void
+xfburn_notebook_tab_show_button_close (XfburnNotebookTab *tab)
+{
+  XfburnNotebookTabPrivate *priv = XFBURN_NOTEBOOK_TAB_GET_PRIVATE (tab);
+  
+  gtk_widget_show (priv->button_close);
+}
+
+void
+xfburn_notebook_tab_show_button_hide (XfburnNotebookTab *tab)
+{
+  XfburnNotebookTabPrivate *priv = XFBURN_NOTEBOOK_TAB_GET_PRIVATE (tab);
+  
+  gtk_widget_hide (priv->button_close);
+}

Modified: xfburn/trunk/xfburn/xfburn-notebook-tab.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-notebook-tab.h	2008-07-18 11:39:51 UTC (rev 5133)
+++ xfburn/trunk/xfburn/xfburn-notebook-tab.h	2008-07-18 12:28:17 UTC (rev 5134)
@@ -45,9 +45,12 @@
 
 GtkType xfburn_notebook_tab_get_type ();
 
-GtkWidget *xfburn_notebook_tab_new (const gchar *label);
+GtkWidget *xfburn_notebook_tab_new (const gchar *label, gboolean show_button_close);
 
 void xfburn_notebook_tab_set_label (XfburnNotebookTab *tab, const gchar *label);
 
+void xfburn_notebook_tab_show_button_close (XfburnNotebookTab *tab);
+void xfburn_notebook_tab_show_button_hide (XfburnNotebookTab *tab);
+
 G_END_DECLS
 #endif /* XFBURN_NOTEBOOK_TAB_H */




More information about the Goodies-commits mailing list