--- trunk/src/main.c 2009/06/20 11:44:14 2 +++ trunk/src/main.c 2009/06/22 13:05:30 3 @@ -551,6 +551,9 @@ gtk_container_add(GTK_CONTAINER(window), cachelist_create(appdata, gpx, NULL)); + hildon_window_set_app_menu(HILDON_WINDOW(window), + menu_create(appdata, MENU_CACHELIST)); + gtk_widget_show_all(window); } #endif @@ -1447,11 +1450,93 @@ garmin_export(appdata); } +#ifdef USE_STACKABLE_WINDOW +void on_export_clicked(GtkButton *button, appdata_t *appdata) { + GtkWidget *dialog = gtk_dialog_new(); + + GtkWidget *but = + hildon_button_new_with_text(HILDON_SIZE_AUTO, + HILDON_BUTTON_ARRANGEMENT_VERTICAL, + _("Export to Maemo Mapper"), + _("Write a Maemo Mapper POI file")); + + gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), + but); + + +#if 0 + g_signal_connect_swapped (dialog, + "response", + G_CALLBACK (gtk_widget_destroy), + dialog); +#endif + + gtk_widget_show_all (dialog); + gint result = gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); +} + +HildonAppMenu *menu_create(appdata_t *appdata, int mode) { + GtkWidget *button; + HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new()); + + /* ------- */ + button = gtk_button_new_with_label(_("Settings")); + g_signal_connect_after(button, "clicked", G_CALLBACK(cb_menu_settings), + appdata); + hildon_app_menu_append(menu, GTK_BUTTON(button)); + + if(mode == MENU_GPXLIST) { + button = gtk_button_new_with_label(_("Import file")); + g_signal_connect_after(button, "clicked", + G_CALLBACK(cb_menu_add), appdata); + hildon_app_menu_append(menu, GTK_BUTTON(button)); + + button = gtk_button_new_with_label(_("Import dir")); + g_signal_connect_after(button, "clicked", + G_CALLBACK(cb_menu_adddir), appdata); + hildon_app_menu_append(menu, GTK_BUTTON(button)); + } + + if(mode == MENU_GPXLIST || mode == MENU_CACHELIST) { + button = gtk_button_new_with_label(_("Export to Mapper")); + g_signal_connect_after(button, "clicked", + G_CALLBACK(cb_menu_export_mmpoi), appdata); + hildon_app_menu_append(menu, GTK_BUTTON(button)); + } + + if(mode == MENU_GPXLIST) { + button = gtk_button_new_with_label(_("Export Field Notes")); + g_signal_connect_after(button, "clicked", + G_CALLBACK(cb_menu_export_log), appdata); + hildon_app_menu_append(menu, GTK_BUTTON(button)); + + button = gtk_button_new_with_label(_("Export Garmin GPX")); + g_signal_connect_after(button, "clicked", + G_CALLBACK(cb_menu_export_garmin), appdata); + hildon_app_menu_append(menu, GTK_BUTTON(button)); + + button = gtk_button_new_with_label(_("Search")); + g_signal_connect_after(button, "clicked", + G_CALLBACK(cb_menu_search), appdata); + hildon_app_menu_append(menu, GTK_BUTTON(button)); + } + + button = gtk_button_new_with_label(_("About")); + g_signal_connect_after(button, "clicked", + G_CALLBACK(cb_menu_about), appdata); + hildon_app_menu_append(menu, GTK_BUTTON(button)); + + gtk_widget_show(GTK_WIDGET(menu)); + + return menu; +} +#else void menu_create(appdata_t *appdata) { GtkWidget *menu, *item; menu = gtk_menu_new(); -#ifdef USE_MAEMO +#ifdef USE_BREAD_CRUMB_TRAIL appdata->menu_import = #endif item = gtk_menu_item_new_with_label(_("Import")); @@ -1481,7 +1566,7 @@ g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_remove), appdata); #endif -#ifdef USE_MAEMO +#ifdef USE_BREAD_CRUMB_TRAIL appdata->menu_export = #endif item = gtk_menu_item_new_with_label(_("Export")); @@ -1506,7 +1591,7 @@ g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_export_garmin), appdata); -#ifdef USE_MAEMO +#ifdef USE_BREAD_CRUMB_TRAIL appdata->menu_search = #endif item = gtk_menu_item_new_with_label( _("Search...") ); @@ -1539,7 +1624,7 @@ g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_paste), appdata); #endif - item = gtk_menu_item_new_with_label( _("Settings...") ); + item = gtk_menu_item_new_with_label( _("Settings") ); gtk_menu_append(GTK_MENU_SHELL(menu), item); g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_settings), appdata); @@ -1600,6 +1685,7 @@ gtk_box_pack_start(GTK_BOX(appdata->vbox), menu_bar, 0, 0, 0); #endif } +#endif /********************* end of menu **********************/ @@ -1968,7 +2054,12 @@ appdata.vbox = gtk_vbox_new(FALSE, 2); gtk_container_add(GTK_CONTAINER(appdata.window), appdata.vbox); +#ifndef USE_STACKABLE_WINDOW menu_create(&appdata); +#else + hildon_window_set_app_menu(HILDON_WINDOW(appdata.window), + menu_create(&appdata, MENU_GPXLIST)); +#endif #ifdef USE_BREAD_CRUMB_TRAIL appdata.bct = hildon_bread_crumb_trail_new();