115
114
AwnAppletManager *manager;
116
115
AwnAppletManagerPrivate *priv;
117
AwnConfigBridge *bridge;
116
GValueArray *empty_array;
119
118
priv = AWN_APPLET_MANAGER_GET_PRIVATE (object);
120
119
manager = AWN_APPLET_MANAGER (object);
122
/* Hook everything up the config client */
123
bridge = awn_config_bridge_get_default ();
121
/* Hook everything up to the config client */
125
awn_config_bridge_bind (bridge, priv->client,
126
AWN_GROUP_PANEL, AWN_PANEL_ORIENT,
128
awn_config_bridge_bind (bridge, priv->client,
129
AWN_GROUP_PANEL, AWN_PANEL_SIZE,
131
awn_config_bridge_bind (bridge, priv->client,
132
AWN_GROUP_PANEL, AWN_PANEL_OFFSET,
134
awn_config_bridge_bind_list (bridge, priv->client,
135
AWN_GROUP_PANEL, AWN_PANEL_APPLET_LIST,
136
AWN_CONFIG_CLIENT_LIST_TYPE_STRING,
137
object, "applet_list");
138
awn_config_bridge_bind_list (bridge, priv->client,
139
AWN_GROUP_PANEL, AWN_PANEL_UA_LIST,
140
AWN_CONFIG_CLIENT_LIST_TYPE_STRING,
142
awn_config_bridge_bind_list (bridge, priv->client,
143
AWN_GROUP_PANEL, AWN_PANEL_UA_ACTIVE_LIST,
144
AWN_CONFIG_CLIENT_LIST_TYPE_STRING,
145
object, "ua_active_list");
123
desktop_agnostic_config_client_bind (priv->client,
124
AWN_GROUP_PANEL, AWN_PANEL_ORIENT,
125
object, "orient", TRUE,
126
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
128
desktop_agnostic_config_client_bind (priv->client,
129
AWN_GROUP_PANEL, AWN_PANEL_SIZE,
130
object, "size", TRUE,
131
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
133
desktop_agnostic_config_client_bind (priv->client,
134
AWN_GROUP_PANEL, AWN_PANEL_OFFSET,
135
object, "offset", TRUE,
136
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
138
desktop_agnostic_config_client_bind (priv->client,
139
AWN_GROUP_PANEL, AWN_PANEL_APPLET_LIST,
140
object, "applet_list", TRUE,
141
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
143
desktop_agnostic_config_client_bind (priv->client,
144
AWN_GROUP_PANEL, AWN_PANEL_UA_LIST,
145
object, "ua_list", TRUE,
146
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
148
desktop_agnostic_config_client_bind (priv->client,
149
AWN_GROUP_PANEL, AWN_PANEL_UA_ACTIVE_LIST,
150
object, "ua_active_list", TRUE,
151
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
147
154
ua_active_list should be empty when awn starts...
149
awn_config_client_set_list (priv->client,AWN_GROUP_PANEL, AWN_PANEL_UA_ACTIVE_LIST,
150
AWN_CONFIG_CLIENT_LIST_TYPE_STRING,
156
empty_array = g_value_array_new (0);
157
desktop_agnostic_config_client_set_list (priv->client,
158
AWN_GROUP_PANEL, AWN_PANEL_UA_ACTIVE_LIST,
160
g_value_array_free (empty_array);
192
201
g_value_set_int (value, priv->size);
194
203
case PROP_APPLET_LIST:
195
g_value_set_pointer (value, priv->applet_list);
204
g_value_take_boxed (value, awn_utils_gslist_to_gvaluearray (priv->applet_list));
197
206
case PROP_UA_LIST:
198
g_value_set_pointer (value, priv->ua_list);
207
g_value_take_boxed (value, awn_utils_gslist_to_gvaluearray (priv->ua_list));
200
209
case PROP_UA_ACTIVE_LIST:
201
g_value_set_pointer (value, priv->ua_active_list);
210
g_value_take_boxed (value, awn_utils_gslist_to_gvaluearray (priv->ua_active_list));
203
212
case PROP_EXPANDS:
204
213
g_value_set_boolean (value, priv->expands);
235
265
awn_applet_manager_set_size (manager, g_value_get_int (value));
237
267
case PROP_APPLET_LIST:
238
free_list (priv->applet_list);
239
priv->applet_list = g_value_get_pointer (value);
268
set_list_property (value, &priv->applet_list);
240
269
awn_applet_manager_refresh_applets (manager);
242
271
case PROP_UA_LIST:
243
free_list (priv->ua_list);
244
priv->ua_list = g_value_get_pointer (value);
272
set_list_property (value, &priv->ua_list);
245
273
awn_applet_manager_refresh_applets (manager);
247
275
case PROP_UA_ACTIVE_LIST:
248
free_list (priv->ua_active_list);
249
priv->ua_active_list = g_value_get_pointer (value);
276
set_list_property (value, &priv->ua_active_list);
250
277
awn_applet_manager_refresh_applets (manager);
253
280
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
330
361
g_object_class_install_property (obj_class,
331
362
PROP_APPLET_LIST,
332
g_param_spec_pointer ("applet_list",
334
"The list of applets for this panel",
335
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
363
g_param_spec_boxed ("applet_list",
365
"The list of applets for this panel",
367
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
337
369
g_object_class_install_property (obj_class,
339
g_param_spec_pointer ("ua_list",
341
"The rememebered screenlet positions for this panel",
342
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
371
g_param_spec_boxed ("ua_list",
373
"The remembered screenlet positions for this panel",
375
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
344
377
g_object_class_install_property (obj_class,
345
378
PROP_UA_ACTIVE_LIST,
346
g_param_spec_pointer ("ua-active-list",
348
"The list of active screenlets for this panel",
349
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
379
g_param_spec_boxed ("ua-active-list",
381
"The list of active screenlets for this panel",
383
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
351
385
g_object_class_install_property (obj_class,
952
awn_config_client_set_list (priv->client,AWN_GROUP_PANEL, AWN_PANEL_UA_LIST,
953
AWN_CONFIG_CLIENT_LIST_TYPE_STRING,
954
priv->ua_list, NULL);
988
array = awn_utils_gslist_to_gvaluearray (priv->ua_list);
989
desktop_agnostic_config_client_set_list (priv->client,
990
AWN_GROUP_PANEL, AWN_PANEL_UA_LIST,
992
g_value_array_free (array);
955
993
/*Add our newly active screenlet to thend of the active list */
956
994
priv->ua_active_list = g_slist_append (priv->ua_active_list,g_strdup(ua_list_entry));
957
awn_config_client_set_list (priv->client,AWN_GROUP_PANEL, AWN_PANEL_UA_ACTIVE_LIST,
958
AWN_CONFIG_CLIENT_LIST_TYPE_STRING,
959
priv->ua_active_list, NULL);
995
array = awn_utils_gslist_to_gvaluearray (priv->ua_active_list);
996
desktop_agnostic_config_client_set_list (priv->client,
998
AWN_PANEL_UA_ACTIVE_LIST,
1000
g_value_array_free (array);