Diff of /trunk/src/main.c

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

revision 5 by harbaum, Tue Jun 23 12:53:07 2009 UTC revision 6 by harbaum, Wed Jun 24 19:20:21 2009 UTC
# Line 1415  cb_menu_paste(GtkWidget *widget, gpointe Line 1415  cb_menu_paste(GtkWidget *widget, gpointe
1415  }  }
1416  #endif  #endif
1417    
1418  #ifdef USE_STACKABLE_WINDOW  static void
1419  typedef struct {  cb_menu_export_log(GtkWidget *widget, gpointer data) {
1420    appdata_t *appdata;    appdata_t *appdata = (appdata_t*)data;
1421    GtkWidget *dialog;    notes_log_export(appdata);
1422  } appmenu_context_t;  }
   
 void on_export_mmpoi_clicked(appmenu_context_t *context) {  
   gtk_widget_destroy(context->dialog);  
   while(gtk_events_pending())  
     gtk_main_iteration();  
1423    
1424    mmpoi_export(context->appdata);  #ifdef USE_MAEMO
1425    static void
1426    cb_menu_export_mmpoi(GtkWidget *widget, gpointer data) {
1427      appdata_t *appdata = (appdata_t*)data;
1428      mmpoi_export(appdata);
1429  }  }
1430    #endif
1431    
1432  void on_export_garmin_clicked(appmenu_context_t *context) {  static void
1433    gtk_widget_destroy(context->dialog);  cb_menu_export_garmin(GtkWidget *widget, gpointer data) {
1434    while(gtk_events_pending())    appdata_t *appdata = (appdata_t*)data;
1435      gtk_main_iteration();    garmin_export(appdata);
1436    }
1437    
1438    garmin_export(context->appdata);  static void
1439    cb_menu_geomath(GtkWidget *window, gpointer data) {
1440      geomath_dialog((appdata_t *)data);
1441  }  }
1442    
1443  void on_export_notes_log_clicked(appmenu_context_t *context) {  static void
1444    gtk_widget_destroy(context->dialog);  cb_menu_geotext(GtkWidget *window, gpointer data) {
1445    while(gtk_events_pending())    geotext_dialog((appdata_t *)data);
1446      gtk_main_iteration();  }
1447    
1448    notes_log_export(context->appdata);  static void
1449    cb_menu_precpos(GtkWidget *window, gpointer data) {
1450      precise_position((appdata_t *)data);
1451  }  }
1452    
1453    #ifdef USE_STACKABLE_WINDOW
1454    
1455  void on_export_clicked(GtkButton *button, appdata_t *appdata) {  void on_export_clicked(GtkButton *button, appdata_t *appdata) {
1456      HildonStackableWindow *view_window;
1457    GtkWidget *but;    GtkWidget *but;
   appmenu_context_t context;  
1458    
1459    context.appdata = appdata;    view_window = HILDON_STACKABLE_WINDOW (hildon_stackable_window_new ());
1460    context.dialog = gtk_dialog_new();    gtk_window_set_title (GTK_WINDOW (view_window), "Export");
1461    
1462    gtk_window_set_decorated(GTK_WINDOW(context.dialog), FALSE);    GtkVBox *contents = GTK_VBOX(gtk_vbox_new (12, FALSE));
1463    
1464    but = hildon_button_new_with_text(HILDON_SIZE_AUTO,    but = hildon_button_new_with_text(
1465                                      HILDON_BUTTON_ARRANGEMENT_VERTICAL,              HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1466                                      _("Export to Maemo Mapper"),              HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1467                                      _("Save a Maemo Mapper POI file"));              _("Export to Maemo Mapper"),
1468    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(context.dialog)->vbox), but);              _("Save a Maemo Mapper POI file"));
1469    g_signal_connect_swapped(but, "clicked",    g_signal_connect(but, "clicked",
1470                             G_CALLBACK(on_export_mmpoi_clicked), &context);                     G_CALLBACK(cb_menu_export_mmpoi), appdata);
1471      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1472    but = hildon_button_new_with_text(HILDON_SIZE_AUTO,  
1473                                      HILDON_BUTTON_ARRANGEMENT_VERTICAL,  
1474                                      _("Export Field Notes"),    but = hildon_button_new_with_text(
1475                                      _("Save a Garmin Field Notes file"));              HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1476    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(context.dialog)->vbox), but);              HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1477    g_signal_connect_swapped(but, "clicked",              _("Export Field Notes"),
1478                     G_CALLBACK(on_export_notes_log_clicked), &context);              _("Save a Garmin Field Notes file"));
1479      g_signal_connect(but, "clicked",
1480                       G_CALLBACK(cb_menu_export_log), appdata);
1481      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1482    
1483    
1484    but = hildon_button_new_with_text(HILDON_SIZE_AUTO,    but = hildon_button_new_with_text(
1485                                      HILDON_BUTTON_ARRANGEMENT_VERTICAL,              HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1486                                      _("Export Garmin GPX"),              HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1487                                      _("Save a GPX file of modified points"));              _("Export Garmin GPX"),
1488    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(context.dialog)->vbox), but);              _("Save a GPX file containing modified waypoints"));
1489    g_signal_connect_swapped(but, "clicked",    g_signal_connect(but, "clicked",
1490                             G_CALLBACK(on_export_garmin_clicked), &context);                     G_CALLBACK(cb_menu_export_garmin), appdata);
1491      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
    gtk_widget_show_all(context.dialog);  
    gint result = gtk_dialog_run(GTK_DIALOG(context.dialog));  
   
    /* user clicked outside dialog */  
    if(result == GTK_RESPONSE_DELETE_EVENT)  
      gtk_widget_destroy(context.dialog);  
 }  
   
 void on_tools_geomath_clicked(appmenu_context_t *context) {  
   gtk_widget_destroy(context->dialog);  
   while(gtk_events_pending())  
     gtk_main_iteration();  
1492    
1493    geomath_dialog(context->appdata);    gtk_container_add (GTK_CONTAINER (view_window), GTK_WIDGET (contents));
1494  }    gtk_widget_show_all (GTK_WIDGET (view_window));
   
 void on_tools_geotext_clicked(appmenu_context_t *context) {  
   gtk_widget_destroy(context->dialog);  
   while(gtk_events_pending())  
     gtk_main_iteration();  
   
   geotext_dialog(context->appdata);  
 }  
   
 void on_tools_precpos_clicked(appmenu_context_t *context) {  
   gtk_widget_destroy(context->dialog);  
   while(gtk_events_pending())  
     gtk_main_iteration();  
   
   precise_position(context->appdata);  
1495  }  }
1496    
1497  void on_tools_clicked(GtkButton *button, appdata_t *appdata) {  void on_tools_clicked(GtkButton *button, appdata_t *appdata) {
1498      HildonStackableWindow *view_window;
1499    GtkWidget *but;    GtkWidget *but;
   appmenu_context_t context;  
1500    
1501    context.appdata = appdata;    view_window = HILDON_STACKABLE_WINDOW (hildon_stackable_window_new ());
1502    context.dialog = gtk_dialog_new();    gtk_window_set_title (GTK_WINDOW (view_window), "Export");
1503    
1504    gtk_window_set_decorated(GTK_WINDOW(context.dialog), FALSE);    GtkVBox *contents = GTK_VBOX(gtk_vbox_new (12, FALSE));
1505    
1506    but = hildon_button_new_with_text(HILDON_SIZE_AUTO,    but = hildon_button_new_with_text(
1507                                      HILDON_BUTTON_ARRANGEMENT_VERTICAL,              HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1508                                      _("Geomath"),              HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1509                                      _("Geocoordinate calculation"));              _("Geomath"),
1510    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(context.dialog)->vbox), but);              _("Geocoordinate calculation"));
1511    g_signal_connect_swapped(but, "clicked",    g_signal_connect(but, "clicked",
1512                             G_CALLBACK(on_tools_geomath_clicked), &context);                     G_CALLBACK(cb_menu_geomath), appdata);
1513      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1514    but = hildon_button_new_with_text(HILDON_SIZE_AUTO,  
1515                                      HILDON_BUTTON_ARRANGEMENT_VERTICAL,  
1516                                      _("Geotext"),    but = hildon_button_new_with_text(
1517                                      _("Text analysis, letter counting etc"));              HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1518    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(context.dialog)->vbox), but);              HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1519    g_signal_connect_swapped(but, "clicked",              _("Geotext"),
1520                     G_CALLBACK(on_tools_geotext_clicked), &context);              _("Text analysis, letter counting etc"));
1521      g_signal_connect(but, "clicked",
1522                       G_CALLBACK(cb_menu_geotext), appdata);
1523      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1524    
1525    
1526    but = hildon_button_new_with_text(HILDON_SIZE_AUTO,    but = hildon_button_new_with_text(
1527                                      HILDON_BUTTON_ARRANGEMENT_VERTICAL,              HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1528                                      _("Precise Position"),              HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1529                                      _("Calculate a very precise GPS posotions"));              _("Precise Position"),
1530    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(context.dialog)->vbox), but);              _("Calculate a very precise GPS posotions"));
1531    g_signal_connect_swapped(but, "clicked",    g_signal_connect(but, "clicked",
1532                             G_CALLBACK(on_tools_precpos_clicked), &context);                     G_CALLBACK(cb_menu_precpos), appdata);
1533      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1534     gtk_widget_show_all(context.dialog);  
1535     gint result = gtk_dialog_run(GTK_DIALOG(context.dialog));    gtk_container_add (GTK_CONTAINER (view_window), GTK_WIDGET (contents));
1536      gtk_widget_show_all (GTK_WIDGET (view_window));
    /* user clicked outside dialog */  
    if(result == GTK_RESPONSE_DELETE_EVENT)  
      gtk_widget_destroy(context.dialog);  
1537  }  }
1538    
1539  HildonAppMenu *menu_create(appdata_t *appdata, int mode) {  HildonAppMenu *menu_create(appdata_t *appdata, int mode) {
# Line 1602  HildonAppMenu *menu_create(appdata_t *ap Line 1585  HildonAppMenu *menu_create(appdata_t *ap
1585    return menu;    return menu;
1586  }  }
1587  #else  #else
 static void  
 cb_menu_export_log(GtkWidget *widget, gpointer data) {  
   appdata_t *appdata = (appdata_t*)data;  
   notes_log_export(appdata);  
 }  
   
 #ifdef USE_MAEMO  
 static void  
 cb_menu_export_mmpoi(GtkWidget *widget, gpointer data) {  
   appdata_t *appdata = (appdata_t*)data;  
   mmpoi_export(appdata);  
 }  
 #endif  
   
 static void  
 cb_menu_export_garmin(GtkWidget *widget, gpointer data) {  
   appdata_t *appdata = (appdata_t*)data;  
   garmin_export(appdata);  
 }  
   
 static void  
 cb_menu_geomath(GtkWidget *window, gpointer data) {  
   geomath_dialog((appdata_t *)data);  
 }  
   
 static void  
 cb_menu_geotext(GtkWidget *window, gpointer data) {  
   geotext_dialog((appdata_t *)data);  
 }  
   
 static void  
 cb_menu_precpos(GtkWidget *window, gpointer data) {  
   precise_position((appdata_t *)data);  
 }  
1588    
1589  void menu_create(appdata_t *appdata) {  void menu_create(appdata_t *appdata) {
1590    GtkWidget *menu, *item;    GtkWidget *menu, *item;

Legend:
Removed from v.5  
changed lines
  Added in v.6