59 |
|
|
60 |
#if defined(USE_HILDON) && (MAEMO_VERSION_MAJOR == 5) |
#if defined(USE_HILDON) && (MAEMO_VERSION_MAJOR == 5) |
61 |
#define FREMANTLE |
#define FREMANTLE |
62 |
|
#include <hildon/hildon-gtk.h> |
63 |
#include <hildon/hildon-pannable-area.h> |
#include <hildon/hildon-pannable-area.h> |
64 |
|
// #define FREMANTLE_USE_POPUP |
65 |
#endif |
#endif |
66 |
|
|
67 |
#ifdef FREMANTLE |
#ifdef FREMANTLE_USE_POPUP |
68 |
|
|
69 |
static void cmenu_init(GtkWidget *list) { |
static void cmenu_init(GtkWidget *list) { |
70 |
list_priv_t *priv = g_object_get_data(G_OBJECT(list), "priv"); |
list_priv_t *priv = g_object_get_data(G_OBJECT(list), "priv"); |
90 |
hildon_gtk_widget_set_theme_size(menu_item, |
hildon_gtk_widget_set_theme_size(menu_item, |
91 |
(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH)); |
(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH)); |
92 |
|
|
93 |
gtk_signal_connect(GTK_OBJECT(menu_item), "clicked", |
gtk_signal_connect(GTK_OBJECT(menu_item), "activate", |
94 |
GTK_SIGNAL_FUNC(cb), data); |
GTK_SIGNAL_FUNC(cb), data); |
95 |
|
|
96 |
gtk_widget_show_all(GTK_WIDGET(priv->menu)); |
gtk_widget_show_all(GTK_WIDGET(priv->menu)); |
340 |
} |
} |
341 |
|
|
342 |
if(cb_edit) { |
if(cb_edit) { |
343 |
#ifdef FREMANTLE |
#ifdef FREMANTLE_USE_POPUP |
344 |
priv->button.widget[1] = cmenu_append(list, _("Edit"), |
priv->button.widget[1] = cmenu_append(list, _("Edit"), |
345 |
GTK_SIGNAL_FUNC(cb_edit), data); |
GTK_SIGNAL_FUNC(cb_edit), data); |
346 |
#else |
#else |
354 |
} |
} |
355 |
|
|
356 |
if(cb_remove) { |
if(cb_remove) { |
357 |
#ifdef FREMANTLE |
#ifdef FREMANTLE_USE_POPUP |
358 |
priv->button.widget[2] = cmenu_append(list, _("Remove"), |
priv->button.widget[2] = cmenu_append(list, _("Remove"), |
359 |
GTK_SIGNAL_FUNC(cb_remove), data); |
GTK_SIGNAL_FUNC(cb_remove), data); |
360 |
#else |
#else |
414 |
|
|
415 |
printf("destroy list\n"); |
printf("destroy list\n"); |
416 |
|
|
|
if(priv->path) g_free(priv->path); |
|
417 |
g_free(priv); |
g_free(priv); |
418 |
|
|
419 |
return FALSE; |
return FALSE; |
435 |
G_CALLBACK(on_list_destroy), priv); |
G_CALLBACK(on_list_destroy), priv); |
436 |
|
|
437 |
priv->view = gtk_tree_view_new(); |
priv->view = gtk_tree_view_new(); |
438 |
|
#ifdef FREMANTLE |
439 |
|
hildon_gtk_tree_view_set_ui_mode(GTK_TREE_VIEW(priv->view), |
440 |
|
HILDON_UI_MODE_EDIT); |
441 |
|
#endif |
442 |
|
|
443 |
#ifdef USE_HILDON |
#ifdef USE_HILDON |
444 |
if(show_headers) { |
if(show_headers) { |
466 |
gtk_container_add(GTK_CONTAINER(pannable_area), priv->view); |
gtk_container_add(GTK_CONTAINER(pannable_area), priv->view); |
467 |
gtk_box_pack_start_defaults(GTK_BOX(vbox), pannable_area); |
gtk_box_pack_start_defaults(GTK_BOX(vbox), pannable_area); |
468 |
|
|
469 |
|
#ifdef FREMANTLE_USE_POPUP |
470 |
cmenu_init(vbox); |
cmenu_init(vbox); |
471 |
#endif |
#endif |
472 |
|
#endif |
473 |
|
|
474 |
/* make list react on clicks (double clicks on pre-fremantle) */ |
/* make list react on clicks (double clicks on pre-fremantle) */ |
475 |
g_signal_connect_after(GTK_OBJECT(priv->view), "row-activated", |
g_signal_connect_after(GTK_OBJECT(priv->view), "row-activated", |