Diff of /trunk/src/main.c

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

revision 1 by harbaum, Sat Jun 20 11:08:47 2009 UTC revision 6 by harbaum, Wed Jun 24 19:20:21 2009 UTC
# Line 551  void cachelist_dialog(appdata_t *appdata Line 551  void cachelist_dialog(appdata_t *appdata
551    gtk_container_add(GTK_CONTAINER(window),    gtk_container_add(GTK_CONTAINER(window),
552                      cachelist_create(appdata, gpx, NULL));                      cachelist_create(appdata, gpx, NULL));
553    
554      hildon_window_set_app_menu(HILDON_WINDOW(window),
555                                 menu_create(appdata, MENU_CACHELIST));
556    
557    gtk_widget_show_all(window);    gtk_widget_show_all(window);
558  }  }
559  #endif  #endif
# Line 1007  cb_menu_adddir(GtkWidget *window, gpoint Line 1010  cb_menu_adddir(GtkWidget *window, gpoint
1010    if(new) gpxlist_add(appdata, new);    if(new) gpxlist_add(appdata, new);
1011  }  }
1012    
 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);  
 }  
   
1013  #ifndef USE_PANNABLE_AREA  #ifndef USE_PANNABLE_AREA
1014  static void  static void
1015  cb_menu_close(GtkWidget *window, gpointer data) {  cb_menu_close(GtkWidget *window, gpointer data) {
# Line 1380  cb_menu_quit(GtkWidget *window, gpointer Line 1368  cb_menu_quit(GtkWidget *window, gpointer
1368  }  }
1369  #endif  #endif
1370    
1371    #ifndef NO_COPY_N_PASTE
1372  static void  static void
1373  cb_menu_cut(GtkWidget *widget, gpointer data) {  cb_menu_cut(GtkWidget *widget, gpointer data) {
1374    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
# Line 1424  cb_menu_paste(GtkWidget *widget, gpointe Line 1413  cb_menu_paste(GtkWidget *widget, gpointe
1413    } else    } else
1414      printf("paste: ERROR, no active buffer\n");      printf("paste: ERROR, no active buffer\n");
1415  }  }
1416    #endif
1417    
1418  static void  static void
1419  cb_menu_export_log(GtkWidget *widget, gpointer data) {  cb_menu_export_log(GtkWidget *widget, gpointer data) {
# Line 1445  cb_menu_export_garmin(GtkWidget *widget, Line 1435  cb_menu_export_garmin(GtkWidget *widget,
1435    garmin_export(appdata);    garmin_export(appdata);
1436  }  }
1437    
1438    static void
1439    cb_menu_geomath(GtkWidget *window, gpointer data) {
1440      geomath_dialog((appdata_t *)data);
1441    }
1442    
1443    static void
1444    cb_menu_geotext(GtkWidget *window, gpointer data) {
1445      geotext_dialog((appdata_t *)data);
1446    }
1447    
1448    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) {
1456      HildonStackableWindow *view_window;
1457      GtkWidget *but;
1458    
1459      view_window = HILDON_STACKABLE_WINDOW (hildon_stackable_window_new ());
1460      gtk_window_set_title (GTK_WINDOW (view_window), "Export");
1461    
1462      GtkVBox *contents = GTK_VBOX(gtk_vbox_new (12, FALSE));
1463    
1464      but = hildon_button_new_with_text(
1465                HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1466                HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1467                _("Export to Maemo Mapper"),
1468                _("Save a Maemo Mapper POI file"));
1469      g_signal_connect(but, "clicked",
1470                       G_CALLBACK(cb_menu_export_mmpoi), appdata);
1471      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1472    
1473    
1474      but = hildon_button_new_with_text(
1475                HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1476                HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1477                _("Export Field Notes"),
1478                _("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(
1485                HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1486                HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1487                _("Export Garmin GPX"),
1488                _("Save a GPX file containing modified waypoints"));
1489      g_signal_connect(but, "clicked",
1490                       G_CALLBACK(cb_menu_export_garmin), appdata);
1491      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1492    
1493      gtk_container_add (GTK_CONTAINER (view_window), GTK_WIDGET (contents));
1494      gtk_widget_show_all (GTK_WIDGET (view_window));
1495    }
1496    
1497    void on_tools_clicked(GtkButton *button, appdata_t *appdata) {
1498      HildonStackableWindow *view_window;
1499      GtkWidget *but;
1500    
1501      view_window = HILDON_STACKABLE_WINDOW (hildon_stackable_window_new ());
1502      gtk_window_set_title (GTK_WINDOW (view_window), "Export");
1503    
1504      GtkVBox *contents = GTK_VBOX(gtk_vbox_new (12, FALSE));
1505    
1506      but = hildon_button_new_with_text(
1507                HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1508                HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1509                _("Geomath"),
1510                _("Geocoordinate calculation"));
1511      g_signal_connect(but, "clicked",
1512                       G_CALLBACK(cb_menu_geomath), appdata);
1513      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1514    
1515    
1516      but = hildon_button_new_with_text(
1517                HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1518                HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1519                _("Geotext"),
1520                _("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(
1527                HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
1528                HILDON_BUTTON_ARRANGEMENT_VERTICAL,
1529                _("Precise Position"),
1530                _("Calculate a very precise GPS posotions"));
1531      g_signal_connect(but, "clicked",
1532                       G_CALLBACK(cb_menu_precpos), appdata);
1533      gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0);
1534    
1535      gtk_container_add (GTK_CONTAINER (view_window), GTK_WIDGET (contents));
1536      gtk_widget_show_all (GTK_WIDGET (view_window));
1537    }
1538    
1539    HildonAppMenu *menu_create(appdata_t *appdata, int mode) {
1540      GtkWidget *button;
1541      HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new());
1542    
1543      /* ------- */
1544      button = gtk_button_new_with_label(_("Settings"));
1545      g_signal_connect_after(button, "clicked", G_CALLBACK(cb_menu_settings),
1546                             appdata);
1547      hildon_app_menu_append(menu, GTK_BUTTON(button));
1548    
1549      if(mode == MENU_GPXLIST) {
1550        button = gtk_button_new_with_label(_("Import file"));
1551        g_signal_connect_after(button, "clicked",
1552                               G_CALLBACK(cb_menu_add), appdata);
1553        hildon_app_menu_append(menu, GTK_BUTTON(button));
1554    
1555        button = gtk_button_new_with_label(_("Import dir"));
1556        g_signal_connect_after(button, "clicked",
1557                               G_CALLBACK(cb_menu_adddir), appdata);
1558        hildon_app_menu_append(menu, GTK_BUTTON(button));
1559      }
1560    
1561      if(mode == MENU_GPXLIST) {
1562        button = gtk_button_new_with_label(_("Export"));
1563        g_signal_connect_after(button, "clicked",
1564                               G_CALLBACK(on_export_clicked), appdata);
1565        hildon_app_menu_append(menu, GTK_BUTTON(button));
1566    
1567        button = gtk_button_new_with_label(_("Search"));
1568        g_signal_connect_after(button, "clicked",
1569                               G_CALLBACK(cb_menu_search), appdata);
1570        hildon_app_menu_append(menu, GTK_BUTTON(button));
1571      }
1572    
1573      button = gtk_button_new_with_label(_("Tools"));
1574      g_signal_connect_after(button, "clicked",
1575                             G_CALLBACK(on_tools_clicked), appdata);
1576      hildon_app_menu_append(menu, GTK_BUTTON(button));
1577    
1578      button = gtk_button_new_with_label(_("About"));
1579      g_signal_connect_after(button, "clicked",
1580                             G_CALLBACK(cb_menu_about), appdata);
1581      hildon_app_menu_append(menu, GTK_BUTTON(button));
1582    
1583      gtk_widget_show(GTK_WIDGET(menu));
1584    
1585      return menu;
1586    }
1587    #else
1588    
1589  void menu_create(appdata_t *appdata) {  void menu_create(appdata_t *appdata) {
1590    GtkWidget *menu, *item;    GtkWidget *menu, *item;
1591    menu = gtk_menu_new();    menu = gtk_menu_new();
1592    
1593  #ifdef USE_MAEMO  #ifdef USE_BREAD_CRUMB_TRAIL
1594    appdata->menu_import =    appdata->menu_import =
1595  #endif  #endif
1596    item = gtk_menu_item_new_with_label(_("Import"));    item = gtk_menu_item_new_with_label(_("Import"));
# Line 1479  void menu_create(appdata_t *appdata) { Line 1620  void menu_create(appdata_t *appdata) {
1620    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_remove), appdata);    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_remove), appdata);
1621  #endif  #endif
1622    
1623  #ifdef USE_MAEMO  #ifdef USE_BREAD_CRUMB_TRAIL
1624    appdata->menu_export =    appdata->menu_export =
1625  #endif  #endif
1626      item = gtk_menu_item_new_with_label(_("Export"));      item = gtk_menu_item_new_with_label(_("Export"));
# Line 1504  void menu_create(appdata_t *appdata) { Line 1645  void menu_create(appdata_t *appdata) {
1645    g_signal_connect(item, "activate",    g_signal_connect(item, "activate",
1646                     GTK_SIGNAL_FUNC(cb_menu_export_garmin), appdata);                     GTK_SIGNAL_FUNC(cb_menu_export_garmin), appdata);
1647    
1648  #ifdef USE_MAEMO  #ifdef USE_BREAD_CRUMB_TRAIL
1649    appdata->menu_search =    appdata->menu_search =
1650  #endif  #endif
1651    item = gtk_menu_item_new_with_label( _("Search...") );    item = gtk_menu_item_new_with_label( _("Search...") );
# Line 1512  void menu_create(appdata_t *appdata) { Line 1653  void menu_create(appdata_t *appdata) {
1653    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_search), appdata);    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_search), appdata);
1654    
1655    gtk_menu_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());    gtk_menu_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
1656    
1657    #ifndef NO_COPY_N_PASTE
1658    /* ----------- copy'n paste submenu ----------------- */    /* ----------- copy'n paste submenu ----------------- */
1659    appdata->clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);    appdata->clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
1660    gtk_clipboard_set_can_store(appdata->clipboard, NULL, 0);    gtk_clipboard_set_can_store(appdata->clipboard, NULL, 0);
# Line 1534  void menu_create(appdata_t *appdata) { Line 1676  void menu_create(appdata_t *appdata) {
1676    gtk_widget_set_sensitive(item, FALSE);    gtk_widget_set_sensitive(item, FALSE);
1677    gtk_menu_append(GTK_MENU_SHELL(submenu), item);    gtk_menu_append(GTK_MENU_SHELL(submenu), item);
1678    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_paste), appdata);    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_paste), appdata);
1679    #endif
1680    
1681    item = gtk_menu_item_new_with_label( _("Settings...") );    item = gtk_menu_item_new_with_label( _("Settings") );
1682    gtk_menu_append(GTK_MENU_SHELL(menu), item);    gtk_menu_append(GTK_MENU_SHELL(menu), item);
1683    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_settings),    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_settings),
1684                     appdata);                     appdata);
# Line 1596  void menu_create(appdata_t *appdata) { Line 1739  void menu_create(appdata_t *appdata) {
1739    gtk_box_pack_start(GTK_BOX(appdata->vbox), menu_bar, 0, 0, 0);    gtk_box_pack_start(GTK_BOX(appdata->vbox), menu_bar, 0, 0, 0);
1740  #endif  #endif
1741  }  }
1742    #endif
1743    
1744  /********************* end of menu **********************/  /********************* end of menu **********************/
1745    
# Line 1964  int main(int argc, char *argv[]) { Line 2108  int main(int argc, char *argv[]) {
2108    appdata.vbox = gtk_vbox_new(FALSE, 2);    appdata.vbox = gtk_vbox_new(FALSE, 2);
2109    gtk_container_add(GTK_CONTAINER(appdata.window), appdata.vbox);    gtk_container_add(GTK_CONTAINER(appdata.window), appdata.vbox);
2110    
2111    #ifndef USE_STACKABLE_WINDOW
2112    menu_create(&appdata);    menu_create(&appdata);
2113    #else
2114      hildon_window_set_app_menu(HILDON_WINDOW(appdata.window),
2115                                 menu_create(&appdata, MENU_GPXLIST));
2116    #endif
2117    
2118  #ifdef USE_BREAD_CRUMB_TRAIL  #ifdef USE_BREAD_CRUMB_TRAIL
2119    appdata.bct = hildon_bread_crumb_trail_new();    appdata.bct = hildon_bread_crumb_trail_new();

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