Mercurial > audlegacy-plugins
annotate src/evdev-plug/ed_ui.c @ 750:5d8556c9949c trunk
[svn] - handle condition where track_name is not there, but stream_name is.
author | nenolod |
---|---|
date | Wed, 28 Feb 2007 07:01:26 -0800 |
parents | d124034ebea3 |
children | 0cc6b35fbeb4 |
rev | line source |
---|---|
422
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1 /* |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
2 * |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
3 * Author: Giacomo Lozito <james@develia.org>, (C) 2005-2007 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
4 * |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
5 * This program is free software; you can redistribute it and/or modify it |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
6 * under the terms of the GNU General Public License as published by the |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
7 * Free Software Foundation; either version 2 of the License, or (at your |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
8 * option) any later version. |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
9 * |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
10 * This program is distributed in the hope that it will be useful, but |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
11 * WITHOUT ANY WARRANTY; without even the implied warranty of |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
13 * General Public License for more details. |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
14 * |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License along |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
16 * with this program; if not, write to the Free Software Foundation, Inc., |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
18 * |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
19 */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
20 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
21 #include "ed_ui.h" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
22 #include "ed_types.h" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
23 #include "ed_internals.h" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
24 #include "ed_actions.h" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
25 #include "ed_bindings_store.h" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
26 #include "ed_common.h" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
27 #include <stdlib.h> |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
28 #include <linux/input.h> |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
29 |
527
d124034ebea3
[svn] - glib/gi18n.h -> audacious/i18n.h for automatic dgettext support
nenolod
parents:
457
diff
changeset
|
30 #include <audacious/i18n.h> |
422
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
31 #include <gtk/gtk.h> |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
32 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
33 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
34 static void cfg_ui_bindings_show ( ed_device_t * , GtkTreeRowReference * ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
35 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
36 extern ed_action_t player_actions[]; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
37 extern gboolean plugin_is_active; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
38 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
39 static GtkWidget *cfg_win = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
40 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
41 enum |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
42 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
43 DEVLIST_COL_ISACTIVE = 0, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
44 DEVLIST_COL_NAME, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
45 DEVLIST_COL_FILENAME, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
46 DEVLIST_COL_PHYS, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
47 DEVLIST_COL_ISAVAILABLE, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
48 DEVLIST_COL_BINDINGS, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
49 DEVLIST_NUMCOLS |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
50 }; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
51 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
52 enum |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
53 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
54 DEVLIST_ISAVAILABLE_NOTDET = 0, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
55 DEVLIST_ISAVAILABLE_DET, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
56 DEVLIST_ISAVAILABLE_CUSTOM |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
57 }; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
58 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
59 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
60 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
61 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
62 cfg_device_lv_populate( GtkListStore * store ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
63 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
64 /* store is logically divided in three families of devices, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
65 depending on the ISAVAILABLE value; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
66 DEVLIST_ISAVAILABLE_NOTDET -> not detected devices: these are not-custom |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
67 devices that are present in configuration file but they do not seem |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
68 to be plugged at the moment, cause they're not in system_devices_list; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
69 DEVLIST_ISAVAILABLE_DET -> detected devices: these are not-custom devices that |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
70 are currently plugged, no matter whether they are in configuration or not; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
71 DEVLIST_ISAVAILABLE_CUSTOM -> custom devices: defined by user in configuration |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
72 file, these are not checked against system_devices_list; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
73 */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
74 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
75 GList *system_devices_list = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
76 GList *config_devices_list = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
77 GList *list_iter = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
78 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
79 system_devices_list = ed_device_get_list_from_system(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
80 config_devices_list = ed_device_get_list_from_config(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
81 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
82 /* first, for each not-custom device in config_devices_list, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
83 perform a search in system_devices_list */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
84 list_iter = config_devices_list; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
85 while ( list_iter != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
86 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
87 ed_device_info_t *info_from_cfg = list_iter->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
88 if ( info_from_cfg->is_custom == 0 ) /* only try to detect not-custom devices */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
89 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
90 /* note: if device is found, filename and phys in info_from_cfg could be updated by the |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
91 check; the found device will be marked as "found" in system_devices_list too */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
92 if ( ed_device_check( system_devices_list , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
93 info_from_cfg->name , &(info_from_cfg->filename) , &(info_from_cfg->phys) ) == ED_DEVCHECK_OK ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
94 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
95 info_from_cfg->reg = 1; /* mark our device from config as "found" */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
96 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
97 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
98 list_iter = g_list_next( list_iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
99 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
100 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
101 /* at this point, we have three logical groups: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
102 #1 - not-custom devices in config_devices_list, marked as "found" -> DEVLIST_ISAVAILABLE_DET |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
103 #2 - not-custom devices in config_devices_list, not-marked -> DEVLIST_ISAVAILABLE_NOTDET |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
104 #3 - custom devices in config_devices_list -> DEVLIST_ISAVAILABLE_CUSTOM |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
105 #1bis - plus, we pick not-marked devices from system_devices_list, which |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
106 are plugged devices that are not present in config_devices_list -> DEVLIST_ISAVAILABLE_DET |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
107 */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
108 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
109 /* let's start to fill the store with items from group #1 (DEVLIST_ISAVAILABLE_DET) */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
110 list_iter = config_devices_list; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
111 while ( list_iter != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
112 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
113 ed_device_info_t *info_from_cfg = list_iter->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
114 if (( info_from_cfg->reg == 1 ) && ( info_from_cfg->is_custom == 0 )) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
115 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
116 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
117 gtk_list_store_append( store , &iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
118 gtk_list_store_set( store , &iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
119 DEVLIST_COL_ISACTIVE , info_from_cfg->is_active , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
120 DEVLIST_COL_NAME , info_from_cfg->name , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
121 DEVLIST_COL_FILENAME , info_from_cfg->filename , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
122 DEVLIST_COL_PHYS , info_from_cfg->phys , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
123 DEVLIST_COL_ISAVAILABLE , DEVLIST_ISAVAILABLE_DET , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
124 DEVLIST_COL_BINDINGS , info_from_cfg->bindings , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
125 -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
126 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
127 list_iter = g_list_next( list_iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
128 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
129 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
130 /* add items from group #1bis (DEVLIST_ISAVAILABLE_DET) */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
131 list_iter = system_devices_list; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
132 while ( list_iter != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
133 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
134 ed_device_info_t *info_from_sys = list_iter->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
135 if ( info_from_sys->reg == 0 ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
136 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
137 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
138 gtk_list_store_append( store , &iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
139 gtk_list_store_set( store , &iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
140 DEVLIST_COL_ISACTIVE , info_from_sys->is_active , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
141 DEVLIST_COL_NAME , info_from_sys->name , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
142 DEVLIST_COL_FILENAME , info_from_sys->filename , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
143 DEVLIST_COL_PHYS , info_from_sys->phys , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
144 DEVLIST_COL_ISAVAILABLE , DEVLIST_ISAVAILABLE_DET , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
145 DEVLIST_COL_BINDINGS , info_from_sys->bindings , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
146 -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
147 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
148 list_iter = g_list_next( list_iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
149 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
150 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
151 /* add items from group #2 (DEVLIST_ISAVAILABLE_NOTDET) */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
152 list_iter = config_devices_list; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
153 while ( list_iter != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
154 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
155 ed_device_info_t *info_from_cfg = list_iter->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
156 if (( info_from_cfg->reg == 0 ) && ( info_from_cfg->is_custom == 0 )) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
157 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
158 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
159 gtk_list_store_append( store , &iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
160 gtk_list_store_set( store , &iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
161 DEVLIST_COL_ISACTIVE , info_from_cfg->is_active , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
162 DEVLIST_COL_NAME , info_from_cfg->name , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
163 DEVLIST_COL_FILENAME , info_from_cfg->filename , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
164 DEVLIST_COL_PHYS , info_from_cfg->phys , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
165 DEVLIST_COL_ISAVAILABLE , DEVLIST_ISAVAILABLE_NOTDET , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
166 DEVLIST_COL_BINDINGS , info_from_cfg->bindings , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
167 -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
168 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
169 list_iter = g_list_next( list_iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
170 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
171 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
172 /* add items from group #3 (DEVLIST_ISAVAILABLE_CUSTOM) */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
173 list_iter = config_devices_list; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
174 while ( list_iter != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
175 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
176 ed_device_info_t *info_from_cfg = list_iter->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
177 if ( info_from_cfg->is_custom == 1 ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
178 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
179 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
180 gtk_list_store_append( store , &iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
181 gtk_list_store_set( store , &iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
182 DEVLIST_COL_ISACTIVE , info_from_cfg->is_active , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
183 DEVLIST_COL_NAME , info_from_cfg->name , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
184 DEVLIST_COL_FILENAME , info_from_cfg->filename , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
185 DEVLIST_COL_PHYS , info_from_cfg->phys , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
186 DEVLIST_COL_ISAVAILABLE , DEVLIST_ISAVAILABLE_CUSTOM , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
187 DEVLIST_COL_BINDINGS , info_from_cfg->bindings , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
188 -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
189 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
190 list_iter = g_list_next( list_iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
191 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
192 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
193 /* delete lists; bindings objects are not deleted, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
194 they must be accessible from liststore for customization |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
195 and they'll be deleted when the config win is destroyed */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
196 ed_device_free_list( config_devices_list ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
197 ed_device_free_list( system_devices_list ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
198 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
199 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
200 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
201 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
202 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
203 cfg_device_lv_celldatafunc_isavailable( GtkTreeViewColumn * col , GtkCellRenderer * renderer , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
204 GtkTreeModel * model , GtkTreeIter * iter , gpointer data ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
205 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
206 guint is_available = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
207 gtk_tree_model_get( model , iter , DEVLIST_COL_ISAVAILABLE , &is_available , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
208 switch (is_available) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
209 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
210 case DEVLIST_ISAVAILABLE_DET: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
211 g_object_set( renderer , "text" , "Detected" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
212 "foreground" , "Green" , "foreground-set" , TRUE , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
213 "background" , "Black" , "background-set" , TRUE , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
214 break; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
215 case DEVLIST_ISAVAILABLE_CUSTOM: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
216 g_object_set( renderer , "text" , "Custom" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
217 "foreground" , "Yellow" , "foreground-set" , TRUE , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
218 "background" , "Black" , "background-set" , TRUE , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
219 break; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
220 case DEVLIST_ISAVAILABLE_NOTDET: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
221 default: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
222 g_object_set( renderer , "text" , "Not Detected" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
223 "foreground" , "Orange" , "foreground-set" , TRUE , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
224 "background" , "Black" , "background-set" , TRUE , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
225 break; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
226 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
227 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
228 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
229 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
230 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
231 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
232 cfg_device_lv_changetoggle ( GtkCellRendererToggle * toggle , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
233 gchar * path_str , gpointer cfg_device_lv ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
234 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
235 GtkTreeModel *model = gtk_tree_view_get_model( GTK_TREE_VIEW(cfg_device_lv) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
236 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
237 GtkTreePath *path = gtk_tree_path_new_from_string( path_str ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
238 gboolean toggled; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
239 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
240 gtk_tree_model_get_iter( model , &iter , path ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
241 gtk_tree_model_get( model , &iter , DEVLIST_COL_ISACTIVE , &toggled , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
242 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
243 toggled ^= 1; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
244 gtk_list_store_set( GTK_LIST_STORE(model), &iter , DEVLIST_COL_ISACTIVE , toggled , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
245 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
246 gtk_tree_path_free( path ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
247 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
248 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
249 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
250 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
251 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
252 cfg_config_cb_bindings_show ( gpointer cfg_device_lv ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
253 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
254 GtkTreeSelection *sel; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
255 GtkTreeModel *model; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
256 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
257 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
258 /* check if a row is selected */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
259 sel = gtk_tree_view_get_selection( GTK_TREE_VIEW(cfg_device_lv) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
260 if ( gtk_tree_selection_get_selected( sel , &model , &iter ) == TRUE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
261 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
262 /* check availability and active status */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
263 guint is_available = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
264 gboolean is_active = FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
265 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
266 gtk_tree_model_get( model , &iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
267 DEVLIST_COL_ISACTIVE , &is_active , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
268 DEVLIST_COL_ISAVAILABLE , &is_available , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
269 -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
270 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
271 if ( is_available == DEVLIST_ISAVAILABLE_NOTDET ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
272 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
273 /* do not open bindings window for a not-detected device */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
274 ed_ui_message_show( _("Information") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
275 _("Cannot open bindings window for a not-detected device.\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
276 "Ensure that the device has been correctly plugged in.") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
277 cfg_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
278 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
279 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
280 else |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
281 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
282 /* ok, create a ed_device_t item from selected row information */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
283 ed_device_t *dev; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
284 gchar *device_name = NULL, *device_file = NULL, *device_phys = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
285 gpointer bindings = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
286 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
287 gtk_tree_model_get( model , &iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
288 DEVLIST_COL_NAME , &device_name , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
289 DEVLIST_COL_FILENAME , &device_file , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
290 DEVLIST_COL_PHYS , &device_phys , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
291 DEVLIST_COL_BINDINGS , &bindings , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
292 -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
293 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
294 dev = ed_device_new( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
295 device_name , device_file , device_phys , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
296 ( is_available == DEVLIST_ISAVAILABLE_CUSTOM ? 1 : 0 ) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
297 g_free( device_name ); g_free( device_file ); g_free( device_phys ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
298 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
299 if ( dev != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
300 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
301 GtkTreePath *path; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
302 GtkTreeRowReference *rowref; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
303 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
304 dev->info->bindings = bindings; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
305 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
306 path = gtk_tree_model_get_path( model , &iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
307 rowref = gtk_tree_row_reference_new( model , path ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
308 gtk_tree_path_free( path ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
309 /* show bindings window for device "dev"; also pass to the bindings window |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
310 the GtkTreeRowReference (it keeps track of the model too) for selected row; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
311 if changes are committed in the bindings window, the row reference will be |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
312 needed to update the treemodel with the new bindings information */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
313 cfg_ui_bindings_show( dev , rowref ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
314 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
315 else |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
316 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
317 /* something went wrong */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
318 ed_ui_message_show( _("Error") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
319 _("Unable to open selected device.\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
320 "Please check read permissions on device file.") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
321 cfg_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
322 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
323 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
324 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
325 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
326 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
327 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
328 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
329 cfg_config_cb_addcustom_show ( gpointer cfg_device_lv ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
330 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
331 GtkWidget *addc_dlg; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
332 GtkWidget *addc_data_frame, *addc_data_vbox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
333 GtkWidget *addc_data_label; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
334 GtkWidget *addc_data_table; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
335 GtkWidget *addc_data_name_label, *addc_data_name_entry; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
336 GtkWidget *addc_data_file_label, *addc_data_file_entry; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
337 gint result; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
338 gboolean task_done = FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
339 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
340 addc_dlg = gtk_dialog_new_with_buttons( _("EvDev-Plug - Add custom device") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
341 GTK_WINDOW(cfg_win) , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
342 GTK_STOCK_CANCEL , GTK_RESPONSE_REJECT , GTK_STOCK_OK , GTK_RESPONSE_ACCEPT , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
343 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
344 addc_data_frame = gtk_frame_new( NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
345 gtk_container_add( GTK_CONTAINER(GTK_DIALOG(addc_dlg)->vbox) , addc_data_frame ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
346 addc_data_vbox = gtk_vbox_new( FALSE , 5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
347 gtk_container_set_border_width( GTK_CONTAINER(addc_data_vbox) , 5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
348 gtk_container_add( GTK_CONTAINER(addc_data_frame) , addc_data_vbox ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
349 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
350 addc_data_label = gtk_label_new( "" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
351 gtk_label_set_text( GTK_LABEL(addc_data_label) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
352 _("EvDev-Plug tries to automatically detect and update information about\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
353 "event devices available on the system.\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
354 "However, if auto-detect doesn't work for your system, or you have event\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
355 "devices in a non-standard location (currently they're only searched in\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
356 "/dev/input/ ), you may want to add a custom device, explicitly specifying\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
357 "name and device file.") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
358 gtk_box_pack_start( GTK_BOX(addc_data_vbox) , addc_data_label , FALSE , FALSE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
359 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
360 addc_data_name_label = gtk_label_new( _("Device name:") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
361 gtk_misc_set_alignment( GTK_MISC(addc_data_name_label) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
362 addc_data_name_entry = gtk_entry_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
363 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
364 addc_data_file_label = gtk_label_new( _("Device file:") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
365 gtk_misc_set_alignment( GTK_MISC(addc_data_file_label) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
366 addc_data_file_entry = gtk_entry_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
367 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
368 addc_data_table = gtk_table_new( 2 , 2 , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
369 gtk_table_set_col_spacings( GTK_TABLE(addc_data_table) , 2 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
370 gtk_table_set_row_spacings( GTK_TABLE(addc_data_table) , 2 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
371 gtk_table_attach( GTK_TABLE(addc_data_table) , addc_data_name_label , 0 , 1 , 0 , 1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
372 GTK_FILL , GTK_EXPAND | GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
373 gtk_table_attach( GTK_TABLE(addc_data_table) , addc_data_name_entry , 1 , 2 , 0 , 1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
374 GTK_EXPAND | GTK_FILL , GTK_EXPAND | GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
375 gtk_table_attach( GTK_TABLE(addc_data_table) , addc_data_file_label , 0 , 1 , 1 , 2 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
376 GTK_FILL , GTK_EXPAND | GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
377 gtk_table_attach( GTK_TABLE(addc_data_table) , addc_data_file_entry , 1 , 2 , 1 , 2 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
378 GTK_EXPAND | GTK_FILL , GTK_EXPAND | GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
379 gtk_box_pack_start( GTK_BOX(addc_data_vbox) , addc_data_table , TRUE , TRUE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
380 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
381 gtk_widget_show_all( addc_dlg ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
382 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
383 while ( task_done == FALSE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
384 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
385 result = gtk_dialog_run( GTK_DIALOG(addc_dlg) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
386 if ( result == GTK_RESPONSE_ACCEPT ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
387 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
388 const gchar *name = gtk_entry_get_text( GTK_ENTRY(addc_data_name_entry) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
389 const gchar *file = gtk_entry_get_text( GTK_ENTRY(addc_data_file_entry) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
390 if ( ( strcmp( name , "" ) != 0 ) && |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
391 ( strcmp( name , "___plugin___" ) != 0 ) && |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
392 ( strcmp( file , "" ) != 0 ) && |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
393 ( file[0] == '/' ) ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
394 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
395 GtkTreeModel *model = gtk_tree_view_get_model( GTK_TREE_VIEW(cfg_device_lv) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
396 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
397 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
398 gtk_list_store_append( GTK_LIST_STORE(model) , &iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
399 gtk_list_store_set( GTK_LIST_STORE(model) , &iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
400 DEVLIST_COL_ISACTIVE , FALSE , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
401 DEVLIST_COL_NAME , name , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
402 DEVLIST_COL_FILENAME , file , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
403 DEVLIST_COL_PHYS , "(custom)" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
404 DEVLIST_COL_ISAVAILABLE , DEVLIST_ISAVAILABLE_CUSTOM , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
405 DEVLIST_COL_BINDINGS , NULL , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
406 task_done = TRUE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
407 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
408 else |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
409 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
410 ed_ui_message_show( _("Information") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
411 _("Please specify both name and filename.\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
412 "Filename must be specified with absolute path.") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
413 addc_dlg ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
414 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
415 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
416 else |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
417 task_done = TRUE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
418 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
419 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
420 gtk_widget_destroy( addc_dlg ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
421 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
422 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
423 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
424 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
425 cfg_config_cb_remove ( gpointer cfg_device_lv ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
426 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
427 GtkTreeSelection *sel; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
428 GtkTreeModel *model; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
429 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
430 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
431 /* check if a row is selected */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
432 sel = gtk_tree_view_get_selection( GTK_TREE_VIEW(cfg_device_lv) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
433 if ( gtk_tree_selection_get_selected( sel , &model , &iter ) == TRUE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
434 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
435 guint is_available = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
436 gtk_tree_model_get( model , &iter , DEVLIST_COL_ISAVAILABLE , &is_available , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
437 switch ( is_available ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
438 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
439 case DEVLIST_ISAVAILABLE_NOTDET: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
440 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
441 /* if remove is called on a not-detected device, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
442 it allows to remove existing configuration for it */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
443 GtkWidget *yesno_dlg = gtk_message_dialog_new( GTK_WINDOW(cfg_win) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
444 GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT , GTK_MESSAGE_QUESTION , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
445 GTK_BUTTONS_YES_NO , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
446 _("Do you want to remove the existing configuration for selected device?\n") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
447 if ( gtk_dialog_run( GTK_DIALOG(yesno_dlg) ) == GTK_RESPONSE_YES ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
448 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
449 gpointer bindings = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
450 gtk_tree_model_get( model , &iter , DEVLIST_COL_BINDINGS , &bindings , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
451 if ( bindings != NULL ) ed_bindings_store_delete( bindings ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
452 gtk_list_store_remove( GTK_LIST_STORE(model) , &iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
453 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
454 gtk_widget_destroy( yesno_dlg ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
455 break; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
456 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
457 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
458 case DEVLIST_ISAVAILABLE_CUSTOM: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
459 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
460 /* if remove is called on a custom device, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
461 it allows to remove it along with its configuration */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
462 GtkWidget *yesno_dlg = gtk_message_dialog_new( GTK_WINDOW(cfg_win) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
463 GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT , GTK_MESSAGE_QUESTION , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
464 GTK_BUTTONS_YES_NO , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
465 _("Do you want to remove the selected custom device?\n") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
466 if ( gtk_dialog_run( GTK_DIALOG(yesno_dlg) ) == GTK_RESPONSE_YES ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
467 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
468 gpointer bindings = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
469 gtk_tree_model_get( model , &iter , DEVLIST_COL_BINDINGS , &bindings , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
470 if ( bindings != NULL ) ed_bindings_store_delete( bindings ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
471 gtk_list_store_remove( GTK_LIST_STORE(model) , &iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
472 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
473 gtk_widget_destroy( yesno_dlg ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
474 break; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
475 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
476 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
477 case DEVLIST_ISAVAILABLE_DET: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
478 default: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
479 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
480 /* do nothing for detected devices */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
481 break; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
482 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
483 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
484 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
485 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
486 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
487 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
488 static gboolean |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
489 cfg_config_cb_bindings_commit_foreach ( GtkTreeModel * model , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
490 GtkTreePath * path , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
491 GtkTreeIter * iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
492 gpointer config_device_list_p ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
493 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
494 gchar *device_name = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
495 gchar *device_file = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
496 gchar *device_phys = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
497 gboolean is_active = FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
498 guint is_available = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
499 gpointer bindings = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
500 ed_device_info_t *info; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
501 GList **config_device_list = config_device_list_p; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
502 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
503 gtk_tree_model_get( model , iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
504 DEVLIST_COL_ISACTIVE , &is_active , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
505 DEVLIST_COL_NAME , &device_name , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
506 DEVLIST_COL_FILENAME , &device_file , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
507 DEVLIST_COL_PHYS , &device_phys , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
508 DEVLIST_COL_ISAVAILABLE , &is_available , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
509 DEVLIST_COL_BINDINGS , &bindings , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
510 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
511 info = ed_device_info_new( device_name , device_file , device_phys , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
512 ( is_available == DEVLIST_ISAVAILABLE_CUSTOM ? 1 : 0 ) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
513 info->bindings = bindings; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
514 info->is_active = is_active; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
515 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
516 *config_device_list = g_list_append( *config_device_list , info ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
517 return FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
518 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
519 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
520 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
521 static gboolean |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
522 cfg_config_cb_bindings_delbindings_foreach ( GtkTreeModel * model , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
523 GtkTreePath * path , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
524 GtkTreeIter * iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
525 gpointer data ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
526 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
527 gpointer bindings = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
528 gtk_tree_model_get( model , iter , DEVLIST_COL_BINDINGS , &bindings , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
529 if ( bindings != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
530 ed_bindings_store_delete( bindings ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
531 return FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
532 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
533 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
534 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
535 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
536 cfg_config_cb_commit ( gpointer cfg_device_lv ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
537 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
538 GList *config_device_list = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
539 GList *list_iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
540 GtkTreeModel *model; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
541 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
542 model = gtk_tree_view_get_model( GTK_TREE_VIEW(cfg_device_lv) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
543 /* fill config_device_list with information from the treeview */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
544 gtk_tree_model_foreach( model , cfg_config_cb_bindings_commit_foreach , &config_device_list ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
545 /* ok, now we have a list of ed_device_info_t objects */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
546 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
547 /* commit changes in configuration file */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
548 ed_config_save_from_list( config_device_list ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
549 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
550 /* not needed anymore */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
551 ed_device_free_list( config_device_list ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
552 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
553 /* free bindings stored in the liststore */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
554 gtk_tree_model_foreach( model , cfg_config_cb_bindings_delbindings_foreach , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
555 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
556 if ( plugin_is_active == TRUE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
557 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
558 /* restart device listening according to the (possibly changed) config file */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
559 ed_device_start_listening_from_config(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
560 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
561 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
562 gtk_widget_destroy( cfg_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
563 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
564 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
565 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
566 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
567 cfg_config_cb_cancel ( gpointer cfg_device_lv ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
568 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
569 GtkTreeModel *model; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
570 model = gtk_tree_view_get_model( GTK_TREE_VIEW(cfg_device_lv) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
571 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
572 /* free bindings stored in the liststore */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
573 gtk_tree_model_foreach( model , cfg_config_cb_bindings_delbindings_foreach , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
574 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
575 if ( plugin_is_active == TRUE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
576 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
577 /* restart device listening according to the (unchanged) config file */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
578 ed_device_start_listening_from_config(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
579 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
580 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
581 gtk_widget_destroy( cfg_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
582 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
583 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
584 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
585 void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
586 ed_ui_config_show( void ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
587 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
588 GtkWidget *cfg_vbox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
589 GtkWidget *cfg_device_lv, *cfg_device_lv_frame, *cfg_device_lv_sw; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
590 GtkTreeViewColumn *cfg_device_lv_col_name, *cfg_device_lv_col_filename, *cfg_device_lv_col_phys; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
591 GtkTreeViewColumn *cfg_device_lv_col_isactive, *cfg_device_lv_col_isavailable; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
592 GtkCellRenderer *cfg_device_lv_rndr_text, *cfg_device_lv_rndr_toggle; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
593 GtkCellRenderer *cfg_device_lv_rndr_textphys, *cfg_device_lv_rndr_isavailable; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
594 GtkListStore *device_store; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
595 GtkWidget *cfg_bbar_hbbox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
596 GtkWidget *cfg_bbar_bt_bind, *cfg_bbar_bt_addc, *cfg_bbar_bt_remc; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
597 GtkWidget *cfg_bbar_bt_cancel, *cfg_bbar_bt_ok; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
598 GdkGeometry cfg_win_hints; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
599 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
600 if ( cfg_win != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
601 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
602 gtk_window_present( GTK_WINDOW(cfg_win) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
603 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
604 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
605 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
606 /* IMPORTANT: stop listening for all devices when config window is opened */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
607 ed_device_stop_listening_all( TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
608 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
609 cfg_win = gtk_window_new( GTK_WINDOW_TOPLEVEL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
610 gtk_window_set_type_hint( GTK_WINDOW(cfg_win), GDK_WINDOW_TYPE_HINT_DIALOG ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
611 gtk_window_set_position( GTK_WINDOW(cfg_win), GTK_WIN_POS_CENTER ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
612 gtk_window_set_title( GTK_WINDOW(cfg_win), _("EvDev-Plug - Configuration") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
613 gtk_container_set_border_width( GTK_CONTAINER(cfg_win), 10 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
614 g_signal_connect( G_OBJECT(cfg_win) , "destroy" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
615 G_CALLBACK(gtk_widget_destroyed) , &cfg_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
616 cfg_win_hints.min_width = -1; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
617 cfg_win_hints.min_height = 300; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
618 gtk_window_set_geometry_hints( GTK_WINDOW(cfg_win) , GTK_WIDGET(cfg_win) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
619 &cfg_win_hints , GDK_HINT_MIN_SIZE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
620 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
621 cfg_vbox = gtk_vbox_new( FALSE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
622 gtk_container_add( GTK_CONTAINER(cfg_win) , cfg_vbox ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
623 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
624 /* current liststore model |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
625 ---------------------------------------------- |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
626 G_TYPE_BOOLEAN -> device listening on/off |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
627 G_TYPE_STRING -> device name |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
628 G_TYPE_STRING -> device filename |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
629 G_TYPE_STRING -> device physical port |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
630 G_TYPE_UINT -> device is available |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
631 G_TYPE_POINTER -> device bindings |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
632 ---------------------------------------------- |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
633 */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
634 device_store = gtk_list_store_new( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
635 DEVLIST_NUMCOLS , G_TYPE_BOOLEAN , G_TYPE_STRING , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
636 G_TYPE_STRING , G_TYPE_STRING , G_TYPE_UINT , G_TYPE_POINTER ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
637 cfg_device_lv_populate( device_store ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
638 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
639 cfg_device_lv_frame = gtk_frame_new( NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
640 cfg_device_lv = gtk_tree_view_new_with_model( GTK_TREE_MODEL(device_store) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
641 g_object_unref( device_store ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
642 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
643 cfg_device_lv_rndr_text = gtk_cell_renderer_text_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
644 cfg_device_lv_rndr_toggle = gtk_cell_renderer_toggle_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
645 cfg_device_lv_rndr_isavailable = gtk_cell_renderer_text_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
646 cfg_device_lv_rndr_textphys = gtk_cell_renderer_text_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
647 g_object_set( G_OBJECT(cfg_device_lv_rndr_textphys) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
648 "ellipsize-set" , TRUE , "ellipsize" , PANGO_ELLIPSIZE_END , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
649 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
650 cfg_device_lv_col_isactive = gtk_tree_view_column_new_with_attributes( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
651 _("Active") , cfg_device_lv_rndr_toggle , "active" , DEVLIST_COL_ISACTIVE , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
652 gtk_tree_view_column_set_expand( GTK_TREE_VIEW_COLUMN(cfg_device_lv_col_isactive) , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
653 gtk_tree_view_append_column( GTK_TREE_VIEW(cfg_device_lv), cfg_device_lv_col_isactive ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
654 cfg_device_lv_col_isavailable = gtk_tree_view_column_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
655 gtk_tree_view_column_set_title( cfg_device_lv_col_isavailable , _("Status") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
656 gtk_tree_view_column_pack_start( cfg_device_lv_col_isavailable , cfg_device_lv_rndr_isavailable , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
657 gtk_tree_view_column_set_cell_data_func( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
658 cfg_device_lv_col_isavailable , cfg_device_lv_rndr_isavailable , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
659 (GtkTreeCellDataFunc)cfg_device_lv_celldatafunc_isavailable , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
660 NULL , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
661 gtk_tree_view_column_set_expand( GTK_TREE_VIEW_COLUMN(cfg_device_lv_col_isavailable) , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
662 gtk_tree_view_append_column( GTK_TREE_VIEW(cfg_device_lv), cfg_device_lv_col_isavailable ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
663 cfg_device_lv_col_name = gtk_tree_view_column_new_with_attributes( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
664 _("Device Name") , cfg_device_lv_rndr_text , "text" , DEVLIST_COL_NAME , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
665 gtk_tree_view_column_set_expand( GTK_TREE_VIEW_COLUMN(cfg_device_lv_col_name) , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
666 gtk_tree_view_append_column( GTK_TREE_VIEW(cfg_device_lv), cfg_device_lv_col_name ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
667 cfg_device_lv_col_filename = gtk_tree_view_column_new_with_attributes( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
668 _("Device File") , cfg_device_lv_rndr_text , "text" , DEVLIST_COL_FILENAME , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
669 gtk_tree_view_column_set_expand( GTK_TREE_VIEW_COLUMN(cfg_device_lv_col_filename) , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
670 gtk_tree_view_append_column( GTK_TREE_VIEW(cfg_device_lv), cfg_device_lv_col_filename ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
671 cfg_device_lv_col_phys = gtk_tree_view_column_new_with_attributes( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
672 _("Device Address") , cfg_device_lv_rndr_textphys , "text" , DEVLIST_COL_PHYS , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
673 gtk_tree_view_column_set_expand( GTK_TREE_VIEW_COLUMN(cfg_device_lv_col_phys) , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
674 gtk_tree_view_column_set_resizable( GTK_TREE_VIEW_COLUMN(cfg_device_lv_col_phys) , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
675 gtk_tree_view_append_column( GTK_TREE_VIEW(cfg_device_lv), cfg_device_lv_col_phys ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
676 cfg_device_lv_sw = gtk_scrolled_window_new( NULL , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
677 gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW(cfg_device_lv_sw) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
678 GTK_POLICY_NEVER , GTK_POLICY_ALWAYS ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
679 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
680 gtk_container_add( GTK_CONTAINER(cfg_device_lv_sw) , cfg_device_lv ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
681 gtk_container_add( GTK_CONTAINER(cfg_device_lv_frame) , cfg_device_lv_sw ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
682 gtk_box_pack_start( GTK_BOX(cfg_vbox) , cfg_device_lv_frame , TRUE , TRUE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
683 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
684 gtk_box_pack_start( GTK_BOX(cfg_vbox) , gtk_hseparator_new() , FALSE , FALSE , 4 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
685 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
686 /* button bar */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
687 cfg_bbar_hbbox = gtk_hbutton_box_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
688 gtk_button_box_set_layout( GTK_BUTTON_BOX(cfg_bbar_hbbox) , GTK_BUTTONBOX_START ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
689 cfg_bbar_bt_bind = gtk_button_new_with_mnemonic( _("_Bindings") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
690 gtk_button_set_image( GTK_BUTTON(cfg_bbar_bt_bind) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
691 gtk_image_new_from_stock( GTK_STOCK_PREFERENCES , GTK_ICON_SIZE_BUTTON ) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
692 cfg_bbar_bt_addc = gtk_button_new_from_stock( GTK_STOCK_ADD ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
693 cfg_bbar_bt_remc = gtk_button_new_from_stock( GTK_STOCK_REMOVE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
694 /*cfg_bbar_bt_refresh = gtk_button_new_from_stock( GTK_STOCK_REFRESH );*/ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
695 cfg_bbar_bt_cancel = gtk_button_new_from_stock( GTK_STOCK_CANCEL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
696 cfg_bbar_bt_ok = gtk_button_new_from_stock( GTK_STOCK_OK ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
697 gtk_container_add( GTK_CONTAINER(cfg_bbar_hbbox) , cfg_bbar_bt_bind ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
698 gtk_container_add( GTK_CONTAINER(cfg_bbar_hbbox) , cfg_bbar_bt_addc ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
699 gtk_container_add( GTK_CONTAINER(cfg_bbar_hbbox) , cfg_bbar_bt_remc ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
700 /*gtk_container_add( GTK_CONTAINER(cfg_bbar_hbbox) , cfg_bbar_bt_refresh );*/ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
701 gtk_container_add( GTK_CONTAINER(cfg_bbar_hbbox) , cfg_bbar_bt_cancel ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
702 gtk_container_add( GTK_CONTAINER(cfg_bbar_hbbox) , cfg_bbar_bt_ok ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
703 gtk_button_box_set_child_secondary( GTK_BUTTON_BOX(cfg_bbar_hbbox) , cfg_bbar_bt_cancel , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
704 gtk_button_box_set_child_secondary( GTK_BUTTON_BOX(cfg_bbar_hbbox) , cfg_bbar_bt_ok , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
705 gtk_box_pack_start( GTK_BOX(cfg_vbox) , cfg_bbar_hbbox , FALSE , FALSE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
706 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
707 g_signal_connect( cfg_device_lv_rndr_toggle , "toggled" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
708 G_CALLBACK(cfg_device_lv_changetoggle) , cfg_device_lv ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
709 g_signal_connect_swapped( G_OBJECT(cfg_bbar_bt_bind) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
710 G_CALLBACK(cfg_config_cb_bindings_show) , cfg_device_lv ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
711 g_signal_connect_swapped( G_OBJECT(cfg_bbar_bt_addc) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
712 G_CALLBACK(cfg_config_cb_addcustom_show) , cfg_device_lv ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
713 g_signal_connect_swapped( G_OBJECT(cfg_bbar_bt_remc) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
714 G_CALLBACK(cfg_config_cb_remove) , cfg_device_lv ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
715 g_signal_connect_swapped( G_OBJECT(cfg_bbar_bt_cancel) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
716 G_CALLBACK(cfg_config_cb_cancel) , cfg_device_lv ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
717 g_signal_connect_swapped( G_OBJECT(cfg_bbar_bt_ok) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
718 G_CALLBACK(cfg_config_cb_commit) , cfg_device_lv ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
719 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
720 gtk_widget_show_all( cfg_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
721 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
722 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
723 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
724 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
725 /* bindings window */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
726 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
727 static void cfg_bindbox_new_empty_row( GtkTable * , GtkWidget * , gboolean ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
728 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
729 enum |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
730 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
731 BINDLIST_COL_COMBO_ACTION = 0, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
732 BINDLIST_COL_BT_ASSIGN, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
733 BINDLIST_COL_LABEL_EVCODE, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
734 BINDLIST_COL_BT_DELETE, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
735 BINDLIST_NUMCOLS |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
736 }; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
737 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
738 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
739 static gboolean |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
740 cfg_bindbox_assign_binding_timeout_func ( gpointer bindings_win ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
741 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
742 GtkWidget *trigger_dlg = g_object_get_data( G_OBJECT(bindings_win) , "trigger-win" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
743 if ( trigger_dlg != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
744 gtk_dialog_response( GTK_DIALOG(trigger_dlg) , GTK_RESPONSE_CANCEL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
745 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
746 return FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
747 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
748 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
749 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
750 static gboolean |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
751 cfg_bindbox_assign_binding_input_func ( GIOChannel * iochan , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
752 GIOCondition cond , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
753 gpointer bindings_win ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
754 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
755 switch ( cond ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
756 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
757 case G_IO_IN: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
758 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
759 gsize rb = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
760 GError *gerr = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
761 struct input_event inputev; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
762 g_io_channel_read_chars( iochan , (gchar*)&inputev , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
763 sizeof(struct input_event) , &rb , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
764 if ( rb == sizeof(struct input_event) ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
765 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
766 GtkWidget *trigger_dlg = g_object_get_data( G_OBJECT(bindings_win) , "trigger-win" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
767 if ( trigger_dlg == NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
768 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
769 /* the trigger-dialog window is not open; ignore input */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
770 return TRUE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
771 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
772 else |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
773 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
774 /* the trigger-dialog window is open; record input and |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
775 store it in a container managed by the trigger-dialog itself */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
776 ed_inputevent_t *dinputev = g_malloc(sizeof(ed_inputevent_t*)); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
777 dinputev->type = inputev.type; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
778 dinputev->code = inputev.code; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
779 dinputev->value = inputev.value; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
780 g_object_set_data( G_OBJECT(trigger_dlg) , "trigger-data" , dinputev ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
781 gtk_dialog_response( GTK_DIALOG(trigger_dlg) , GTK_RESPONSE_OK ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
782 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
783 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
784 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
785 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
786 return TRUE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
787 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
788 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
789 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
790 static gboolean |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
791 cfg_bindbox_assign_binding_checkdups( GtkWidget * table , ed_inputevent_t * inputev ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
792 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
793 /* check if inputev is already assigned in table */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
794 GList *children = GTK_TABLE(table)->children; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
795 for ( children ; children != NULL ; children = g_list_next(children) ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
796 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
797 GtkTableChild *child = children->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
798 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
799 if ( child->top_attach + 1 == GTK_TABLE(table)->nrows ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
800 continue; /* skip last empty row */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
801 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
802 if ( child->left_attach == BINDLIST_COL_LABEL_EVCODE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
803 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
804 /* it's a label, pick its inputevent */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
805 ed_inputevent_t * iev = g_object_get_data( G_OBJECT(child->widget) , "inputevent" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
806 if ( ( iev != NULL ) && ( ed_inputevent_check_equality( inputev , iev ) == TRUE ) ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
807 return TRUE; /* a duplicate was found */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
808 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
809 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
810 return FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
811 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
812 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
813 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
814 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
815 cfg_bindbox_assign_binding ( GtkButton * assign_button , gpointer bindings_win ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
816 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
817 GtkWidget *trigger_dlg; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
818 GtkWidget *trigger_dlg_frame; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
819 GtkWidget *trigger_dlg_label; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
820 guint timeout_sid = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
821 gint res = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
822 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
823 /* create a not-decorated window to inform the user about what's going on */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
824 trigger_dlg = gtk_dialog_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
825 gtk_widget_set_name( trigger_dlg , "trigger_dlg" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
826 trigger_dlg_label = gtk_label_new( _("Press a key of your device to bind it;\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
827 "if no key is pressed in five seconds, this window\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
828 "will close without binding changes.") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
829 gtk_widget_hide( GTK_WIDGET(GTK_DIALOG(trigger_dlg)->action_area) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
830 gtk_misc_set_padding( GTK_MISC(trigger_dlg_label) , 10 , 10 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
831 trigger_dlg_frame = gtk_frame_new( NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
832 gtk_container_add( GTK_CONTAINER(trigger_dlg_frame) , trigger_dlg_label ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
833 gtk_container_add( GTK_CONTAINER(GTK_DIALOG(trigger_dlg)->vbox) , trigger_dlg_frame ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
834 gtk_window_set_position( GTK_WINDOW(trigger_dlg) , GTK_WIN_POS_CENTER ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
835 gtk_window_set_decorated( GTK_WINDOW(trigger_dlg) , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
836 gtk_window_set_transient_for( GTK_WINDOW(trigger_dlg) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
837 GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(assign_button))) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
838 gtk_dialog_set_has_separator( GTK_DIALOG(trigger_dlg) , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
839 gtk_widget_show_all( trigger_dlg ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
840 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
841 /* close the trigger-window if no input is received in 5 seconds */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
842 timeout_sid = g_timeout_add( 5000 , cfg_bindbox_assign_binding_timeout_func , bindings_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
843 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
844 g_object_set_data( G_OBJECT(bindings_win) , "trigger-win" , trigger_dlg ); /* enable trigger-listening */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
845 res = gtk_dialog_run( GTK_DIALOG(trigger_dlg) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
846 g_object_set_data( G_OBJECT(bindings_win) , "trigger-win" , NULL ); /* stop trigger-listening */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
847 switch ( res ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
848 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
849 case GTK_RESPONSE_OK: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
850 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
851 ed_inputevent_t *dinputev = g_object_get_data( G_OBJECT(trigger_dlg) , "trigger-data" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
852 GtkWidget *label = g_object_get_data( G_OBJECT(assign_button) , "label" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
853 GtkWidget *table = g_object_get_data( G_OBJECT(bindings_win) , "table" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
854 gchar *input_str; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
855 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
856 /* we got a new input event; ensure that this has not been assigned to an action already */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
857 if ( cfg_bindbox_assign_binding_checkdups( table , dinputev ) == TRUE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
858 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
859 /* this input event has been already used */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
860 g_free( dinputev ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
861 g_source_remove( timeout_sid ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
862 ed_ui_message_show( _("Information") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
863 _("This input event has been already assigned.\n\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
864 "It's not possible to assign multiple actions to the same input event " |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
865 "(although it's possible to assign the same action to multiple events).") , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
866 bindings_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
867 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
868 else |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
869 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
870 /* if this is the last row ("Assign" button) , create a new empty row */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
871 if ( GPOINTER_TO_INT(g_object_get_data(G_OBJECT(assign_button),"last")) == 1 ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
872 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
873 cfg_bindbox_new_empty_row( GTK_TABLE(table) , bindings_win , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
874 /* so, the current row is not the last one anymore; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
875 remove its "last" mark and enable its delete button */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
876 g_object_set_data( G_OBJECT(assign_button) , "last" , GINT_TO_POINTER(0) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
877 gtk_widget_set_sensitive( GTK_WIDGET(g_object_get_data(G_OBJECT(assign_button),"delbt")) , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
878 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
879 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
880 g_object_set_data_full( G_OBJECT(label) , "inputevent" , dinputev , g_free ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
881 input_str = g_strdup_printf( "%i:%i:%i" , dinputev->type , dinputev->code , dinputev->value ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
882 gtk_label_set_text( GTK_LABEL(label) , input_str ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
883 g_free( input_str ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
884 g_source_remove( timeout_sid ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
885 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
886 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
887 break; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
888 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
889 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
890 default: |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
891 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
892 break; /* nothing should be changed */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
893 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
894 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
895 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
896 gtk_widget_destroy( trigger_dlg ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
897 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
898 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
899 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
900 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
901 cfg_bindbox_delete_row( GtkButton * delete_button , gpointer bindings_win ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
902 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
903 GtkTable *oldtable, *newtable; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
904 GtkWidget *table_sw, *table_vp; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
905 GList *children = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
906 gint drow = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
907 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
908 /* here comes the drawback of using GtkTable to display |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
909 a list-like set of widgets :) deletion can be a complex task */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
910 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
911 /* first, get the row number of the row that should be deleted |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
912 (this can't be the last one cause it has the delete button disabled) */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
913 oldtable = g_object_get_data( G_OBJECT(bindings_win) , "table" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
914 children = oldtable->children; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
915 while ( children != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
916 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
917 GtkTableChild *child = children->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
918 if ( child->widget == (GtkWidget*)delete_button ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
919 drow = child->top_attach; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
920 children = g_list_next( children ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
921 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
922 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
923 /* now, a simple trick: create a new GtkTable and move all |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
924 of the widgets there, excepting those positioned in row "drow" */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
925 newtable = (GtkTable*)gtk_table_new( oldtable->nrows - 1 , oldtable->ncols , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
926 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
927 children = oldtable->children; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
928 while ( children != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
929 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
930 GtkTableChild *child = children->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
931 if ( child->top_attach < drow ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
932 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
933 GtkWidget *widget = child->widget; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
934 guint widget_row = child->top_attach; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
935 guint widget_col = child->left_attach; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
936 g_object_ref( widget ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
937 gtk_container_remove( GTK_CONTAINER(oldtable) , widget ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
938 gtk_table_attach( GTK_TABLE(newtable) , widget , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
939 widget_col , widget_col + 1 , widget_row , widget_row + 1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
940 (widget_col == BINDLIST_COL_LABEL_EVCODE ? GTK_EXPAND | GTK_FILL : GTK_FILL ) , GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
941 /* gtk_container_remove() changed the structure used to iterate; restart */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
942 children = oldtable->children; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
943 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
944 else if ( child->top_attach > drow ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
945 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
946 GtkWidget *widget = child->widget; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
947 guint widget_row = child->top_attach; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
948 guint widget_col = child->left_attach; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
949 g_object_ref( widget ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
950 gtk_container_remove( GTK_CONTAINER(oldtable) , widget ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
951 gtk_table_attach( GTK_TABLE(newtable) , widget , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
952 widget_col , widget_col + 1 , widget_row - 1 , widget_row , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
953 (widget_col == BINDLIST_COL_LABEL_EVCODE ? GTK_EXPAND | GTK_FILL : GTK_FILL ) , GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
954 /* gtk_container_remove() changed the structure used to iterate; restart */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
955 children = oldtable->children; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
956 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
957 else |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
958 children = g_list_next(children); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
959 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
960 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
961 /* now, replace the old GtkTable with the new one */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
962 table_sw = g_object_get_data( G_OBJECT(bindings_win) , "tablesw" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
963 table_vp = gtk_bin_get_child( GTK_BIN(table_sw) ); /* get the viewport */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
964 gtk_widget_destroy( GTK_WIDGET(oldtable) ); /* destroy old GtkTable */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
965 gtk_container_add( GTK_CONTAINER(table_vp) , GTK_WIDGET(newtable) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
966 g_object_set_data( G_OBJECT(bindings_win) , "table" , newtable ); /* update table in bindings_win */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
967 gtk_widget_show_all( GTK_WIDGET(newtable) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
968 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
969 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
970 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
971 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
972 /* the three structure types defined below |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
973 are only used in cfg_bindbox_populate process */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
974 typedef struct |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
975 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
976 GtkWidget *combobox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
977 gint action_code; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
978 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
979 combosas_helper_t; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
980 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
981 typedef struct |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
982 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
983 gint action_code; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
984 ed_inputevent_t * inputev; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
985 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
986 popul_binding_t; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
987 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
988 typedef struct |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
989 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
990 gint id; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
991 popul_binding_t *bindings; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
992 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
993 popul_container_binding_t; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
994 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
995 static gboolean |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
996 cfg_bindbox_populate_foreach_combosas ( GtkTreeModel * model , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
997 GtkTreePath * path , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
998 GtkTreeIter * iter , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
999 gpointer combosas_helper_gp ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1000 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1001 gint action_code = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1002 combosas_helper_t *combosas_helper = combosas_helper_gp; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1003 gtk_tree_model_get( model , iter , 1 , &action_code , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1004 if ( action_code == combosas_helper->action_code ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1005 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1006 gtk_combo_box_set_active_iter( GTK_COMBO_BOX(combosas_helper->combobox) , iter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1007 return TRUE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1008 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1009 return FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1010 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1011 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1012 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1013 cfg_bindbox_populate_foreach ( ed_inputevent_t * sinputev , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1014 gint action_code , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1015 gpointer popul_container_gp , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1016 gpointer none ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1017 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1018 ed_inputevent_t *inputev; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1019 popul_container_binding_t *popul_container = popul_container_gp; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1020 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1021 /* make a copy of the ed_inputevent_t object "sinputev" */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1022 inputev = g_malloc(sizeof(ed_inputevent_t)); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1023 inputev->type = sinputev->type; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1024 inputev->code = sinputev->code; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1025 inputev->value = sinputev->value; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1026 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1027 popul_container->bindings[popul_container->id].inputev = inputev; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1028 popul_container->bindings[popul_container->id].action_code = action_code; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1029 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1030 popul_container->id++; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1031 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1032 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1033 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1034 static int |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1035 cfg_bindbox_populate_qsortfunc( const void * p_binding_a , const void * p_binding_b ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1036 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1037 return ((popul_binding_t*)p_binding_a)->action_code - ((popul_binding_t*)p_binding_b)->action_code; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1038 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1039 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1040 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1041 cfg_bindbox_populate( GtkWidget * bind_table , GtkWidget * bindings_win , gpointer bindings ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1042 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1043 if ( bindings != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1044 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1045 guint bindings_num = ed_bindings_store_size( bindings ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1046 popul_binding_t *popul_binding = (popul_binding_t*)calloc( bindings_num , sizeof(popul_binding_t) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1047 popul_container_binding_t *popul_container = g_malloc(sizeof(popul_container_binding_t)); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1048 gint i = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1049 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1050 popul_container->bindings = popul_binding; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1051 popul_container->id = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1052 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1053 ed_bindings_store_foreach( bindings , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1054 (ed_bindings_store_foreach_func)cfg_bindbox_populate_foreach , popul_container , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1055 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1056 /* ok, now we have a popul_binding array, reorder it using action_codes */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1057 qsort( popul_binding , bindings_num , sizeof(popul_binding_t) , cfg_bindbox_populate_qsortfunc ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1058 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1059 /* attach to table each popul_binding */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1060 for ( i = 0 ; i < bindings_num ; i++ ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1061 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1062 GList *children = GTK_TABLE(bind_table)->children; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1063 for ( children ; children != NULL ; children = g_list_next(children) ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1064 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1065 GtkTableChild *child = children->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1066 if ( ( (child->top_attach + 1) == GTK_TABLE(bind_table)->nrows ) && |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1067 ( child->left_attach == BINDLIST_COL_BT_ASSIGN ) && |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1068 ( GPOINTER_TO_INT(g_object_get_data(G_OBJECT(child->widget),"last")) == 1 ) ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1069 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1070 /* ok, this child->widget is the last assign button */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1071 GtkWidget *combobox = g_object_get_data(G_OBJECT(child->widget),"combobox"); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1072 GtkWidget *label = g_object_get_data(G_OBJECT(child->widget),"label"); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1073 GtkWidget *delbt = g_object_get_data(G_OBJECT(child->widget),"delbt"); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1074 GtkTreeModel *combomodel; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1075 GtkTreeIter comboiter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1076 combosas_helper_t *combosas_helper; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1077 gchar *input_str; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1078 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1079 combomodel = gtk_combo_box_get_model( GTK_COMBO_BOX(combobox) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1080 combosas_helper = g_malloc(sizeof(combosas_helper_t)); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1081 combosas_helper->combobox = combobox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1082 combosas_helper->action_code = popul_binding[i].action_code; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1083 gtk_tree_model_foreach( combomodel , cfg_bindbox_populate_foreach_combosas , combosas_helper ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1084 g_free( combosas_helper ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1085 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1086 g_object_set_data_full( G_OBJECT(label) , "inputevent" , popul_binding[i].inputev , g_free ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1087 input_str = g_strdup_printf( "%i:%i:%i" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1088 popul_binding[i].inputev->type , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1089 popul_binding[i].inputev->code , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1090 popul_binding[i].inputev->value ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1091 gtk_label_set_text( GTK_LABEL(label) , input_str ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1092 g_free( input_str ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1093 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1094 /* so, the current row wont' be the last one anymore; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1095 remove its "last" mark and enable its delete button */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1096 g_object_set_data( G_OBJECT(child->widget) , "last" , GINT_TO_POINTER(0) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1097 gtk_widget_set_sensitive( delbt , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1098 cfg_bindbox_new_empty_row( GTK_TABLE(bind_table) , bindings_win , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1099 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1100 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1101 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1102 DEBUGMSG( "populating bindings window: code %i -> event %d:%d:%d\n" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1103 popul_binding[i].action_code , popul_binding[i].inputev->type, |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1104 popul_binding[i].inputev->code, popul_binding[i].inputev->value ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1105 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1106 g_free( popul_binding ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1107 g_free( popul_container ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1108 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1109 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1110 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1111 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1112 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1113 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1114 cfg_bindbox_new_empty_row( GtkTable * bind_table , GtkWidget * bindings_win , gboolean resize_table ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1115 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1116 GtkWidget *action_combobox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1117 GtkCellRenderer *action_combobox_rndr; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1118 GtkWidget *assign_button; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1119 GtkWidget *assign_label; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1120 GtkWidget *delete_button; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1121 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1122 /* add one row to the table */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1123 if ( resize_table == TRUE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1124 gtk_table_resize( bind_table , bind_table->nrows + 1 , bind_table->ncols ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1125 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1126 /* action combobox */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1127 action_combobox = gtk_combo_box_new_with_model( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1128 GTK_TREE_MODEL(g_object_get_data(G_OBJECT(bindings_win),"action_store")) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1129 action_combobox_rndr = gtk_cell_renderer_text_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1130 gtk_cell_layout_pack_start( GTK_CELL_LAYOUT(action_combobox) , action_combobox_rndr , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1131 gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT(action_combobox) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1132 action_combobox_rndr , "text" , 0 , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1133 gtk_combo_box_set_active( GTK_COMBO_BOX(action_combobox) , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1134 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1135 gtk_table_attach( bind_table , action_combobox , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1136 BINDLIST_COL_COMBO_ACTION , BINDLIST_COL_COMBO_ACTION + 1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1137 bind_table->nrows - 1 , bind_table->nrows , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1138 GTK_FILL , GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1139 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1140 /* assign button */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1141 assign_button = gtk_button_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1142 gtk_button_set_image( GTK_BUTTON(assign_button) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1143 gtk_image_new_from_stock( GTK_STOCK_EXECUTE , GTK_ICON_SIZE_BUTTON ) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1144 g_object_set_data( G_OBJECT(assign_button) , "last" , GINT_TO_POINTER(1) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1145 g_signal_connect( G_OBJECT(assign_button) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1146 G_CALLBACK(cfg_bindbox_assign_binding) , bindings_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1147 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1148 gtk_table_attach( bind_table , assign_button , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1149 BINDLIST_COL_BT_ASSIGN , BINDLIST_COL_BT_ASSIGN + 1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1150 bind_table->nrows - 1 , bind_table->nrows , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1151 GTK_FILL , GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1152 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1153 /* assigned-code label */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1154 assign_label = gtk_label_new( "" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1155 gtk_misc_set_alignment( GTK_MISC(assign_label) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1156 gtk_misc_set_padding( GTK_MISC(assign_label) , 10 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1157 g_object_set_data_full( G_OBJECT(assign_label) , "inputevent" , NULL , g_free ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1158 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1159 gtk_table_attach( bind_table , assign_label , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1160 BINDLIST_COL_LABEL_EVCODE , BINDLIST_COL_LABEL_EVCODE +1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1161 bind_table->nrows - 1 , bind_table->nrows , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1162 GTK_EXPAND | GTK_FILL , GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1163 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1164 /* delete button */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1165 delete_button = gtk_button_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1166 gtk_button_set_image( GTK_BUTTON(delete_button) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1167 gtk_image_new_from_stock( GTK_STOCK_DELETE , GTK_ICON_SIZE_BUTTON ) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1168 g_signal_connect( G_OBJECT(delete_button) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1169 G_CALLBACK(cfg_bindbox_delete_row) , bindings_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1170 gtk_widget_set_sensitive( delete_button , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1171 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1172 gtk_table_attach( bind_table , delete_button , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1173 BINDLIST_COL_BT_DELETE , BINDLIST_COL_BT_DELETE + 1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1174 bind_table->nrows - 1 , bind_table->nrows , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1175 GTK_FILL , GTK_FILL , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1176 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1177 /* data for assign button */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1178 g_object_set_data( G_OBJECT(assign_button) , "combobox" , action_combobox ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1179 g_object_set_data( G_OBJECT(assign_button) , "label" , assign_label ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1180 g_object_set_data( G_OBJECT(assign_button) , "delbt" , delete_button ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1181 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1182 gtk_widget_show_all( GTK_WIDGET(bind_table) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1183 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1184 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1185 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1186 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1187 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1188 cfg_bindings_cb_destroy ( GtkObject * bindings_win , gpointer dev_gp ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1189 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1190 ed_device_t *dev = dev_gp; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1191 /* bindings window is going to be destroyed; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1192 deactivate device listening and free the ed_device_t object */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1193 g_source_remove( dev->iochan_sid ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1194 ed_device_delete( dev ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1195 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1196 /* the rowreference is no longer needed as well */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1197 gtk_tree_row_reference_free( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1198 (GtkTreeRowReference*)g_object_get_data(G_OBJECT(bindings_win),"rowref") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1199 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1200 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1201 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1202 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1203 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1204 cfg_bindings_cb_commit ( gpointer bindings_win ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1205 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1206 GtkTreeRowReference *rowref = g_object_get_data(G_OBJECT(bindings_win),"rowref"); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1207 if ( gtk_tree_row_reference_valid( rowref ) == TRUE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1208 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1209 GtkTreeModel *model = gtk_tree_row_reference_get_model( rowref ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1210 GtkTreePath *path = gtk_tree_row_reference_get_path( rowref ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1211 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1212 GtkTable *table; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1213 gpointer new_bindings = NULL, old_bindings = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1214 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1215 /****************************************************************************/ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1216 table = g_object_get_data( G_OBJECT(bindings_win) , "table" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1217 if ( table->nrows > 1 ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1218 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1219 /* bindings defined */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1220 GList *children = table->children; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1221 gint *array_actioncode; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1222 ed_inputevent_t **array_inputevent; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1223 gint i = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1224 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1225 array_actioncode = calloc( table->nrows - 1 , sizeof(gint) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1226 array_inputevent = calloc( table->nrows - 1 , sizeof(ed_inputevent_t*) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1227 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1228 for ( children ; children != NULL ; children = g_list_next( children ) ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1229 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1230 /* pick information from relevant table cells and put them in arrays */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1231 GtkTableChild *child = children->data; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1232 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1233 if ( ( child->top_attach + 1 ) == table->nrows ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1234 continue; /* skip last empty row */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1235 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1236 if ( child->left_attach == BINDLIST_COL_COMBO_ACTION ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1237 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1238 GtkTreeModel *combomodel = gtk_combo_box_get_model( GTK_COMBO_BOX(child->widget) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1239 GtkTreeIter comboiter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1240 gint actioncode = 0; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1241 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1242 gtk_combo_box_get_active_iter( GTK_COMBO_BOX(child->widget) , &comboiter ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1243 gtk_tree_model_get( combomodel , &comboiter , 1 , &actioncode , -1 ); /* pick the action code */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1244 array_actioncode[child->top_attach] = actioncode; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1245 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1246 else if ( child->left_attach == BINDLIST_COL_LABEL_EVCODE ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1247 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1248 ed_inputevent_t *inputevent = g_object_get_data( G_OBJECT(child->widget) , "inputevent" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1249 array_inputevent[child->top_attach] = inputevent; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1250 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1251 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1252 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1253 /* ok, now copy data from arrays to the bindings store */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1254 new_bindings = ed_bindings_store_new(); /* new bindings store object */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1255 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1256 for ( i = 0 ; i < ( table->nrows - 1 ) ; i++ ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1257 ed_bindings_store_insert( new_bindings , array_inputevent[i] , array_actioncode[i] ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1258 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1259 g_free( array_actioncode ); g_free( array_inputevent ); /* not needed anymore */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1260 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1261 else |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1262 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1263 /* no bindings defined */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1264 new_bindings = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1265 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1266 /****************************************************************************/ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1267 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1268 /* pick old bindings store and delete it */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1269 gtk_tree_model_get_iter( model , &iter , path ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1270 gtk_tree_model_get( model , &iter, DEVLIST_COL_BINDINGS , &old_bindings , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1271 if ( old_bindings != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1272 ed_bindings_store_delete( old_bindings ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1273 /* replace it with new one */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1274 gtk_list_store_set( GTK_LIST_STORE(model) , &iter , DEVLIST_COL_BINDINGS , new_bindings , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1275 /* everything done! */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1276 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1277 gtk_widget_destroy( GTK_WIDGET(bindings_win) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1278 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1279 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1280 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1281 #define action_store_add(x) { gtk_list_store_append(action_store,&iter); gtk_list_store_set(action_store,&iter,0,player_actions[x].desc,1,x,-1); } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1282 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1283 static void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1284 cfg_ui_bindings_show ( ed_device_t * dev , GtkTreeRowReference * rowref ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1285 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1286 GtkWidget *bindings_win; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1287 GdkGeometry bindings_win_hints; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1288 GtkWidget *bindings_vbox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1289 GtkWidget *bindings_info_table, *bindings_info_frame; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1290 GtkWidget *bindings_info_label_name_p, *bindings_info_label_name_c; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1291 GtkWidget *bindings_info_label_file_p, *bindings_info_label_file_c; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1292 GtkWidget *bindings_info_label_phys_p, *bindings_info_label_phys_c; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1293 GtkWidget *bindings_bind_frame, *bindings_bind_table, *bindings_bind_table_sw; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1294 GtkWidget *bindings_bbar_hbbox, *bindings_bbar_bt_cancel, *bindings_bbar_bt_ok; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1295 GtkListStore *action_store; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1296 GtkTreeIter iter; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1297 static gboolean style_added = FALSE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1298 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1299 if ( !style_added ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1300 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1301 /* this is used by trigger dialogs, calling it once is enough */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1302 gtk_rc_parse_string( "style \"noaaborder\" { GtkDialog::action-area-border = 0 }\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1303 "widget \"trigger_dlg\" style \"noaaborder\"\n" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1304 style_added = TRUE; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1305 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1306 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1307 bindings_win = gtk_window_new( GTK_WINDOW_TOPLEVEL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1308 gtk_window_set_type_hint( GTK_WINDOW(bindings_win), GDK_WINDOW_TYPE_HINT_DIALOG ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1309 gtk_window_set_position( GTK_WINDOW(bindings_win), GTK_WIN_POS_CENTER ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1310 gtk_window_set_transient_for( GTK_WINDOW(bindings_win), GTK_WINDOW(cfg_win) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1311 gtk_window_set_modal( GTK_WINDOW(bindings_win) , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1312 gtk_window_set_title( GTK_WINDOW(bindings_win), _("EvDev-Plug - Bindings Configuration") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1313 gtk_container_set_border_width( GTK_CONTAINER(bindings_win), 10 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1314 bindings_win_hints.min_width = 400; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1315 bindings_win_hints.min_height = 400; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1316 gtk_window_set_geometry_hints( GTK_WINDOW(bindings_win) , GTK_WIDGET(bindings_win) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1317 &bindings_win_hints , GDK_HINT_MIN_SIZE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1318 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1319 g_object_set_data( G_OBJECT(bindings_win) , "rowref" , rowref ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1320 g_object_set_data( G_OBJECT(bindings_win) , "trigger-win" , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1321 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1322 bindings_vbox = gtk_vbox_new( FALSE , 4 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1323 gtk_container_add( GTK_CONTAINER(bindings_win) , bindings_vbox ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1324 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1325 /* action combobox model |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1326 column 0 -> action desc |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1327 column 1 -> action code */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1328 action_store = gtk_list_store_new( 2 , G_TYPE_STRING , G_TYPE_INT ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1329 action_store_add( ED_ACTION_PB_PLAY ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1330 action_store_add( ED_ACTION_PB_STOP ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1331 action_store_add( ED_ACTION_PB_PAUSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1332 action_store_add( ED_ACTION_PB_PREV ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1333 action_store_add( ED_ACTION_PB_NEXT ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1334 action_store_add( ED_ACTION_PB_EJECT ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1335 action_store_add( ED_ACTION_PL_REPEAT ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1336 action_store_add( ED_ACTION_PL_SHUFFLE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1337 action_store_add( ED_ACTION_VOL_UP5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1338 action_store_add( ED_ACTION_VOL_DOWN5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1339 action_store_add( ED_ACTION_VOL_UP10 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1340 action_store_add( ED_ACTION_VOL_DOWN10 ); |
457
f5ed9a6ad3f1
[svn] - evdev-plug: added volume->mute and win->jumptofile actions
giacomo
parents:
422
diff
changeset
|
1341 action_store_add( ED_ACTION_VOL_MUTE ); |
422
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1342 action_store_add( ED_ACTION_WIN_MAIN ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1343 action_store_add( ED_ACTION_WIN_PLAYLIST ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1344 action_store_add( ED_ACTION_WIN_EQUALIZER ); |
457
f5ed9a6ad3f1
[svn] - evdev-plug: added volume->mute and win->jumptofile actions
giacomo
parents:
422
diff
changeset
|
1345 action_store_add( ED_ACTION_WIN_JTF ); |
422
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1346 g_object_set_data_full( G_OBJECT(bindings_win) , "action_store" , action_store , g_object_unref ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1347 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1348 /* info table */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1349 bindings_info_table = gtk_table_new( 3 , 2 , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1350 gtk_container_set_border_width( GTK_CONTAINER(bindings_info_table), 4 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1351 bindings_info_label_name_p = gtk_label_new( "" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1352 gtk_label_set_markup( GTK_LABEL(bindings_info_label_name_p) , _("<b>Name: </b>") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1353 gtk_misc_set_alignment( GTK_MISC(bindings_info_label_name_p) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1354 bindings_info_label_name_c = gtk_label_new( dev->info->name ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1355 gtk_misc_set_alignment( GTK_MISC(bindings_info_label_name_c) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1356 gtk_table_attach( GTK_TABLE(bindings_info_table) , bindings_info_label_name_p , 0 , 1 , 0 , 1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1357 GTK_FILL , GTK_FILL | GTK_EXPAND , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1358 gtk_table_attach( GTK_TABLE(bindings_info_table) , bindings_info_label_name_c , 1 , 2 , 0 , 1 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1359 GTK_FILL , GTK_FILL | GTK_EXPAND , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1360 bindings_info_label_file_p = gtk_label_new( "" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1361 gtk_label_set_markup( GTK_LABEL(bindings_info_label_file_p) , _("<b>Filename: </b>") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1362 gtk_misc_set_alignment( GTK_MISC(bindings_info_label_file_p) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1363 bindings_info_label_file_c = gtk_label_new( dev->info->filename ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1364 gtk_misc_set_alignment( GTK_MISC(bindings_info_label_file_c) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1365 gtk_table_attach( GTK_TABLE(bindings_info_table) , bindings_info_label_file_p , 0 , 1 , 1 , 2 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1366 GTK_FILL , GTK_FILL | GTK_EXPAND , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1367 gtk_table_attach( GTK_TABLE(bindings_info_table) , bindings_info_label_file_c , 1 , 2 , 1 , 2 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1368 GTK_FILL , GTK_FILL | GTK_EXPAND , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1369 bindings_info_label_phys_p = gtk_label_new( "" ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1370 gtk_label_set_markup( GTK_LABEL(bindings_info_label_phys_p) , _("<b>Phys.Address: </b>") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1371 gtk_misc_set_alignment( GTK_MISC(bindings_info_label_phys_p) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1372 bindings_info_label_phys_c = gtk_label_new( dev->info->phys ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1373 gtk_misc_set_alignment( GTK_MISC(bindings_info_label_phys_c) , 0 , 0.5 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1374 gtk_table_attach( GTK_TABLE(bindings_info_table) , bindings_info_label_phys_p , 0 , 1 , 2 , 3 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1375 GTK_FILL , GTK_FILL | GTK_EXPAND , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1376 gtk_table_attach( GTK_TABLE(bindings_info_table) , bindings_info_label_phys_c , 1 , 2 , 2 , 3 , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1377 GTK_FILL , GTK_FILL | GTK_EXPAND , 0 , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1378 bindings_info_frame = gtk_frame_new( NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1379 gtk_container_add( GTK_CONTAINER(bindings_info_frame) , bindings_info_table ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1380 gtk_box_pack_start( GTK_BOX(bindings_vbox) , bindings_info_frame , FALSE , FALSE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1381 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1382 /* bindings boxlist */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1383 bindings_bind_table = gtk_table_new( 1 , BINDLIST_NUMCOLS , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1384 cfg_bindbox_new_empty_row( GTK_TABLE(bindings_bind_table) , bindings_win , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1385 cfg_bindbox_populate( bindings_bind_table , bindings_win , dev->info->bindings ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1386 bindings_bind_table_sw = gtk_scrolled_window_new( NULL , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1387 gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW(bindings_bind_table_sw) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1388 GTK_POLICY_NEVER , GTK_POLICY_ALWAYS ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1389 bindings_bind_frame = gtk_frame_new( NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1390 gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW(bindings_bind_table_sw) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1391 bindings_bind_table ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1392 gtk_container_add( GTK_CONTAINER(bindings_bind_frame) , bindings_bind_table_sw ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1393 gtk_box_pack_start( GTK_BOX(bindings_vbox) , bindings_bind_frame , TRUE , TRUE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1394 g_object_set_data( G_OBJECT(bindings_win) , "table" , bindings_bind_table ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1395 g_object_set_data( G_OBJECT(bindings_win) , "tablesw" , bindings_bind_table_sw ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1396 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1397 gtk_box_pack_start( GTK_BOX(bindings_vbox) , gtk_hseparator_new() , FALSE , FALSE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1398 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1399 /* button bar */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1400 bindings_bbar_hbbox = gtk_hbutton_box_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1401 gtk_button_box_set_layout( GTK_BUTTON_BOX(bindings_bbar_hbbox) , GTK_BUTTONBOX_START ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1402 bindings_bbar_bt_cancel = gtk_button_new_from_stock( GTK_STOCK_CANCEL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1403 bindings_bbar_bt_ok = gtk_button_new_from_stock( GTK_STOCK_OK ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1404 gtk_container_add( GTK_CONTAINER(bindings_bbar_hbbox) , bindings_bbar_bt_cancel ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1405 gtk_container_add( GTK_CONTAINER(bindings_bbar_hbbox) , bindings_bbar_bt_ok ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1406 gtk_button_box_set_child_secondary( GTK_BUTTON_BOX(bindings_bbar_hbbox) , bindings_bbar_bt_cancel , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1407 gtk_button_box_set_child_secondary( GTK_BUTTON_BOX(bindings_bbar_hbbox) , bindings_bbar_bt_ok , TRUE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1408 gtk_box_pack_start( GTK_BOX(bindings_vbox) , bindings_bbar_hbbox , FALSE , FALSE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1409 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1410 /* activate device listening */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1411 dev->iochan_sid = g_io_add_watch( dev->iochan , G_IO_IN , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1412 (GIOFunc)cfg_bindbox_assign_binding_input_func , bindings_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1413 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1414 /* signals */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1415 g_signal_connect( G_OBJECT(bindings_win) , "destroy" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1416 G_CALLBACK(cfg_bindings_cb_destroy) , dev ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1417 g_signal_connect_swapped( G_OBJECT(bindings_bbar_bt_cancel) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1418 G_CALLBACK(gtk_widget_destroy) , bindings_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1419 g_signal_connect_swapped( G_OBJECT(bindings_bbar_bt_ok) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1420 G_CALLBACK(cfg_bindings_cb_commit) , bindings_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1421 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1422 gtk_widget_show_all( bindings_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1423 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1424 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1425 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1426 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1427 /* about box */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1428 void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1429 ed_ui_about_show( void ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1430 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1431 static GtkWidget *about_win = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1432 GtkWidget *about_vbox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1433 GtkWidget *logoandinfo_vbox; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1434 GtkWidget *info_tv, *info_tv_sw, *info_tv_frame; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1435 GtkWidget *bbar_bbox, *bbar_bt_ok; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1436 GtkTextBuffer *info_tb; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1437 GdkGeometry abount_win_hints; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1438 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1439 if ( about_win != NULL ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1440 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1441 gtk_window_present( GTK_WINDOW(about_win) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1442 return; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1443 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1444 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1445 about_win = gtk_window_new( GTK_WINDOW_TOPLEVEL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1446 gtk_window_set_type_hint( GTK_WINDOW(about_win), GDK_WINDOW_TYPE_HINT_DIALOG ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1447 gtk_window_set_position( GTK_WINDOW(about_win), GTK_WIN_POS_CENTER ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1448 gtk_window_set_title( GTK_WINDOW(about_win), _("EvDev-Plug - about") ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1449 abount_win_hints.min_width = 420; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1450 abount_win_hints.min_height = 200; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1451 gtk_window_set_geometry_hints( GTK_WINDOW(about_win) , GTK_WIDGET(about_win) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1452 &abount_win_hints , GDK_HINT_MIN_SIZE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1453 /* gtk_window_set_resizable( GTK_WINDOW(about_win) , FALSE ); */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1454 gtk_container_set_border_width( GTK_CONTAINER(about_win) , 10 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1455 g_signal_connect( G_OBJECT(about_win) , "destroy" , G_CALLBACK(gtk_widget_destroyed) , &about_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1456 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1457 about_vbox = gtk_vbox_new( FALSE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1458 gtk_container_add( GTK_CONTAINER(about_win) , about_vbox ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1459 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1460 logoandinfo_vbox = gtk_vbox_new( TRUE , 2 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1461 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1462 /* TODO make a logo or make someone do it! :) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1463 logo_pixbuf = gdk_pixbuf_new_from_xpm_data( (const gchar **)evdev_plug_logo_xpm ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1464 logo_image = gtk_image_new_from_pixbuf( logo_pixbuf ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1465 g_object_unref( logo_pixbuf ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1466 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1467 logo_frame = gtk_frame_new( NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1468 gtk_container_add( GTK_CONTAINER(logo_frame) , logo_image ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1469 gtk_box_pack_start( GTK_BOX(logoandinfo_vbox) , logo_frame , TRUE , TRUE , 0 ); */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1470 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1471 info_tv = gtk_text_view_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1472 info_tb = gtk_text_view_get_buffer( GTK_TEXT_VIEW(info_tv) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1473 gtk_text_view_set_editable( GTK_TEXT_VIEW(info_tv) , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1474 gtk_text_view_set_cursor_visible( GTK_TEXT_VIEW(info_tv) , FALSE ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1475 gtk_text_view_set_justification( GTK_TEXT_VIEW(info_tv) , GTK_JUSTIFY_LEFT ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1476 gtk_text_view_set_left_margin( GTK_TEXT_VIEW(info_tv) , 10 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1477 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1478 gtk_text_buffer_set_text( info_tb , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1479 _("\nEvDev-Plug " ED_VERSION_PLUGIN |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1480 "\nplayer remote control via event devices\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1481 "http://www.develia.org/projects.php?p=evdevplug\n\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1482 "written by Giacomo Lozito\n" |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1483 "< james@develia.org >\n\n") , -1 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1484 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1485 info_tv_sw = gtk_scrolled_window_new( NULL , NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1486 gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW(info_tv_sw) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1487 GTK_POLICY_NEVER , GTK_POLICY_ALWAYS ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1488 gtk_container_add( GTK_CONTAINER(info_tv_sw) , info_tv ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1489 info_tv_frame = gtk_frame_new( NULL ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1490 gtk_container_add( GTK_CONTAINER(info_tv_frame) , info_tv_sw ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1491 gtk_box_pack_start( GTK_BOX(logoandinfo_vbox) , info_tv_frame , TRUE , TRUE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1492 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1493 gtk_box_pack_start( GTK_BOX(about_vbox) , logoandinfo_vbox , TRUE , TRUE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1494 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1495 /* horizontal separator and buttons */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1496 gtk_box_pack_start( GTK_BOX(about_vbox) , gtk_hseparator_new() , FALSE , FALSE , 4 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1497 bbar_bbox = gtk_hbutton_box_new(); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1498 gtk_button_box_set_layout( GTK_BUTTON_BOX(bbar_bbox) , GTK_BUTTONBOX_END ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1499 bbar_bt_ok = gtk_button_new_from_stock( GTK_STOCK_OK ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1500 g_signal_connect_swapped( G_OBJECT(bbar_bt_ok) , "clicked" , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1501 G_CALLBACK(gtk_widget_destroy) , about_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1502 gtk_container_add( GTK_CONTAINER(bbar_bbox) , bbar_bt_ok ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1503 gtk_box_pack_start( GTK_BOX(about_vbox) , bbar_bbox , FALSE , FALSE , 0 ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1504 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1505 gtk_widget_show_all( about_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1506 } |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1507 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1508 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1509 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1510 /* message box */ |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1511 void |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1512 ed_ui_message_show ( gchar * title , gchar * message , gpointer parent_win_gp ) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1513 { |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1514 GtkWidget *message_win; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1515 GtkWindow *parent_win = NULL; |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1516 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1517 if (( parent_win_gp != NULL ) && ( GTK_WIDGET_TOPLEVEL(GTK_WIDGET(parent_win_gp)) )) |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1518 parent_win = GTK_WINDOW(parent_win_gp); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1519 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1520 message_win = gtk_message_dialog_new( |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1521 parent_win , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1522 ( parent_win != NULL ? GTK_DIALOG_DESTROY_WITH_PARENT : 0 ) , |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1523 GTK_MESSAGE_INFO , GTK_BUTTONS_CLOSE , message ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1524 gtk_window_set_title( GTK_WINDOW(message_win) , title ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1525 |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1526 gtk_dialog_run( GTK_DIALOG(message_win) ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1527 gtk_widget_destroy( message_win ); |
5e46b57d1eda
[svn] - added evdev-plug, written-from-scratch plugin that allows to control the player via event devices on linux systems
giacomo
parents:
diff
changeset
|
1528 } |