totem r5913 - in trunk: . src/plugins/lirc
- From: hadess svn gnome org
- To: svn-commits-list gnome org
- Subject: totem r5913 - in trunk: . src/plugins/lirc
- Date: Tue, 13 Jan 2009 11:48:38 +0000 (UTC)
Author: hadess
Date: Tue Jan 13 11:48:38 2009
New Revision: 5913
URL: http://svn.gnome.org/viewvc/totem?rev=5913&view=rev
Log:
2009-01-13 Bastien Nocera <hadess hadess net>
* src/plugins/lirc/totem-lirc.c (totem_lirc_to_setting),
(totem_lirc_read_code):
* src/plugins/lirc/totem_lirc_default: Patch from
Vidar Braut Haarr <vhaarr+bgo gmail com> to support
repeat and shuffle through LIRC (Closes: #567258)
Modified:
trunk/ChangeLog
trunk/src/plugins/lirc/totem-lirc.c
trunk/src/plugins/lirc/totem_lirc_default
Modified: trunk/src/plugins/lirc/totem-lirc.c
==============================================================================
--- trunk/src/plugins/lirc/totem-lirc.c (original)
+++ trunk/src/plugins/lirc/totem-lirc.c Tue Jan 13 11:48:38 2009
@@ -92,6 +92,10 @@
#define TOTEM_IR_COMMAND_MUTE "mute"
#define TOTEM_IR_COMMAND_TOGGLE_ASPECT "toggle_aspect"
+#define TOTEM_IR_SETTING "setting_"
+#define TOTEM_IR_SETTING_TOGGLE_REPEAT "setting_repeat"
+#define TOTEM_IR_SETTING_TOGGLE_SHUFFLE "setting_shuffle"
+
G_MODULE_EXPORT GType register_totem_plugin (GTypeModule *module);
GType totem_lirc_plugin_get_type (void) G_GNUC_CONST;
@@ -138,6 +142,17 @@
return g_strdup (s + 1);
}
+static TotemRemoteSetting
+totem_lirc_to_setting (const gchar *str, char **url)
+{
+ if (strcmp (str, TOTEM_IR_SETTING_TOGGLE_REPEAT) == 0)
+ return TOTEM_REMOTE_SETTING_REPEAT;
+ else if (strcmp (str, TOTEM_IR_SETTING_TOGGLE_SHUFFLE) == 0)
+ return TOTEM_REMOTE_SETTING_SHUFFLE;
+ else
+ return -1;
+}
+
static TotemRemoteCommand
totem_lirc_to_command (const gchar *str, char **url)
{
@@ -233,9 +248,20 @@
break;
}
- cmd = totem_lirc_to_command (str, &url);
+ if (g_str_has_prefix (str, TOTEM_IR_SETTING) != FALSE) {
+ TotemRemoteSetting setting;
- totem_action_remote (pi->totem, cmd, url);
+ setting = totem_lirc_to_setting (str, &url);
+ if (setting >= 0) {
+ gboolean value;
+
+ value = totem_action_remote_get_setting (pi->totem, setting);
+ totem_action_remote_set_setting (pi->totem, setting, !value);
+ }
+ } else {
+ cmd = totem_lirc_to_command (str, &url);
+ totem_action_remote (pi->totem, cmd, url);
+ }
g_free (url);
} while (TRUE);
Modified: trunk/src/plugins/lirc/totem_lirc_default
==============================================================================
--- trunk/src/plugins/lirc/totem_lirc_default (original)
+++ trunk/src/plugins/lirc/totem_lirc_default Tue Jan 13 11:48:38 2009
@@ -186,3 +186,18 @@
config = mute
end
+begin
+ prog = Totem
+ remote = *
+ button = KEY_SHUFFLE
+ repeat = 1
+ config = setting_shuffle
+end
+
+begin
+ prog = Totem
+ remote = *
+ button = KEY_MEDIA_REPEAT
+ repeat = 1
+ config = setting_repeat
+end
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]