Diff of /trunk/src/misc.c

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

revision 246 by harbaum, Tue Jan 19 20:26:37 2010 UTC revision 250 by harbaum, Sat Jan 23 20:12:41 2010 UTC
# Line 1635  GtkWidget *preset_coordinate_picker(appd Line 1635  GtkWidget *preset_coordinate_picker(appd
1635    return button;    return button;
1636  }  }
1637    
 #if defined(ENABLE_MAEMO_MAPPER) || defined(ENABLE_OSM_GPS_MAP)  
1638  static pos_t goto_pos_get(GtkWidget *item) {  static pos_t goto_pos_get(GtkWidget *item) {
1639    pos_t pos;    pos_t pos;
1640    
# Line 1648  static pos_t goto_pos_get(GtkWidget *ite Line 1647  static pos_t goto_pos_get(GtkWidget *ite
1647    return  pos;    return  pos;
1648  }  }
1649    
 #if defined(ENABLE_MAEMO_MAPPER) && defined(ENABLE_OSM_GPS_MAP)  
1650  #ifdef ENABLE_MAEMO_MAPPER  #ifdef ENABLE_MAEMO_MAPPER
1651  static void cb_mm_set(GtkWidget *item, gpointer data) {  static void cb_mm_set(GtkWidget *item, gpointer data) {
1652    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
# Line 1672  static void cb_map_set(GtkWidget *item, Line 1670  static void cb_map_set(GtkWidget *item,
1670  }  }
1671  #endif  #endif
1672    
1673    static void cb_clipboard_set(GtkWidget *item, gpointer data) {
1674      appdata_t *appdata = (appdata_t*)data;
1675    
1676      pos_t pos = goto_pos_get(item);
1677      if(!isnan(pos.lat) && !isnan(pos.lon)) {
1678        char lat[32], lon[32];
1679        pos_lat_str(lat, sizeof(lat), pos.lat);
1680        pos_lon_str(lon, sizeof(lon), pos.lon);
1681    
1682        char *str = g_strdup_printf("%s %s", lat, lon);
1683        gtk_clipboard_set_text(appdata->clipboard, str, -1);
1684        g_free(str);
1685      }
1686    }
1687    
1688  #ifndef PRESET_PICKER_DIALOG  #ifndef PRESET_PICKER_DIALOG
1689  static GtkWidget *goto_popup_menu_create(appdata_t *appdata,  static GtkWidget *goto_popup_menu_create(appdata_t *appdata,
1690                      GtkWidget *lat_entry, GtkWidget *lon_entry) {                      GtkWidget *lat_entry, GtkWidget *lon_entry) {
# Line 1686  static GtkWidget *goto_popup_menu_create Line 1699  static GtkWidget *goto_popup_menu_create
1699    menu_add(menu, appdata, icon_get_widget(ICON_POS, 24),    menu_add(menu, appdata, icon_get_widget(ICON_POS, 24),
1700             _("Maemo Mapper"), cb_mm_set, 0, lon_entry, lat_entry);             _("Maemo Mapper"), cb_mm_set, 0, lon_entry, lat_entry);
1701  #endif  #endif
1702    
1703      menu_add(menu, appdata, icon_get_widget(ICON_POS, 25),
1704               _("Clipboard"), cb_clipboard_set, 0, lon_entry, lat_entry);
1705    
1706    gtk_widget_show_all(menu);    gtk_widget_show_all(menu);
1707    
# Line 1731  static GtkWidget *goto_picker_create(app Line 1747  static GtkWidget *goto_picker_create(app
1747                      _("Maemo Mapper"), cb_mm_set, 0);                      _("Maemo Mapper"), cb_mm_set, 0);
1748  #endif  #endif
1749    
1750      preset_picker_add(store, appdata, icon_get(ICON_POS, 25),
1751                        _("Clipboard"), cb_clipboard_set, 0);
1752    
1753    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));
1754    g_object_unref(store);    g_object_unref(store);
1755    
# Line 1752  static GtkWidget *goto_picker_create(app Line 1771  static GtkWidget *goto_picker_create(app
1771  #endif  #endif
1772  }  }
1773  #endif  #endif
 #endif  
1774    
1775  static gint on_goto_button_press(GtkWidget *button,  static gint on_goto_button_press(GtkWidget *button,
1776                                   GdkEventButton *event, gpointer data) {                                   GdkEventButton *event, gpointer data) {
# Line 1760  static gint on_goto_button_press(GtkWidg Line 1778  static gint on_goto_button_press(GtkWidg
1778    
1779    if(event->type == GDK_BUTTON_PRESS) {    if(event->type == GDK_BUTTON_PRESS) {
1780    
 #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  
   
1781      gpointer lat_entry = g_object_get_data(G_OBJECT(button), "lat_entry");      gpointer lat_entry = g_object_get_data(G_OBJECT(button), "lat_entry");
1782      g_assert(lat_entry);      g_assert(lat_entry);
1783      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 1810  static gint on_goto_button_press(GtkWidg
1810      gtk_dialog_run(GTK_DIALOG(dialog));      gtk_dialog_run(GTK_DIALOG(dialog));
1811      gtk_widget_destroy(dialog);      gtk_widget_destroy(dialog);
1812  #endif  #endif
   
 #endif  
1813    
1814      return TRUE;      return TRUE;
1815    }    }
# Line 1846  GtkWidget *goto_coordinate(appdata_t *ap Line 1847  GtkWidget *goto_coordinate(appdata_t *ap
1847    
1848    return button;    return button;
1849  }  }
 #else  
 /* no map installed */  
 GtkWidget *goto_coordinate(appdata_t *appdata,  
                      GtkWidget *lat_entry, GtkWidget *lon_entry) {  
   return gtk_label_new("");  
 }  
 #endif  
1850    
1851  GtkWidget *entry_new(void) {  GtkWidget *entry_new(void) {
1852  #if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5)  #if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5)

Legend:
Removed from v.246  
changed lines
  Added in v.250