[Goodies-commits] r3930 - xfmpc/trunk/src

Mike Massonnet mmassonnet at xfce.org
Fri Feb 8 12:34:57 CET 2008


Author: mmassonnet
Date: 2008-02-08 11:34:57 +0000 (Fri, 08 Feb 2008)
New Revision: 3930

Modified:
   xfmpc/trunk/src/extended-interface.c
   xfmpc/trunk/src/extended-interface.h
   xfmpc/trunk/src/interface.c
   xfmpc/trunk/src/interface.h
   xfmpc/trunk/src/mpdclient.c
   xfmpc/trunk/src/mpdclient.h
Log:
Make use of g_type_class_add_private in each GObject
* src/extended-interface.c, src/extended-interface.h,
  src/interface.c, src/interface.h,
  src/mpdclient.c, src/mpdclient.h:
  - Create the private data structure with g_type_class_add_private instead of
    allocating the private structure with g_slice_new


Modified: xfmpc/trunk/src/extended-interface.c
===================================================================
--- xfmpc/trunk/src/extended-interface.c	2008-02-08 11:34:49 UTC (rev 3929)
+++ xfmpc/trunk/src/extended-interface.c	2008-02-08 11:34:57 UTC (rev 3930)
@@ -26,8 +26,11 @@
 
 #define BORDER 4
 
+#define XFMPC_EXTENDED_INTERFACE_GET_PRIVATE(o) \
+    (G_TYPE_INSTANCE_GET_PRIVATE ((o), XFMPC_TYPE_EXTENDED_INTERFACE, XfmpcExtendedInterfacePrivate))
 
 
+
 /* List store identifiers */
 enum
 {
@@ -50,20 +53,20 @@
 
 struct _XfmpcExtendedInterfaceClass
 {
-  GtkVBoxClass                  parent_class;
+  GtkVBoxClass                      parent_class;
 };
 
 struct _XfmpcExtendedInterface
 {
-  GtkVBox                       parent;
-  XfmpcExtendedInterfacePriv   *priv;
+  GtkVBox                           parent;
+  XfmpcExtendedInterfacePrivate    *priv;
 };
 
-struct _XfmpcExtendedInterfacePriv
+struct _XfmpcExtendedInterfacePrivate
 {
-  GtkListStore                 *list_store;
-  GtkWidget                    *combobox;
-  GtkWidget                    *notebook;
+  GtkListStore                     *list_store;
+  GtkWidget                        *combobox;
+  GtkWidget                        *notebook;
 };
 
 
@@ -105,6 +108,8 @@
 {
   GObjectClass *gobject_class;
 
+  g_type_class_add_private (klass, sizeof (XfmpcExtendedInterfacePrivate));
+
   parent_class = g_type_class_peek_parent (klass);
 
   gobject_class = G_OBJECT_CLASS (klass);
@@ -115,26 +120,24 @@
 static void
 xfmpc_extended_interface_init (XfmpcExtendedInterface *extended_interface)
 {
-  extended_interface->priv = g_slice_new0 (XfmpcExtendedInterfacePriv);
+  XfmpcExtendedInterfacePrivate *priv = XFMPC_EXTENDED_INTERFACE_GET_PRIVATE (extended_interface);
 
   /* Combo box */
-  GtkListStore *list_store = extended_interface->priv->list_store =
-    gtk_list_store_new (N_COLUMNS,
-                        G_TYPE_STRING,
-                        G_TYPE_POINTER);
+  priv->list_store = gtk_list_store_new (N_COLUMNS,
+                                         G_TYPE_STRING,
+                                         G_TYPE_POINTER);
 
-  GtkWidget *combobox = extended_interface->priv->combobox =
-    gtk_combo_box_new_with_model (GTK_TREE_MODEL (list_store));
+  priv->combobox = gtk_combo_box_new_with_model (GTK_TREE_MODEL (priv->list_store));
 
   GtkCellRenderer *cell = gtk_cell_renderer_text_new ();
-  gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), cell, TRUE);
-  gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox),
+  gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->combobox), cell, TRUE);
+  gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (priv->combobox),
                                   cell, "text", COLUMN_STRING,
                                   NULL);
 
   /* Notebook */
-  GtkWidget *notebook = extended_interface->priv->notebook = gtk_notebook_new ();
-  gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
+  priv->notebook = gtk_notebook_new ();
+  gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
 
   /* Extended interface widgets */
   GtkWidget *child = gtk_label_new ("Hello world!");
@@ -144,11 +147,11 @@
   xfmpc_extended_interface_append_child (extended_interface, child, "Good bye world!");
 
   /* Containers */
-  gtk_box_pack_start (GTK_BOX (extended_interface), combobox, FALSE, FALSE, BORDER);
-  gtk_box_pack_start (GTK_BOX (extended_interface), notebook, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (extended_interface), priv->combobox, FALSE, FALSE, BORDER);
+  gtk_box_pack_start (GTK_BOX (extended_interface), priv->notebook, TRUE, TRUE, 0);
 
   /* Signals */
-  g_signal_connect (combobox, "changed",
+  g_signal_connect (priv->combobox, "changed",
                     G_CALLBACK (cb_xfmpc_extended_interface_combobox_changed), extended_interface);
 }
 
@@ -177,25 +180,29 @@
                                        GtkWidget *child,
                                        const gchar *title)
 {
+  XfmpcExtendedInterfacePrivate *priv = XFMPC_EXTENDED_INTERFACE_GET_PRIVATE (extended_interface);
+
   GtkTreeIter iter;
 
-  gtk_list_store_append (extended_interface->priv->list_store, &iter);
-  gtk_list_store_set (extended_interface->priv->list_store, &iter,
+  gtk_list_store_append (priv->list_store, &iter);
+  gtk_list_store_set (priv->list_store, &iter,
                       COLUMN_STRING, title,
                       COLUMN_POINTER, child,
                       -1);
 
-  if (gtk_combo_box_get_active(GTK_COMBO_BOX (extended_interface->priv->combobox)) == -1)
-    gtk_combo_box_set_active (GTK_COMBO_BOX (extended_interface->priv->combobox), 0);
+  if (gtk_combo_box_get_active(GTK_COMBO_BOX (priv->combobox)) == -1)
+    gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combobox), 0);
 
-  gtk_notebook_append_page (GTK_NOTEBOOK (extended_interface->priv->notebook), child, NULL);
-  gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (extended_interface->priv->notebook), child, TRUE, TRUE, GTK_PACK_START);
+  gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), child, NULL);
+  gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (priv->notebook), child, TRUE, TRUE, GTK_PACK_START);
 }
 
 static void
 cb_xfmpc_extended_interface_combobox_changed (GtkComboBox *widget,
                                               XfmpcExtendedInterface *extended_interface)
 {
+  XfmpcExtendedInterfacePrivate *priv = XFMPC_EXTENDED_INTERFACE_GET_PRIVATE (extended_interface);
+
   GtkWidget            *child;
   GtkTreeIter           iter;
   gint                  i;
@@ -203,12 +210,12 @@
   if (gtk_combo_box_get_active_iter (widget, &iter) == FALSE)
     return;
 
-  gtk_tree_model_get (GTK_TREE_MODEL (extended_interface->priv->list_store), &iter,
+  gtk_tree_model_get (GTK_TREE_MODEL (priv->list_store), &iter,
                       COLUMN_POINTER, &child,
                       -1);
   g_return_if_fail (G_LIKELY (GTK_IS_WIDGET (child)));
 
-  i = gtk_notebook_page_num (GTK_NOTEBOOK (extended_interface->priv->notebook), child);
-  gtk_notebook_set_current_page (GTK_NOTEBOOK (extended_interface->priv->notebook), i);
+  i = gtk_notebook_page_num (GTK_NOTEBOOK (priv->notebook), child);
+  gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), i);
 }
 

Modified: xfmpc/trunk/src/extended-interface.h
===================================================================
--- xfmpc/trunk/src/extended-interface.h	2008-02-08 11:34:49 UTC (rev 3929)
+++ xfmpc/trunk/src/extended-interface.h	2008-02-08 11:34:57 UTC (rev 3930)
@@ -33,7 +33,7 @@
 
 typedef struct _XfmpcExtendedInterfaceClass         XfmpcExtendedInterfaceClass;
 typedef struct _XfmpcExtendedInterface              XfmpcExtendedInterface;
-typedef struct _XfmpcExtendedInterfacePriv          XfmpcExtendedInterfacePriv;
+typedef struct _XfmpcExtendedInterfacePrivate       XfmpcExtendedInterfacePrivate;
 
 GType                   xfmpc_extended_interface_get_type       () G_GNUC_CONST;
 

Modified: xfmpc/trunk/src/interface.c
===================================================================
--- xfmpc/trunk/src/interface.c	2008-02-08 11:34:49 UTC (rev 3929)
+++ xfmpc/trunk/src/interface.c	2008-02-08 11:34:57 UTC (rev 3930)
@@ -32,8 +32,11 @@
 
 #define BORDER 4
 
+#define XFMPC_INTERFACE_GET_PRIVATE(o) \
+    (G_TYPE_INSTANCE_GET_PRIVATE ((o), XFMPC_TYPE_INTERFACE, XfmpcInterfacePrivate))
 
 
+
 static void             xfmpc_interface_class_init              (XfmpcInterfaceClass *klass);
 static void             xfmpc_interface_init                    (XfmpcInterface *interface);
 static void             xfmpc_interface_dispose                 (GObject *object);
@@ -62,27 +65,27 @@
 
 struct _XfmpcInterfaceClass
 {
-  GtkWindowClass        parent_class;
+  GtkWindowClass            parent_class;
 };
 
 struct _XfmpcInterface
 {
-  GtkWindow             parent;
-  XfmpcInterfacePriv   *priv;
-  GtkWidget            *extended_interface;
-  XfmpcPreferences     *preferences;
-  XfmpcMpdclient       *mpdclient;
+  GtkWindow                 parent;
+  XfmpcInterfacePrivate    *priv;
+  GtkWidget                *extended_interface;
+  XfmpcPreferences         *preferences;
+  XfmpcMpdclient           *mpdclient;
 };
 
-struct _XfmpcInterfacePriv
+struct _XfmpcInterfacePrivate
 {
-  GtkWidget            *button_prev;
-  GtkWidget            *button_pp; /* play/pause */
-  GtkWidget            *button_next;
-  GtkWidget            *button_volume;
-  GtkWidget            *progress_bar; /* position in song */
-  GtkWidget            *title;
-  GtkWidget            *subtitle;
+  GtkWidget                *button_prev;
+  GtkWidget                *button_pp; /* play/pause */
+  GtkWidget                *button_next;
+  GtkWidget                *button_volume;
+  GtkWidget                *progress_bar; /* position in song */
+  GtkWidget                *title;
+  GtkWidget                *subtitle;
 };
 
 
@@ -136,6 +139,8 @@
 {
   GObjectClass *gobject_class;
 
+  g_type_class_add_private (klass, sizeof (XfmpcInterfacePrivate));
+
   parent_class = g_type_class_peek_parent (klass);
 
   gobject_class = G_OBJECT_CLASS (klass);
@@ -146,7 +151,8 @@
 static void
 xfmpc_interface_init (XfmpcInterface *interface)
 {
-  interface->priv = g_slice_new0 (XfmpcInterfacePriv);
+  XfmpcInterfacePrivate *priv = XFMPC_INTERFACE_GET_PRIVATE (interface);
+
   interface->preferences = xfmpc_preferences_get ();
   interface->mpdclient = xfmpc_mpdclient_new ();
 
@@ -171,25 +177,25 @@
 
   /* === Interface widgets === */
   GtkWidget *image = gtk_image_new_from_stock (GTK_STOCK_MEDIA_PREVIOUS, GTK_ICON_SIZE_BUTTON);
-  GtkWidget *control = interface->priv->button_prev = gtk_button_new ();
+  GtkWidget *control = priv->button_prev = gtk_button_new ();
   gtk_button_set_relief (GTK_BUTTON (control), GTK_RELIEF_NONE);
   gtk_container_add (GTK_CONTAINER (control), image);
 
   image = gtk_image_new_from_stock (GTK_STOCK_MEDIA_PLAY, GTK_ICON_SIZE_BUTTON);
-  control = interface->priv->button_pp = gtk_button_new ();
+  control = priv->button_pp = gtk_button_new ();
   gtk_button_set_relief (GTK_BUTTON (control), GTK_RELIEF_NONE);
   gtk_container_add (GTK_CONTAINER (control), image);
 
   image = gtk_image_new_from_stock (GTK_STOCK_MEDIA_NEXT, GTK_ICON_SIZE_BUTTON);
-  control = interface->priv->button_next = gtk_button_new ();
+  control = priv->button_next = gtk_button_new ();
   gtk_button_set_relief (GTK_BUTTON (control), GTK_RELIEF_NONE);
   gtk_container_add (GTK_CONTAINER (control), image);
 
-  control = interface->priv->button_volume = gtk_volume_button_new ();
+  control = priv->button_volume = gtk_volume_button_new ();
   gtk_button_set_relief (GTK_BUTTON (control), GTK_RELIEF_NONE);
 
   GtkWidget *progress_box = gtk_event_box_new ();
-  control = interface->priv->progress_bar = gtk_progress_bar_new ();
+  control = priv->progress_bar = gtk_progress_bar_new ();
   gtk_progress_bar_set_text (GTK_PROGRESS_BAR (control), "0:00 / 0:00");
   gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (control), 1.0);
   gtk_container_add (GTK_CONTAINER (progress_box), control);
@@ -208,7 +214,7 @@
   attr->end_index = -1;
   pango_attr_list_insert (attrs, attr);
 
-  GtkWidget *label = interface->priv->title = gtk_label_new (_("Not connected"));
+  GtkWidget *label = priv->title = gtk_label_new (_("Not connected"));
   gtk_label_set_attributes (GTK_LABEL (label), attrs);
   gtk_label_set_selectable (GTK_LABEL (label), TRUE);
   gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
@@ -221,7 +227,7 @@
   attr->end_index = -1;
   pango_attr_list_insert (attrs, attr);
 
-  label = interface->priv->subtitle = gtk_label_new (PACKAGE_STRING);
+  label = priv->subtitle = gtk_label_new (PACKAGE_STRING);
   gtk_label_set_attributes (GTK_LABEL (label), attrs);
   gtk_label_set_selectable (GTK_LABEL (label), TRUE);
   gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
@@ -233,16 +239,16 @@
 
   GtkWidget *box = gtk_hbox_new (FALSE, 0);
   gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 0);
-  gtk_box_pack_start (GTK_BOX (box), interface->priv->button_prev, FALSE, FALSE, 0);
-  gtk_box_pack_start (GTK_BOX (box), interface->priv->button_pp, FALSE, FALSE, 0);
-  gtk_box_pack_start (GTK_BOX (box), interface->priv->button_next, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (box), priv->button_prev, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (box), priv->button_pp, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (box), priv->button_next, FALSE, FALSE, 0);
   gtk_box_pack_start (GTK_BOX (box), progress_box, TRUE, TRUE, BORDER);
-  gtk_box_pack_start (GTK_BOX (box), interface->priv->button_volume, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (box), priv->button_volume, FALSE, FALSE, 0);
 
   box = gtk_vbox_new (FALSE, 0);
   gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0);
-  gtk_container_add (GTK_CONTAINER (box), interface->priv->title);
-  gtk_container_add (GTK_CONTAINER (box), interface->priv->subtitle);
+  gtk_container_add (GTK_CONTAINER (box), priv->title);
+  gtk_container_add (GTK_CONTAINER (box), priv->subtitle);
 
   gtk_box_pack_start (GTK_BOX (vbox), interface->extended_interface, TRUE, TRUE, 0);
 
@@ -258,13 +264,13 @@
   gtk_window_add_accel_group (GTK_WINDOW (interface), accel_group);
 
   /* === Signals === */
-  g_signal_connect_swapped (interface->priv->button_prev, "clicked",
+  g_signal_connect_swapped (priv->button_prev, "clicked",
                             G_CALLBACK (xfmpc_mpdclient_previous), interface->mpdclient);
-  g_signal_connect_swapped (interface->priv->button_pp, "clicked",
+  g_signal_connect_swapped (priv->button_pp, "clicked",
                             G_CALLBACK (xfmpc_interface_pp_clicked), interface);
-  g_signal_connect_swapped (interface->priv->button_next, "clicked",
+  g_signal_connect_swapped (priv->button_next, "clicked",
                             G_CALLBACK (xfmpc_mpdclient_next), interface->mpdclient);
-  g_signal_connect_swapped (interface->priv->button_volume, "value-changed",
+  g_signal_connect_swapped (priv->button_volume, "value-changed",
                             G_CALLBACK (xfmpc_interface_volume_changed), interface);
   g_signal_connect_swapped (progress_box, "button-press-event",
                             G_CALLBACK (xfmpc_interface_progress_box_press_event), interface);
@@ -300,31 +306,36 @@
 xfmpc_interface_set_title (XfmpcInterface *interface,
                            const gchar *title)
 {
-  gtk_label_set_text (GTK_LABEL (interface->priv->title), title);
+  XfmpcInterfacePrivate *priv = XFMPC_INTERFACE_GET_PRIVATE (interface);
+
+  gtk_label_set_text (GTK_LABEL (priv->title), title);
 }
 
 void
 xfmpc_interface_set_subtitle (XfmpcInterface *interface,
                               const gchar *subtitle)
 {
-  gtk_label_set_text (GTK_LABEL (interface->priv->subtitle), subtitle);
+  XfmpcInterfacePrivate *priv = XFMPC_INTERFACE_GET_PRIVATE (interface);
+
+  gtk_label_set_text (GTK_LABEL (priv->subtitle), subtitle);
 }
 
 void
 xfmpc_interface_pp_clicked (XfmpcInterface *interface)
 {
-  XfmpcMpdclient *mpdclient = interface->mpdclient;
-  if (G_UNLIKELY (!xfmpc_mpdclient_pp (mpdclient)))
+  if (G_UNLIKELY (!xfmpc_mpdclient_pp (interface->mpdclient)))
     return;
-  xfmpc_interface_set_pp (interface, xfmpc_mpdclient_is_playing (mpdclient));
+  xfmpc_interface_set_pp (interface, xfmpc_mpdclient_is_playing (interface->mpdclient));
 }
 
 void
 xfmpc_interface_set_pp (XfmpcInterface *interface,
                         gboolean play)
 {
-  GtkWidget *image = gtk_bin_get_child (GTK_BIN (interface->priv->button_pp));
+  XfmpcInterfacePrivate *priv = XFMPC_INTERFACE_GET_PRIVATE (interface);
 
+  GtkWidget *image = gtk_bin_get_child (GTK_BIN (priv->button_pp));
+
   if (play == TRUE)
     gtk_image_set_from_stock (GTK_IMAGE (image), GTK_STOCK_MEDIA_PAUSE, GTK_ICON_SIZE_BUTTON);
   else
@@ -335,18 +346,19 @@
 xfmpc_interface_progress_box_press_event (XfmpcInterface *interface,
                                           GdkEventButton *event)
 {
+  XfmpcInterfacePrivate *priv = XFMPC_INTERFACE_GET_PRIVATE (interface);
+
   if (G_UNLIKELY (event->type != GDK_BUTTON_PRESS || event->button != 1))
     return FALSE;
 
-  XfmpcMpdclient *mpdclient = interface->mpdclient;
-  gint time_total = xfmpc_mpdclient_get_total_time (mpdclient);
+  gint time_total = xfmpc_mpdclient_get_total_time (interface->mpdclient);
   if (G_UNLIKELY (time_total < 0))
     return FALSE;
 
-  gdouble time = event->x / interface->priv->progress_bar->allocation.width;
+  gdouble time = event->x / priv->progress_bar->allocation.width;
   time *= time_total;
 
-  xfmpc_mpdclient_set_song_time (mpdclient, (guint)time);
+  xfmpc_mpdclient_set_song_time (interface->mpdclient, (guint)time);
 
   return TRUE;
 }
@@ -355,15 +367,16 @@
 xfmpc_interface_volume_changed (XfmpcInterface *interface,
                                 gdouble value)
 {
-  guint8 volume = value * 100;
-  xfmpc_mpdclient_set_volume (interface->mpdclient, volume);
+  xfmpc_mpdclient_set_volume (interface->mpdclient, (guint8)(value * 100));
 }
 
 void
 xfmpc_interface_set_volume (XfmpcInterface *interface,
                             guint8 volume)
 {
-  gtk_scale_button_set_value (GTK_SCALE_BUTTON (interface->priv->button_volume), (gdouble)volume / 100);
+  XfmpcInterfacePrivate *priv = XFMPC_INTERFACE_GET_PRIVATE (interface);
+
+  gtk_scale_button_set_value (GTK_SCALE_BUTTON (priv->button_volume), (gdouble)volume / 100);
 }
 
 void
@@ -371,6 +384,8 @@
                           gint time,
                           gint time_total)
 {
+  XfmpcInterfacePrivate *priv = XFMPC_INTERFACE_GET_PRIVATE (interface);
+
   gint                  min, sec, min_total, sec_total;
   gchar                *text;
   gdouble               fraction = 1.0;
@@ -382,24 +397,23 @@
   sec_total = time_total % 60;
 
   text = g_strdup_printf ("%d:%02d / %d:%02d", min, sec, min_total, sec_total);
-  gtk_progress_bar_set_text (GTK_PROGRESS_BAR (interface->priv->progress_bar), text);
+  gtk_progress_bar_set_text (GTK_PROGRESS_BAR (priv->progress_bar), text);
   g_free (text);
 
   if (G_LIKELY (time_total > 0))
     fraction = (gfloat)time / (gfloat)time_total;
-  gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (interface->priv->progress_bar), fraction);
+  gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (priv->progress_bar), fraction);
 }
 
 static gboolean
 xfmpc_interface_refresh (XfmpcInterface *interface)
 {
-  XfmpcMpdclient       *mpdclient = interface->mpdclient;
   gchar                *text = NULL;
 
-  if (G_UNLIKELY (xfmpc_mpdclient_connect (mpdclient) == FALSE))
+  if (G_UNLIKELY (xfmpc_mpdclient_connect (interface->mpdclient) == FALSE))
     {
       g_warning ("Failed to connect to MPD");
-      xfmpc_mpdclient_disconnect (mpdclient);
+      xfmpc_mpdclient_disconnect (interface->mpdclient);
       xfmpc_interface_set_pp (interface, FALSE);
       xfmpc_interface_set_time (interface, 0, 0);
       xfmpc_interface_set_volume (interface, 0);
@@ -411,18 +425,18 @@
       return FALSE;
     }
 
-  xfmpc_mpdclient_update_status (mpdclient);
+  xfmpc_mpdclient_update_status (interface->mpdclient);
 
-  if (G_UNLIKELY (xfmpc_mpdclient_status (mpdclient, VOLUME_CHANGED)))
+  if (G_UNLIKELY (xfmpc_mpdclient_status (interface->mpdclient, VOLUME_CHANGED)))
     {
       /* volume */
-      xfmpc_interface_set_volume (interface, xfmpc_mpdclient_get_volume (mpdclient));
+      xfmpc_interface_set_volume (interface, xfmpc_mpdclient_get_volume (interface->mpdclient));
     }
 
-  if (G_UNLIKELY (xfmpc_mpdclient_is_stopped (mpdclient)))
+  if (G_UNLIKELY (xfmpc_mpdclient_is_stopped (interface->mpdclient)))
     {
       /* stopped */
-      if (xfmpc_mpdclient_status (mpdclient, STOP_CHANGED))
+      if (xfmpc_mpdclient_status (interface->mpdclient, STOP_CHANGED))
         {
           xfmpc_interface_set_pp (interface, FALSE);
           xfmpc_interface_set_time (interface, 0, 0);
@@ -433,30 +447,30 @@
       return TRUE;
     }
 
-  if (G_LIKELY (xfmpc_mpdclient_status (mpdclient, TIME_CHANGED)))
+  if (G_LIKELY (xfmpc_mpdclient_status (interface->mpdclient, TIME_CHANGED)))
     {
       /* song time */
       xfmpc_interface_set_time (interface,
-                                xfmpc_mpdclient_get_time (mpdclient),
-                                xfmpc_mpdclient_get_total_time (mpdclient));
+                                xfmpc_mpdclient_get_time (interface->mpdclient),
+                                xfmpc_mpdclient_get_total_time (interface->mpdclient));
     }
 
-  if (G_UNLIKELY (xfmpc_mpdclient_status (mpdclient, PP_CHANGED)))
+  if (G_UNLIKELY (xfmpc_mpdclient_status (interface->mpdclient, PP_CHANGED)))
     {
       /* play/pause */
-      xfmpc_interface_set_pp (interface, xfmpc_mpdclient_is_playing (mpdclient));
+      xfmpc_interface_set_pp (interface, xfmpc_mpdclient_is_playing (interface->mpdclient));
     }
 
-  if (G_UNLIKELY (xfmpc_mpdclient_status (mpdclient, SONG_CHANGED)))
+  if (G_UNLIKELY (xfmpc_mpdclient_status (interface->mpdclient, SONG_CHANGED)))
     {
       /* title */
-      xfmpc_interface_set_title (interface, xfmpc_mpdclient_get_title (mpdclient));
+      xfmpc_interface_set_title (interface, xfmpc_mpdclient_get_title (interface->mpdclient));
 
       /* subtitle "by \"artist\" from \"album\" (year)" */
       text = g_strdup_printf (_("by \"%s\" from \"%s\" (%s)"),
-                              xfmpc_mpdclient_get_artist (mpdclient),
-                              xfmpc_mpdclient_get_album (mpdclient),
-                              xfmpc_mpdclient_get_date (mpdclient));
+                              xfmpc_mpdclient_get_artist (interface->mpdclient),
+                              xfmpc_mpdclient_get_album (interface->mpdclient),
+                              xfmpc_mpdclient_get_date (interface->mpdclient));
       /* text = xfmpc_interface_get_subtitle (interface); to avoid "n/a" values */
       xfmpc_interface_set_subtitle (interface, text);
       g_free (text);
@@ -549,6 +563,8 @@
 xfmpc_interface_action_volume (GtkAction *action,
                                XfmpcInterface *interface)
 {
+  XfmpcInterfacePrivate *priv = XFMPC_INTERFACE_GET_PRIVATE (interface);
+
   g_signal_emit_by_name (interface->priv->button_volume, "popup", G_TYPE_NONE);
 }
 

Modified: xfmpc/trunk/src/interface.h
===================================================================
--- xfmpc/trunk/src/interface.h	2008-02-08 11:34:49 UTC (rev 3929)
+++ xfmpc/trunk/src/interface.h	2008-02-08 11:34:57 UTC (rev 3930)
@@ -33,7 +33,7 @@
 
 typedef struct _XfmpcInterfaceClass     XfmpcInterfaceClass;
 typedef struct _XfmpcInterface          XfmpcInterface;
-typedef struct _XfmpcInterfacePriv      XfmpcInterfacePriv;
+typedef struct _XfmpcInterfacePrivate   XfmpcInterfacePrivate;
 
 GType                   xfmpc_interface_get_type                () G_GNUC_CONST;
 

Modified: xfmpc/trunk/src/mpdclient.c
===================================================================
--- xfmpc/trunk/src/mpdclient.c	2008-02-08 11:34:49 UTC (rev 3929)
+++ xfmpc/trunk/src/mpdclient.c	2008-02-08 11:34:57 UTC (rev 3930)
@@ -28,8 +28,11 @@
 #define MPD_HOST "localhost"
 #define MPD_PORT 6600
 
+#define XFMPC_MPDCLIENT_GET_PRIVATE(o) \
+    (G_TYPE_INSTANCE_GET_PRIVATE ((o), XFMPC_TYPE_MPDCLIENT, XfmpcMpdclientPrivate))
 
 
+
 static void             xfmpc_mpdclient_class_init              (XfmpcMpdclientClass *klass);
 static void             xfmpc_mpdclient_init                    (XfmpcMpdclient *mpdclient);
 static void             xfmpc_mpdclient_finalize                (GObject *object);
@@ -44,23 +47,23 @@
 
 struct _XfmpcMpdclientClass
 {
-  GObjectClass          parent_class;
+  GObjectClass              parent_class;
 };
 
 struct _XfmpcMpdclient
 {
-  GObject               parent;
-  XfmpcMpdclientPriv   *priv;
+  GObject                   parent;
+  XfmpcMpdclientPrivate    *priv;
 };
 
-struct _XfmpcMpdclientPriv
+struct _XfmpcMpdclientPrivate
 {
-  MpdObj               *mi;
-  gchar                *host;
-  guint                 port;
-  gchar                *passwd;
+  MpdObj                   *mi;
+  gchar                    *host;
+  guint                     port;
+  gchar                    *passwd;
 
-  StatusField           status;
+  StatusField               status;
 };
 
 
@@ -102,6 +105,8 @@
 {
   GObjectClass *gobject_class;
 
+  g_type_class_add_private (klass, sizeof (XfmpcMpdclientPrivate));
+
   parent_class = g_type_class_peek_parent (klass);
 
   gobject_class = G_OBJECT_CLASS (klass);
@@ -111,17 +116,20 @@
 static void
 xfmpc_mpdclient_init (XfmpcMpdclient *mpdclient)
 {
-  mpdclient->priv = g_slice_new0 (XfmpcMpdclientPriv);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
   xfmpc_mpdclient_initenv (mpdclient);
-  mpdclient->priv->mi = mpd_new (mpdclient->priv->host, mpdclient->priv->port, mpdclient->priv->passwd);
-  mpd_signal_connect_status_changed (mpdclient->priv->mi, (StatusChangedCallback)cb_xfmpc_mpdclient_status_changed, mpdclient);
+  priv->mi = mpd_new (priv->host, priv->port, priv->passwd);
+  mpd_signal_connect_status_changed (priv->mi, (StatusChangedCallback)cb_xfmpc_mpdclient_status_changed, mpdclient);
 }
 
 static void
 xfmpc_mpdclient_finalize (GObject *object)
 {
   XfmpcMpdclient *mpdclient = XFMPC_MPDCLIENT (object);
-  mpd_free (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  mpd_free (priv->mi);
   (*G_OBJECT_CLASS (parent_class)->finalize) (object);
 }
 
@@ -146,24 +154,26 @@
 static void
 xfmpc_mpdclient_initenv (XfmpcMpdclient *mpdclient)
 {
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
   /* Hostname */
-  mpdclient->priv->host = (g_getenv ("MPD_HOST") != NULL) ?
+  priv->host = (g_getenv ("MPD_HOST") != NULL) ?
       g_strdup (g_getenv ("MPD_HOST")) :
       g_strdup (MPD_HOST);
 
   /* Port */
-  mpdclient->priv->port = (g_getenv ("MPD_PORT") != NULL) ?
+  priv->port = (g_getenv ("MPD_PORT") != NULL) ?
       (gint) g_ascii_strtoll (g_getenv ("MPD_PORT"), NULL, 0) :
       MPD_PORT;
 
   /* Check for password */
-  mpdclient->priv->passwd = NULL;
-  gchar **split = g_strsplit (mpdclient->priv->host, "@", 2);
+  priv->passwd = NULL;
+  gchar **split = g_strsplit (priv->host, "@", 2);
   if (g_strv_length (split) == 2)
     {
-      g_free (mpdclient->priv->host);
-      mpdclient->priv->host = g_strdup (split[0]);
-      mpdclient->priv->passwd = g_strdup (split[1]);
+      g_free (priv->host);
+      priv->host = g_strdup (split[0]);
+      priv->passwd = g_strdup (split[1]);
     }
   g_strfreev (split);
 }
@@ -171,13 +181,15 @@
 gboolean
 xfmpc_mpdclient_connect (XfmpcMpdclient *mpdclient)
 {
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
   if (xfmpc_mpdclient_is_connected (mpdclient))
     return TRUE;
 
-  if (mpd_connect (mpdclient->priv->mi) != MPD_OK)
+  if (mpd_connect (priv->mi) != MPD_OK)
     return FALSE;
 
-  mpd_send_password (mpdclient->priv->mi);
+  mpd_send_password (priv->mi);
 
   return TRUE;
 }
@@ -185,20 +197,26 @@
 void
 xfmpc_mpdclient_disconnect (XfmpcMpdclient *mpdclient)
 {
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
   if (xfmpc_mpdclient_is_connected (mpdclient))
-    mpd_disconnect (mpdclient->priv->mi);
+    mpd_disconnect (priv->mi);
 }
 
 gboolean
 xfmpc_mpdclient_is_connected (XfmpcMpdclient *mpdclient)
 {
-  return mpd_check_connected (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  return mpd_check_connected (priv->mi);
 }
 
 gboolean
 xfmpc_mpdclient_previous (XfmpcMpdclient *mpdclient)
 {
-  if (mpd_player_prev (mpdclient->priv->mi) != MPD_OK)
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  if (mpd_player_prev (priv->mi) != MPD_OK)
     return FALSE;
   else
     return TRUE;
@@ -216,7 +234,9 @@
 gboolean
 xfmpc_mpdclient_play (XfmpcMpdclient *mpdclient)
 {
-  if (mpd_player_play (mpdclient->priv->mi) != MPD_OK)
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  if (mpd_player_play (priv->mi) != MPD_OK)
     return FALSE;
   else
     return TRUE;
@@ -225,7 +245,9 @@
 gboolean
 xfmpc_mpdclient_pause (XfmpcMpdclient *mpdclient)
 {
-  if (mpd_player_pause (mpdclient->priv->mi) != MPD_OK)
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  if (mpd_player_pause (priv->mi) != MPD_OK)
     return FALSE;
   else
     return TRUE;
@@ -234,7 +256,9 @@
 gboolean
 xfmpc_mpdclient_stop (XfmpcMpdclient *mpdclient)
 {
-  if (mpd_player_stop (mpdclient->priv->mi) != MPD_OK)
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  if (mpd_player_stop (priv->mi) != MPD_OK)
     return FALSE;
   else
     return TRUE;
@@ -243,7 +267,9 @@
 gboolean
 xfmpc_mpdclient_next (XfmpcMpdclient *mpdclient)
 {
-  if (mpd_player_next (mpdclient->priv->mi) != MPD_OK)
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  if (mpd_player_next (priv->mi) != MPD_OK)
     return FALSE;
   else
     return TRUE;
@@ -253,7 +279,9 @@
 xfmpc_mpdclient_set_volume (XfmpcMpdclient *mpdclient,
                             guint8 volume)
 {
-  if (mpd_status_set_volume (mpdclient->priv->mi, volume) < 0)
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  if (mpd_status_set_volume (priv->mi, volume) < 0)
     return FALSE;
   else
     return TRUE;
@@ -263,7 +291,9 @@
 xfmpc_mpdclient_set_song_time (XfmpcMpdclient *mpdclient,
                                guint time)
 {
-  if (mpd_player_seek (mpdclient->priv->mi, time) != MPD_OK)
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  if (mpd_player_seek (priv->mi, time) != MPD_OK)
     return FALSE;
   else
     return TRUE;
@@ -272,7 +302,9 @@
 const gchar *
 xfmpc_mpdclient_get_artist (XfmpcMpdclient *mpdclient)
 {
-  mpd_Song *song = mpd_playlist_get_current_song (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  mpd_Song *song = mpd_playlist_get_current_song (priv->mi);
   if (G_UNLIKELY (NULL == song))
     return NULL;
 
@@ -285,7 +317,9 @@
 const gchar *
 xfmpc_mpdclient_get_title (XfmpcMpdclient *mpdclient)
 {
-  mpd_Song *song = mpd_playlist_get_current_song (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  mpd_Song *song = mpd_playlist_get_current_song (priv->mi);
   if (G_UNLIKELY (NULL == song))
     return NULL;
 
@@ -298,7 +332,9 @@
 const gchar *
 xfmpc_mpdclient_get_album (XfmpcMpdclient *mpdclient)
 {
-  mpd_Song *song = mpd_playlist_get_current_song (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  mpd_Song *song = mpd_playlist_get_current_song (priv->mi);
   if (G_UNLIKELY (NULL == song))
     return NULL;
 
@@ -311,7 +347,9 @@
 const gchar *
 xfmpc_mpdclient_get_date (XfmpcMpdclient *mpdclient)
 {
-  mpd_Song *song = mpd_playlist_get_current_song (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  mpd_Song *song = mpd_playlist_get_current_song (priv->mi);
   if (G_UNLIKELY (NULL == song))
     return NULL;
 
@@ -324,47 +362,61 @@
 gint
 xfmpc_mpdclient_get_time (XfmpcMpdclient *mpdclient)
 {
-  return mpd_status_get_elapsed_song_time (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  return mpd_status_get_elapsed_song_time (priv->mi);
 }
 
 gint
 xfmpc_mpdclient_get_total_time (XfmpcMpdclient *mpdclient)
 {
-  return mpd_status_get_total_song_time (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  return mpd_status_get_total_song_time (priv->mi);
 }
 
 guint8
 xfmpc_mpdclient_get_volume (XfmpcMpdclient *mpdclient)
 {
-  gint volume = mpd_status_get_volume (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  gint volume = mpd_status_get_volume (priv->mi);
   return (volume < 0) ? 100 : volume;
 }
 
 gboolean
 xfmpc_mpdclient_is_playing (XfmpcMpdclient *mpdclient)
 {
-  return mpd_player_get_state (mpdclient->priv->mi) == MPD_PLAYER_PLAY;
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  return mpd_player_get_state (priv->mi) == MPD_PLAYER_PLAY;
 }
 
 gboolean
 xfmpc_mpdclient_is_stopped (XfmpcMpdclient *mpdclient)
 {
-  return mpd_player_get_state (mpdclient->priv->mi) == MPD_PLAYER_STOP;
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  return mpd_player_get_state (priv->mi) == MPD_PLAYER_STOP;
 }
 
 void
 xfmpc_mpdclient_update_status (XfmpcMpdclient *mpdclient)
 {
-  mpd_status_update (mpdclient->priv->mi);
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  mpd_status_update (priv->mi);
 }
 
 gboolean
 xfmpc_mpdclient_status (XfmpcMpdclient *mpdclient,
                         gint bits)
 {
-  if (mpdclient->priv->status & bits)
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
+
+  if (priv->status & bits)
     {
-      mpdclient->priv->status &= ~bits;
+      priv->status &= ~bits;
       return TRUE;
     }
 
@@ -378,22 +430,22 @@
 {
   XfmpcMpdclient *mpdclient = user_data;
   g_return_if_fail (G_LIKELY (NULL != user_data));
+  XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT_GET_PRIVATE (mpdclient);
 
   if (what & MPD_CST_STATE)
     {
       switch (mpd_player_get_state (mi))
         {
         case MPD_PLAYER_STOP:
-          mpdclient->priv->status |= STOP_CHANGED;
-          mpdclient->priv->status |= SONG_CHANGED; /* as to say that the next time
-                                                      the song plays again, it needs
-                                                      to update its title in the
-                                                      interface */
+          priv->status |= STOP_CHANGED;
+          priv->status |= SONG_CHANGED; /* as to say that the next time the
+                                           song plays again, it needs to update
+                                           its title in the interface */
           break;
 
         case MPD_PLAYER_PLAY:
         case MPD_PLAYER_PAUSE:
-          mpdclient->priv->status |= PP_CHANGED;
+          priv->status |= PP_CHANGED;
           break;
 
         default:
@@ -402,12 +454,12 @@
     }
 
   if (what & MPD_CST_SONGID)
-    mpdclient->priv->status |= SONG_CHANGED;
+    priv->status |= SONG_CHANGED;
 
   if (what & MPD_CST_VOLUME)
-    mpdclient->priv->status |= VOLUME_CHANGED;
+    priv->status |= VOLUME_CHANGED;
 
   if (what & (MPD_CST_ELAPSED_TIME|MPD_CST_TOTAL_TIME))
-    mpdclient->priv->status |= TIME_CHANGED;
+    priv->status |= TIME_CHANGED;
 }
 

Modified: xfmpc/trunk/src/mpdclient.h
===================================================================
--- xfmpc/trunk/src/mpdclient.h	2008-02-08 11:34:49 UTC (rev 3929)
+++ xfmpc/trunk/src/mpdclient.h	2008-02-08 11:34:57 UTC (rev 3930)
@@ -42,7 +42,7 @@
 
 typedef struct _XfmpcMpdclientClass         XfmpcMpdclientClass;
 typedef struct _XfmpcMpdclient              XfmpcMpdclient;
-typedef struct _XfmpcMpdclientPriv          XfmpcMpdclientPriv;
+typedef struct _XfmpcMpdclientPrivate       XfmpcMpdclientPrivate;
 
 GType                   xfmpc_mpdclient_get_type                () G_GNUC_CONST;
 




More information about the Goodies-commits mailing list