107 |
va_list ap; |
va_list ap; |
108 |
|
|
109 |
/* make space for user buttons */ |
/* make space for user buttons */ |
110 |
gtk_table_resize(GTK_TABLE(priv->table), 2, 3); |
if(!(priv->button.flags & LIST_BTN_WIDE)) |
111 |
|
gtk_table_resize(GTK_TABLE(priv->table), 2, 3); |
112 |
|
else |
113 |
|
gtk_table_resize(GTK_TABLE(priv->table), 1, 5); |
114 |
|
|
115 |
va_start(ap, list); |
va_start(ap, list); |
116 |
list_button_t id = va_arg(ap, list_button_t); |
list_button_t id = va_arg(ap, list_button_t); |
118 |
char *label = va_arg(ap, char*); |
char *label = va_arg(ap, char*); |
119 |
GCallback cb = va_arg(ap, GCallback); |
GCallback cb = va_arg(ap, GCallback); |
120 |
|
|
121 |
priv->button.widget[id] = gtk_button_new_with_label(label); |
priv->button.widget[id] = button_new_with_label(label); |
122 |
#ifdef FREMANTLE_PANNABLE_AREA |
if(!(priv->button.flags & LIST_BTN_WIDE)) |
123 |
if(priv->button.flags & LIST_BTN_BIG) |
gtk_table_attach_defaults(GTK_TABLE(priv->table), priv->button.widget[id], |
124 |
hildon_gtk_widget_set_theme_size(priv->button.widget[id], |
id-LIST_BUTTON_USER0, id-LIST_BUTTON_USER0+1, 1, 2); |
125 |
(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH)); |
else |
126 |
#endif |
gtk_table_attach_defaults(GTK_TABLE(priv->table), priv->button.widget[id], |
127 |
gtk_table_attach_defaults(GTK_TABLE(priv->table), priv->button.widget[id], |
3+id-LIST_BUTTON_USER0, 3+id-LIST_BUTTON_USER0+1, 0, 1); |
128 |
id-LIST_BUTTON_USER0, id-LIST_BUTTON_USER0+1, 1, 2); |
|
129 |
gtk_signal_connect(GTK_OBJECT(priv->button.widget[id]), "clicked", |
gtk_signal_connect(GTK_OBJECT(priv->button.widget[id]), "clicked", |
130 |
GTK_SIGNAL_FUNC(cb), priv->button.data); |
GTK_SIGNAL_FUNC(cb), priv->button.data); |
131 |
|
|
214 |
/* make space for user buttons */ |
/* make space for user buttons */ |
215 |
gtk_table_resize(GTK_TABLE(priv->table), 2, 3); |
gtk_table_resize(GTK_TABLE(priv->table), 2, 3); |
216 |
|
|
217 |
gtk_table_attach_defaults(GTK_TABLE(priv->table), widget, |
if(!(priv->button.flags & LIST_BTN_WIDE)) |
218 |
id-LIST_BUTTON_USER0, id-LIST_BUTTON_USER0+1, 1, 2); |
gtk_table_attach_defaults(GTK_TABLE(priv->table), widget, |
219 |
|
id-LIST_BUTTON_USER0, id-LIST_BUTTON_USER0+1, 1, 2); |
220 |
|
else |
221 |
|
gtk_table_attach_defaults(GTK_TABLE(priv->table), widget, |
222 |
|
3+id-LIST_BUTTON_USER0, 3+id-LIST_BUTTON_USER0+1, 0, 1); |
223 |
|
|
224 |
priv->button.widget[id] = widget; |
priv->button.widget[id] = widget; |
225 |
} |
} |
226 |
|
|
326 |
/* add the three default buttons, but keep the disabled for now */ |
/* add the three default buttons, but keep the disabled for now */ |
327 |
if(cb_new) { |
if(cb_new) { |
328 |
priv->button.widget[0] = |
priv->button.widget[0] = |
329 |
gtk_button_new_with_label(_((flags&LIST_BTN_NEW)?"New":"Add")); |
button_new_with_label(_((flags&LIST_BTN_NEW)?"New":"Add")); |
|
#ifdef FREMANTLE_PANNABLE_AREA |
|
|
if(flags & LIST_BTN_BIG) |
|
|
hildon_gtk_widget_set_theme_size(priv->button.widget[0], |
|
|
(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH)); |
|
|
#endif |
|
330 |
gtk_table_attach_defaults(GTK_TABLE(priv->table), |
gtk_table_attach_defaults(GTK_TABLE(priv->table), |
331 |
priv->button.widget[0], 0, 1, 0, 1); |
priv->button.widget[0], 0, 1, 0, 1); |
332 |
gtk_signal_connect(GTK_OBJECT(priv->button.widget[0]), "clicked", |
gtk_signal_connect(GTK_OBJECT(priv->button.widget[0]), "clicked", |
339 |
priv->button.widget[1] = cmenu_append(list, _("Edit"), |
priv->button.widget[1] = cmenu_append(list, _("Edit"), |
340 |
GTK_SIGNAL_FUNC(cb_edit), data); |
GTK_SIGNAL_FUNC(cb_edit), data); |
341 |
#else |
#else |
342 |
priv->button.widget[1] = gtk_button_new_with_label(_("Edit")); |
priv->button.widget[1] = button_new_with_label(_("Edit")); |
|
#ifdef FREMANTLE_PANNABLE_AREA |
|
|
if(flags & LIST_BTN_BIG) |
|
|
hildon_gtk_widget_set_theme_size(priv->button.widget[1], |
|
|
(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH)); |
|
|
#endif |
|
343 |
gtk_table_attach_defaults(GTK_TABLE(priv->table), |
gtk_table_attach_defaults(GTK_TABLE(priv->table), |
344 |
priv->button.widget[1], 1, 2, 0, 1); |
priv->button.widget[1], 1, 2, 0, 1); |
345 |
gtk_signal_connect(GTK_OBJECT(priv->button.widget[1]), "clicked", |
gtk_signal_connect(GTK_OBJECT(priv->button.widget[1]), "clicked", |
353 |
priv->button.widget[2] = cmenu_append(list, _("Remove"), |
priv->button.widget[2] = cmenu_append(list, _("Remove"), |
354 |
GTK_SIGNAL_FUNC(cb_remove), data); |
GTK_SIGNAL_FUNC(cb_remove), data); |
355 |
#else |
#else |
356 |
priv->button.widget[2] = gtk_button_new_with_label(_("Remove")); |
priv->button.widget[2] = button_new_with_label(_("Remove")); |
|
#ifdef FREMANTLE_PANNABLE_AREA |
|
|
if(flags & LIST_BTN_BIG) |
|
|
hildon_gtk_widget_set_theme_size(priv->button.widget[2], |
|
|
(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH)); |
|
|
#endif |
|
357 |
gtk_table_attach_defaults(GTK_TABLE(priv->table), |
gtk_table_attach_defaults(GTK_TABLE(priv->table), |
358 |
priv->button.widget[2], 2, 3, 0, 1); |
priv->button.widget[2], 2, 3, 0, 1); |
359 |
gtk_signal_connect(GTK_OBJECT(priv->button.widget[2]), "clicked", |
gtk_signal_connect(GTK_OBJECT(priv->button.widget[2]), "clicked", |