Mercurial > geeqie
comparison src/bar_gps.c @ 1733:b52deba688e9
Fix up compilation issues related to libchamplain.
See http://sourceforge.net/tracker/index.php?func=detail&aid=2848469&group_id=222125&atid=1054680
author | zas_ |
---|---|
date | Fri, 04 Sep 2009 15:53:04 +0000 |
parents | fc147a2d8aaf |
children | a4f3c93294c9 |
comparison
equal
deleted
inserted
replaced
1732:a2dc83823432 | 1733:b52deba688e9 |
---|---|
342 void bar_pane_gps_set_map_source(PaneGPSData *pgd, const gchar *map_id) | 342 void bar_pane_gps_set_map_source(PaneGPSData *pgd, const gchar *map_id) |
343 { | 343 { |
344 ChamplainMapSource *map_source; | 344 ChamplainMapSource *map_source; |
345 ChamplainMapSourceFactory *map_factory; | 345 ChamplainMapSourceFactory *map_factory; |
346 | 346 |
347 #if CHAMPLAIN_CHECK_VERSION(0,3,2) | |
348 map_factory = champlain_map_source_factory_dup_default(); | |
349 #else | |
347 map_factory = champlain_map_source_factory_get_default(); | 350 map_factory = champlain_map_source_factory_get_default(); |
351 #endif | |
348 map_source = champlain_map_source_factory_create(map_factory, map_id); | 352 map_source = champlain_map_source_factory_create(map_factory, map_id); |
349 | 353 |
350 if (map_source != NULL) | 354 if (map_source != NULL) |
351 { | 355 { |
352 g_object_set(G_OBJECT(pgd->gps_view), "map-source", map_source, NULL); | 356 g_object_set(G_OBJECT(pgd->gps_view), "map-source", map_source, NULL); |
486 g_object_unref(mapsource); | 490 g_object_unref(mapsource); |
487 | 491 |
488 } | 492 } |
489 | 493 |
490 static void bar_pane_gps_slider_changed_cb(GtkScaleButton *slider, | 494 static void bar_pane_gps_slider_changed_cb(GtkScaleButton *slider, |
491 gdouble zoom, | 495 gdouble zoom, |
492 gpointer data) | 496 gpointer data) |
493 { | 497 { |
494 PaneGPSData *pgd = data; | 498 PaneGPSData *pgd = data; |
495 GString *message; | 499 GString *message; |
496 | 500 |
497 message = g_string_new(""); | 501 message = g_string_new(""); |
501 gtk_widget_set_tooltip_text(GTK_WIDGET(slider), message->str); | 505 gtk_widget_set_tooltip_text(GTK_WIDGET(slider), message->str); |
502 g_string_free(message, TRUE); | 506 g_string_free(message, TRUE); |
503 | 507 |
504 } | 508 } |
505 static void bar_pane_gps_view_state_changed_cb(ChamplainView *view, | 509 static void bar_pane_gps_view_state_changed_cb(ChamplainView *view, |
506 GParamSpec *gobject, | 510 GParamSpec *gobject, |
507 gpointer data) | 511 gpointer data) |
508 { | 512 { |
509 PaneGPSData *pgd = data; | 513 PaneGPSData *pgd = data; |
510 ChamplainState status; | 514 ChamplainState status; |
511 gint zoom; | 515 gint zoom; |
512 GString *message; | 516 GString *message; |
564 ChamplainMapSourceDesc *map_desc; | 568 ChamplainMapSourceDesc *map_desc; |
565 const gchar *current; | 569 const gchar *current; |
566 | 570 |
567 menu = popup_menu_short_lived(); | 571 menu = popup_menu_short_lived(); |
568 | 572 |
573 #if CHAMPLAIN_CHECK_VERSION(0,3,2) | |
574 map_factory = champlain_map_source_factory_dup_default(); | |
575 map_list = champlain_map_source_factory_dup_list(map_factory); | |
576 #else | |
569 map_factory = champlain_map_source_factory_get_default(); | 577 map_factory = champlain_map_source_factory_get_default(); |
570 map_list = champlain_map_source_factory_get_list(map_factory); | 578 map_list = champlain_map_source_factory_get_list(map_factory); |
579 #endif | |
571 current = bar_pane_gps_get_map_id(pgd); | 580 current = bar_pane_gps_get_map_id(pgd); |
572 | 581 |
573 while (map_list) | 582 while (map_list) |
574 { | 583 { |
575 map_desc = (ChamplainMapSourceDesc *)(map_list->data); | 584 map_desc = (ChamplainMapSourceDesc *)(map_list->data); |
674 PaneGPSData *pgd; | 683 PaneGPSData *pgd; |
675 GtkWidget *vbox, *scrolled; | 684 GtkWidget *vbox, *scrolled; |
676 GtkWidget *gpswidget, *viewport; | 685 GtkWidget *gpswidget, *viewport; |
677 GtkWidget *status, *state, *progress, *slider; | 686 GtkWidget *status, *state, *progress, *slider; |
678 ChamplainLayer *layer; | 687 ChamplainLayer *layer; |
679 ClutterActor *view; | 688 ChamplainView *view; |
680 const gchar *slider_list[] = {GTK_STOCK_ZOOM_IN, GTK_STOCK_ZOOM_OUT, NULL}; | 689 const gchar *slider_list[] = {GTK_STOCK_ZOOM_IN, GTK_STOCK_ZOOM_OUT, NULL}; |
681 const gchar **slider_icons = slider_list; | 690 const gchar **slider_icons = slider_list; |
682 | 691 |
683 pgd = g_new0(PaneGPSData, 1); | 692 pgd = g_new0(PaneGPSData, 1); |
684 | 693 |
694 | 703 |
695 scrolled = gtk_scrolled_window_new(NULL, NULL); | 704 scrolled = gtk_scrolled_window_new(NULL, NULL); |
696 vbox = gtk_vbox_new(FALSE, 0); | 705 vbox = gtk_vbox_new(FALSE, 0); |
697 | 706 |
698 #ifdef GTK_CHAMPLAIN_EMBED | 707 #ifdef GTK_CHAMPLAIN_EMBED |
699 gpswidget = gtk_champlain_embed_new (); | 708 gpswidget = gtk_champlain_embed_new(); |
700 view = gtk_champlain_embed_get_view (GTK_CHAMPLAIN_EMBED (gpswidget)); | 709 view = gtk_champlain_embed_get_view(GTK_CHAMPLAIN_EMBED(gpswidget)); |
701 #else | 710 #else |
702 view = champlain_view_new(); | 711 view = champlain_view_new(); |
703 gpswidget = champlain_view_embed_new(CHAMPLAIN_VIEW(view)); | 712 gpswidget = champlain_view_embed_new(view); |
704 #endif | 713 #endif |
705 viewport = gtk_viewport_new(NULL, NULL); | 714 viewport = gtk_viewport_new(NULL, NULL); |
706 | 715 |
707 gtk_container_add(GTK_CONTAINER(viewport), gpswidget); | 716 gtk_container_add(GTK_CONTAINER(viewport), gpswidget); |
708 gtk_box_pack_start(GTK_BOX(vbox),viewport, TRUE, TRUE, 0); | 717 gtk_box_pack_start(GTK_BOX(vbox),viewport, TRUE, TRUE, 0); |
721 gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(state), FALSE, FALSE, 5); | 730 gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(state), FALSE, FALSE, 5); |
722 gtk_box_pack_end(GTK_BOX(status), GTK_WIDGET(progress), FALSE, FALSE, 0); | 731 gtk_box_pack_end(GTK_BOX(status), GTK_WIDGET(progress), FALSE, FALSE, 0); |
723 gtk_box_pack_end(GTK_BOX(vbox),GTK_WIDGET(status), FALSE, FALSE, 0); | 732 gtk_box_pack_end(GTK_BOX(vbox),GTK_WIDGET(status), FALSE, FALSE, 0); |
724 | 733 |
725 layer = champlain_layer_new(); | 734 layer = champlain_layer_new(); |
726 champlain_view_add_layer(CHAMPLAIN_VIEW(view), layer); | 735 champlain_view_add_layer(view, layer); |
727 | 736 |
728 pgd->icon_layer = layer; | 737 pgd->icon_layer = layer; |
729 pgd->gps_view = view; | 738 pgd->gps_view = CLUTTER_ACTOR(view); |
730 pgd->widget = scrolled; | 739 pgd->widget = scrolled; |
731 pgd->progress = progress; | 740 pgd->progress = progress; |
732 pgd->slider = slider; | 741 pgd->slider = slider; |
733 pgd->state = state; | 742 pgd->state = state; |
734 | 743 |
735 bar_pane_gps_set_map_source(pgd, map_id); | 744 bar_pane_gps_set_map_source(pgd, map_id); |
736 | 745 |
737 g_object_set(G_OBJECT(CHAMPLAIN_VIEW(view)), "scroll-mode", CHAMPLAIN_SCROLL_MODE_KINETIC, | 746 g_object_set(G_OBJECT(view), "scroll-mode", CHAMPLAIN_SCROLL_MODE_KINETIC, |
738 "zoom-level", zoom, | 747 "zoom-level", zoom, |
739 "keep-center-on-resize", TRUE, | 748 "keep-center-on-resize", TRUE, |
740 "decel-rate", 1.0, | 749 "decel-rate", 1.0, |
741 "show-license", TRUE, | 750 "show-license", TRUE, |
742 "zoom-on-double-click", FALSE, | 751 "zoom-on-double-click", FALSE, |
743 "max-zoom-level", 17, | 752 "max-zoom-level", 17, |
744 "min-zoom-level", 1, | 753 "min-zoom-level", 1, |
745 NULL); | 754 NULL); |
746 champlain_view_center_on(CHAMPLAIN_VIEW(view), latitude, longitude); | 755 champlain_view_center_on(view, latitude, longitude); |
747 pgd->centre_map_checked = TRUE; | 756 pgd->centre_map_checked = TRUE; |
748 g_object_set_data(G_OBJECT(pgd->widget), "pane_data", pgd); | 757 g_object_set_data(G_OBJECT(pgd->widget), "pane_data", pgd); |
749 g_signal_connect(G_OBJECT(pgd->widget), "destroy", G_CALLBACK(bar_pane_gps_destroy), pgd); | 758 g_signal_connect(G_OBJECT(pgd->widget), "destroy", G_CALLBACK(bar_pane_gps_destroy), pgd); |
750 | 759 |
751 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN); | 760 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN); |