Author: hadess
Date: Mon Feb 4 18:17:09 2008
New Revision: 5067
URL: http://svn.gnome.org/viewvc/totem?rev=5067&view=rev
Log:
2008-02-04 Bastien Nocera <[EMAIL PROTECTED]>
* configure.in:
* src/plugins/media-player-keys/totem-media-player-keys.c:
(on_window_focus_in_event), (impl_activate), (impl_deactivate):
Use dbus-glib directly, instead of the C-glue, so that the
media keys plugin can work against both the old and the new
gnome-settings-daemon media-player keys API (Closes: #514037)
Modified:
trunk/ChangeLog
trunk/configure.in
trunk/src/plugins/media-player-keys/totem-media-player-keys.c
Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in (original)
+++ trunk/configure.in Mon Feb 4 18:17:09 2008
@@ -477,10 +477,10 @@
fi
;;
media-player-keys)
- PKG_CHECK_MODULES(MEDIA_PLAYER_KEYS,
gnome-settings-daemon >= 2.17.4 dbus-glib-1,
+ PKG_CHECK_MODULES(MEDIA_PLAYER_KEYS, dbus-glib-1,
[HAVE_MEDIA_PLAYER_KEYS=yes],
[HAVE_MEDIA_PLAYER_KEYS=no])
if test "${HAVE_MEDIA_PLAYER_KEYS}" != "yes" ; then
- plugin_error_or_ignore "you need
gnome-settings-daemon >= 2.17.4 and dbus-glib-1 installed for the
media-player-keys plugin"
+ plugin_error_or_ignore "you need dbus-glib-1
installed for the media-player-keys plugin"
add_plugin="0"
fi
;;
Modified: trunk/src/plugins/media-player-keys/totem-media-player-keys.c
==============================================================================
--- trunk/src/plugins/media-player-keys/totem-media-player-keys.c
(original)
+++ trunk/src/plugins/media-player-keys/totem-media-player-keys.c Mon Feb
4 18:17:09 2008
@@ -31,9 +31,9 @@
#include <glib-object.h>
#include <glib/gi18n-lib.h>
#include <gmodule.h>
+#include <dbus/dbus-glib.h>
#include <string.h>
-#include <gnome-settings-daemon/gnome-settings-client.h>
#include "totem-marshal.h"
#include "totem-plugin.h"
@@ -113,8 +113,10 @@
on_window_focus_in_event (GtkWidget *window, GdkEventFocus *event,
TotemMediaPlayerKeysPlugin *pi)
{
if (pi->media_player_keys_proxy != NULL) {
- org_gnome_SettingsDaemon_grab_media_player_keys
(pi->media_player_keys_proxy,
- "Totem", 0, NULL);
+ dbus_g_proxy_call (pi->media_player_keys_proxy,
+ "GrabMediaPlayerKeys", NULL,
+ G_TYPE_STRING, "Totem", G_TYPE_UINT, 0,
G_TYPE_INVALID,
+ G_TYPE_INVALID);
}
return FALSE;
@@ -143,9 +145,21 @@
return FALSE;
}
+ /* Try the gnome-settings-daemon version,
+ * then the gnome-control-center version of things */
pi->media_player_keys_proxy = dbus_g_proxy_new_for_name_owner
(connection,
- "org.gnome.SettingsDaemon", "/org/gnome/SettingsDaemon",
- "org.gnome.SettingsDaemon", &err);
+
"org.gnome.SettingsDaemon.MediaKeys",
+
"/org/gnome/SettingsDaemon/MediaKeys",
+
"org.gnome.SettingsDaemon.MediaKeys",
+ NULL);
+ if (pi->media_player_keys_proxy == NULL) {
+ pi->media_player_keys_proxy = dbus_g_proxy_new_for_name_owner
(connection,
+
"org.gnome.SettingsDaemon",
+
"/org/gnome/SettingsDaemon",
+
"org.gnome.SettingsDaemon",
+
&err);
+ }
+
dbus_g_connection_unref (connection);
if (err != NULL) {
gboolean daemon_not_running;
@@ -163,9 +177,10 @@
pi, 0);
}
-
- org_gnome_SettingsDaemon_grab_media_player_keys
(pi->media_player_keys_proxy,
- "Totem", 0, NULL);
+ dbus_g_proxy_call (pi->media_player_keys_proxy,
+ "GrabMediaPlayerKeys", NULL,
+ G_TYPE_STRING, "Totem", G_TYPE_UINT, 0,
G_TYPE_INVALID,
+ G_TYPE_INVALID);
dbus_g_object_register_marshaller (totem_marshal_VOID__STRING_STRING,
G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING,
G_TYPE_INVALID);
@@ -191,7 +206,9 @@
GtkWindow *window;
if (pi->media_player_keys_proxy != NULL) {
- org_gnome_SettingsDaemon_release_media_player_keys
(pi->media_player_keys_proxy, "Totem", NULL);
+ dbus_g_proxy_call (pi->media_player_keys_proxy,
+ "ReleaseMediaPlayerKeys", NULL,
+ G_TYPE_STRING, "Totem", G_TYPE_INVALID,
G_TYPE_INVALID);
g_object_unref (pi->media_player_keys_proxy);
pi->media_player_keys_proxy = NULL;
}
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list
Want to limit the commits to a few modules? Go to above URL, log in to edit
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development
mailing list. Email [EMAIL PROTECTED] if interested.