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

Mike Massonnet mmassonnet at xfce.org
Sun Apr 20 21:40:03 CEST 2008


Author: mmassonnet
Date: 2008-04-20 19:40:03 +0000 (Sun, 20 Apr 2008)
New Revision: 4639

Modified:
   xfmpc/trunk/src/dbbrowser.c
   xfmpc/trunk/src/mpdclient.c
Log:
Reload XfmpcDbbrowser on database changes
* src/mpdclient.c:
  - New signal "database-changed"
* src/dbbrowser.c(xfmpc_dbbrowser_init):
  - Connect signal "database-changed"


Modified: xfmpc/trunk/src/dbbrowser.c
===================================================================
--- xfmpc/trunk/src/dbbrowser.c	2008-04-20 19:39:57 UTC (rev 4638)
+++ xfmpc/trunk/src/dbbrowser.c	2008-04-20 19:40:03 UTC (rev 4639)
@@ -193,10 +193,8 @@
   /* === Signals === */
   g_signal_connect_swapped (dbbrowser->mpdclient, "connected",
                             G_CALLBACK (xfmpc_dbbrowser_reload), dbbrowser);
-#if 0
   g_signal_connect_swapped (dbbrowser->mpdclient, "database-changed",
-                            G_CALLBACK (cb_database_changed), dbbrowser);
-#endif
+                            G_CALLBACK (xfmpc_dbbrowser_reload), dbbrowser);
   /* Tree view */
   g_signal_connect_swapped (priv->treeview, "row-activated",
                             G_CALLBACK (cb_row_activated), dbbrowser);

Modified: xfmpc/trunk/src/mpdclient.c
===================================================================
--- xfmpc/trunk/src/mpdclient.c	2008-04-20 19:39:57 UTC (rev 4638)
+++ xfmpc/trunk/src/mpdclient.c	2008-04-20 19:40:03 UTC (rev 4639)
@@ -41,6 +41,7 @@
   SIG_TIME_CHANGED,
   SIG_VOLUME_CHANGED,
   SIG_STOPPED,
+  SIG_DATABASE_CHANGED,
   SIG_PLAYLIST_CHANGED,
   SIG_REPEAT,
   SIG_RANDOM,
@@ -73,6 +74,7 @@
   void (*time_changed)      (XfmpcMpdclient *mpdclient, gint time, gint total_time, gpointer user_data);
   void (*volume_changed)    (XfmpcMpdclient *mpdclient, gint volume, gpointer user_data);
   void (*stopped)           (XfmpcMpdclient *mpdclient, gpointer user_data);
+  void (*database_changed)  (XfmpcMpdclient *mpdclient, gpointer user_data);
   void (*playlist_changed)  (XfmpcMpdclient *mpdclient, gpointer user_data);
   void (*repeat)            (XfmpcMpdclient *mpdclient, gboolean repeat, gpointer user_data);
   void (*random)            (XfmpcMpdclient *mpdclient, gboolean random, gpointer user_data);
@@ -190,6 +192,14 @@
                   g_cclosure_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
 
+  xfmpc_mpdclient_signals[SIG_DATABASE_CHANGED] =
+    g_signal_new ("database-changed", G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_FIRST|G_SIGNAL_ACTION,
+                  G_STRUCT_OFFSET (XfmpcMpdclientClass, database_changed),
+                  NULL, NULL,
+                  g_cclosure_marshal_VOID__VOID,
+                  G_TYPE_NONE, 0);
+
   xfmpc_mpdclient_signals[SIG_PLAYLIST_CHANGED] =
     g_signal_new ("playlist-changed", G_TYPE_FROM_CLASS (klass),
                   G_SIGNAL_RUN_FIRST|G_SIGNAL_ACTION,
@@ -594,6 +604,9 @@
   XfmpcMpdclient *mpdclient = XFMPC_MPDCLIENT (user_data);
   g_return_if_fail (G_LIKELY (NULL != user_data));
 
+  if (what & MPD_CST_DATABASE)
+    g_signal_emit_by_name (mpdclient, "database-changed");
+
   if (what & MPD_CST_PLAYLIST)
     g_signal_emit_by_name (mpdclient, "playlist-changed");
 




More information about the Goodies-commits mailing list