Diff of /trunk/src/list.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 262 by harbaum, Mon Aug 10 14:28:58 2009 UTC revision 264 by harbaum, Tue Aug 11 14:33:14 2009 UTC
# Line 59  typedef struct { Line 59  typedef struct {
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");
# Line 88  static GtkWidget *cmenu_append(GtkWidget Line 90  static GtkWidget *cmenu_append(GtkWidget
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));
# Line 338  void list_set_static_buttons(GtkWidget * Line 340  void list_set_static_buttons(GtkWidget *
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
# Line 352  void list_set_static_buttons(GtkWidget * Line 354  void list_set_static_buttons(GtkWidget *
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
# Line 412  static gint on_list_destroy(GtkWidget *l Line 414  static gint on_list_destroy(GtkWidget *l
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;
# Line 434  GtkWidget *list_new(void) Line 435  GtkWidget *list_new(void)
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) {
# Line 461  GtkWidget *list_new(void) Line 466  GtkWidget *list_new(void)
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",

Legend:
Removed from v.262  
changed lines
  Added in v.264