Diff of /trunk/src/misc.c

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

revision 248 by harbaum, Tue Jan 19 20:26:37 2010 UTC revision 249 by harbaum, Thu Jan 21 21:18:33 2010 UTC
# Line 1672  static void cb_map_set(GtkWidget *item, Line 1672  static void cb_map_set(GtkWidget *item,
1672  }  }
1673  #endif  #endif
1674    
1675    static void cb_clipboard_set(GtkWidget *item, gpointer data) {
1676      appdata_t *appdata = (appdata_t*)data;
1677    
1678      pos_t pos = goto_pos_get(item);
1679      if(!isnan(pos.lat) && !isnan(pos.lon)) {
1680        char lat[32], lon[32];
1681        pos_lat_str(lat, sizeof(lat), pos.lat);
1682        pos_lon_str(lon, sizeof(lon), pos.lon);
1683    
1684        char *str = g_strdup_printf("%s %s", lat, lon);
1685        gtk_clipboard_set_text(appdata->clipboard, str, -1);
1686        g_free(str);
1687      }
1688    }
1689    
1690  #ifndef PRESET_PICKER_DIALOG  #ifndef PRESET_PICKER_DIALOG
1691  static GtkWidget *goto_popup_menu_create(appdata_t *appdata,  static GtkWidget *goto_popup_menu_create(appdata_t *appdata,
1692                      GtkWidget *lat_entry, GtkWidget *lon_entry) {                      GtkWidget *lat_entry, GtkWidget *lon_entry) {
# Line 1686  static GtkWidget *goto_popup_menu_create Line 1701  static GtkWidget *goto_popup_menu_create
1701    menu_add(menu, appdata, icon_get_widget(ICON_POS, 24),    menu_add(menu, appdata, icon_get_widget(ICON_POS, 24),
1702             _("Maemo Mapper"), cb_mm_set, 0, lon_entry, lat_entry);             _("Maemo Mapper"), cb_mm_set, 0, lon_entry, lat_entry);
1703  #endif  #endif
1704    
1705      menu_add(menu, appdata, icon_get_widget(ICON_POS, 25),
1706               _("Clipboard"), cb_clipboard_set, 0, lon_entry, lat_entry);
1707    
1708    gtk_widget_show_all(menu);    gtk_widget_show_all(menu);
1709    
# Line 1731  static GtkWidget *goto_picker_create(app Line 1749  static GtkWidget *goto_picker_create(app
1749                      _("Maemo Mapper"), cb_mm_set, 0);                      _("Maemo Mapper"), cb_mm_set, 0);
1750  #endif  #endif
1751    
1752      preset_picker_add(store, appdata, icon_get(ICON_POS, 25),
1753                        _("Clipboard"), cb_clipboard_set, 0);
1754    
1755    gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(store));    gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(store));
1756    g_object_unref(store);    g_object_unref(store);
1757    
# Line 1760  static gint on_goto_button_press(GtkWidg Line 1781  static gint on_goto_button_press(GtkWidg
1781    
1782    if(event->type == GDK_BUTTON_PRESS) {    if(event->type == GDK_BUTTON_PRESS) {
1783    
 #if defined(ENABLE_MAEMO_MAPPER) && !defined(ENABLE_OSM_GPS_MAP)  
     /* only maemo mapper is being used */  
     pos_t pos = goto_pos_get(button);  
     if(!isnan(pos.lat) && !isnan(pos.lon))  
       dbus_mm_set_position(appdata, &pos);  
 #elif !defined(ENABLE_MAEMO_MAPPER) && defined(ENABLE_OSM_GPS_MAP)  
     /* only internal map is being used */  
     pos_t pos = goto_pos_get(button);  
     if(!isnan(pos.lat) && !isnan(pos.lon)) {  
       map(appdata);  
       osm_gps_map_set_center(OSM_GPS_MAP(appdata->map.context->widget),  
                              pos.lat, pos.lon);  
     }  
 #else  
   
1784      gpointer lat_entry = g_object_get_data(G_OBJECT(button), "lat_entry");      gpointer lat_entry = g_object_get_data(G_OBJECT(button), "lat_entry");
1785      g_assert(lat_entry);      g_assert(lat_entry);
1786      gpointer lon_entry = g_object_get_data(G_OBJECT(button), "lon_entry");      gpointer lon_entry = g_object_get_data(G_OBJECT(button), "lon_entry");
# Line 1807  static gint on_goto_button_press(GtkWidg Line 1813  static gint on_goto_button_press(GtkWidg
1813      gtk_dialog_run(GTK_DIALOG(dialog));      gtk_dialog_run(GTK_DIALOG(dialog));
1814      gtk_widget_destroy(dialog);      gtk_widget_destroy(dialog);
1815  #endif  #endif
   
 #endif  
1816    
1817      return TRUE;      return TRUE;
1818    }    }

Legend:
Removed from v.248  
changed lines
  Added in v.249