Sort headers using clang-tidy
[geeqie.git] / src / bar-gps.cc
index 0f377ee..b17e006 100644 (file)
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#include "main.h"
+#include <config.h>
+
 #ifdef HAVE_LIBCHAMPLAIN
 #ifdef HAVE_LIBCHAMPLAIN_GTK
 
 #include "bar-gps.h"
 
 #include "bar.h"
+#include "compat.h"
+#include "debug.h"
 #include "filedata.h"
+#include "intl.h"
 #include "layout.h"
-#include "metadata.h"
+#include "main-defines.h"
 #include "menu.h"
+#include "metadata.h"
 #include "misc.h"
 #include "rcfile.h"
 #include "thumb.h"
 #include "ui-menu.h"
-#include "uri-utils.h"
 #include "ui-utildlg.h"
+#include "uri-utils.h"
 
-#include <clutter-gtk/clutter-gtk.h>
-#include <champlain/champlain.h>
 #include <champlain-gtk/champlain-gtk.h>
+#include <champlain/champlain.h>
+#include <clutter-gtk/clutter-gtk.h>
 
 #define MARKER_COLOUR 0x00, 0x00, 0xff, 0xff
 #define TEXT_COLOUR 0x00, 0x00, 0x00, 0xff
@@ -98,14 +103,14 @@ static GtkTargetEntry bar_pane_gps_drop_types[] = {
 };
 static gint n_gps_entry_drop_types = 2;
 
-static void bar_pane_gps_close_cancel_cb(GenericDialog *UNUSED(gd), gpointer data)
+static void bar_pane_gps_close_cancel_cb(GenericDialog *, gpointer data)
 {
        auto pgd = static_cast<PaneGPSData *>(data);
 
        g_list_free(pgd->geocode_list);
 }
 
-static void bar_pane_gps_close_save_cb(GenericDialog *UNUSED(gd), gpointer data)
+static void bar_pane_gps_close_save_cb(GenericDialog *, gpointer data)
 {
        auto pgd = static_cast<PaneGPSData *>(data);
        FileData *fd;
@@ -122,21 +127,24 @@ static void bar_pane_gps_close_save_cb(GenericDialog *UNUSED(gd), gpointer data)
                        metadata_write_GPS_coord(fd, "Xmp.exif.GPSLongitude", pgd->dest_longitude);
                        }
                }
-       g_list_free(work);
        g_list_free(pgd->geocode_list);
 }
 
- static void bar_pane_gps_dnd_receive(GtkWidget *pane, GdkDragContext *UNUSED(context),
+ static void bar_pane_gps_dnd_receive(GtkWidget *pane, GdkDragContext *,
                                                                          gint x, gint y,
                                                                          GtkSelectionData *selection_data, guint info,
-                                                                         guint UNUSED(time), gpointer UNUSED(data))
+                                                                         guint, gpointer)
 {
        PaneGPSData *pgd;
        GenericDialog *gd;
-       FileData *fd, *fd_found;
-       GList *work, *list;
-       gint count, geocoded_count;
-       gdouble latitude, longitude;
+       FileData *fd;
+       FileData *fd_found;
+       GList *work;
+       GList *list;
+       gint count;
+       gint geocoded_count;
+       gdouble latitude;
+       gdouble longitude;
        GString *message;
        gchar *location;
        gchar **latlong;
@@ -174,7 +182,7 @@ static void bar_pane_gps_close_save_cb(GenericDialog *UNUSED(gd), gpointer data)
                                                }
                                        }
                                }
-                       g_list_free(work);
+                       g_list_free(list);
 
                        if(count)
                                {
@@ -192,12 +200,12 @@ static void bar_pane_gps_close_save_cb(GenericDialog *UNUSED(gd), gpointer data)
                                        }
                                if (geocoded_count == 1 && count == 1)
                                        {
-                                       g_string_append_printf(message,
+                                       g_string_append(message,
                                                        _("\nThis image is already geocoded!"));
                                        }
                                else if (geocoded_count == 1 && count > 1)
                                        {
-                                       g_string_append_printf(message,
+                                       g_string_append(message,
                                                        _("\nOne image is already geocoded!"));
                                        }
                                else if (geocoded_count > 1 && count > 1)
@@ -206,22 +214,19 @@ static void bar_pane_gps_close_save_cb(GenericDialog *UNUSED(gd), gpointer data)
                                                        _("\n%i Images are already geocoded!"), geocoded_count);
                                        }
 
-                               location = g_strdup_printf("%lf %lf", pgd->dest_latitude,
-                                                                                                               pgd->dest_longitude);
-                               g_string_append_printf(message, _("\n\nPosition: %s \n"), location);
+                               g_string_append_printf(message, _("\n\nPosition: %lf %lf \n"), pgd->dest_latitude, pgd->dest_longitude);
 
                                gd = generic_dialog_new(_("Geocode images"),
                                                        "geocode_images", nullptr, TRUE,
                                                        bar_pane_gps_close_cancel_cb, pgd);
-                               generic_dialog_add_message(gd, GTK_STOCK_DIALOG_QUESTION,
+                               generic_dialog_add_message(gd, GQ_ICON_DIALOG_QUESTION,
                                                        _("Write lat/long to meta-data?"),
                                                        message->str, TRUE);
 
-                               generic_dialog_add_button(gd, GTK_STOCK_SAVE, nullptr,
+                               generic_dialog_add_button(gd, GQ_ICON_SAVE, _("Save"),
                                                                                                bar_pane_gps_close_save_cb, TRUE);
 
                                gtk_widget_show(gd->dialog);
-                               g_free(location);
                                g_string_free(message, TRUE);
                                }
                        }
@@ -255,8 +260,7 @@ static void bar_pane_gps_dnd_init(gpointer data)
 
 }
 
-static gboolean bar_gps_draw_direction (ClutterCanvas *UNUSED(canvas),
-                               cairo_t *cr, gpointer UNUSED(data))
+static gboolean bar_gps_draw_direction (ClutterCanvas *, cairo_t *cr, gpointer)
 {
        cairo_set_source_rgb(cr, 255, 0, 0);
 
@@ -286,23 +290,26 @@ static void bar_pane_gps_thumb_done_cb(ThumbLoader *tl, gpointer data)
        thumb_loader_free(tl);
 }
 
-static void bar_pane_gps_thumb_error_cb(ThumbLoader *tl, gpointer UNUSED(data))
+static void bar_pane_gps_thumb_error_cb(ThumbLoader *tl, gpointer)
 {
        thumb_loader_free(tl);
 }
 
-static gboolean bar_pane_gps_marker_keypress_cb(GtkWidget *widget, ClutterButtonEvent *bevent, gpointer UNUSED(data))
+static gboolean bar_pane_gps_marker_keypress_cb(GtkWidget *widget, ClutterButtonEvent *bevent, gpointer)
 {
        FileData *fd;
-       ClutterActor *label_marker, *parent_marker;
+       ClutterActor *label_marker;
+       ClutterActor *parent_marker;
        ClutterColor marker_colour = { MARKER_COLOUR };
        ClutterColor text_colour = { TEXT_COLOUR };
        ClutterColor thumb_colour = { THUMB_COLOUR };
        gchar *current_text;
-       ClutterActor *actor, *direction;
+       ClutterActor *actor;
+       ClutterActor *direction;
        ClutterActor *current_image;
        GString *text;
-       gint height, width;
+       gint height;
+       gint width;
        GdkPixbufRotation rotate;
        gchar *altitude = nullptr;
        ThumbLoader *tl;
@@ -332,7 +339,7 @@ static gboolean bar_pane_gps_marker_keypress_cb(GtkWidget *widget, ClutterButton
                         * If not, call the thumb_loader to generate a thumbnail and update the marker later in the
                         * thumb_loader callback
                         */
-                        if (fd->thumb_pixbuf != nullptr)
+                       if (fd->thumb_pixbuf != nullptr)
                                {
                                actor = gtk_clutter_texture_new();
                                gtk_clutter_texture_set_from_pixbuf(GTK_CLUTTER_TEXTURE(actor), fd->thumb_pixbuf, nullptr);
@@ -430,7 +437,8 @@ static gboolean bar_pane_gps_create_markers_cb(gpointer data)
        gdouble longitude;
        gdouble compass;
        FileData *fd;
-       ClutterActor *parent_marker, *label_marker;
+       ClutterActor *parent_marker;
+       ClutterActor *label_marker;
        ClutterActor *direction;
        ClutterColor marker_colour = { MARKER_COLOUR };
        ClutterColor thumb_colour = { THUMB_COLOUR };
@@ -506,7 +514,7 @@ static gboolean bar_pane_gps_create_markers_cb(gpointer data)
                        champlain_bounding_box_get_center(pgd->bbox, &latitude, &longitude);
                        champlain_view_go_to(CHAMPLAIN_VIEW(pgd->gps_view), latitude, longitude);
                        }
-                else if (pgd->num_added > 1)
+               else if (pgd->num_added > 1)
                        {
                        champlain_view_ensure_visible(CHAMPLAIN_VIEW(pgd->gps_view), pgd->bbox, TRUE);
                        }
@@ -566,7 +574,7 @@ static void bar_pane_gps_update(PaneGPSData *pgd)
        pgd->num_added = 0;
 }
 
-void bar_pane_gps_set_map_source(PaneGPSData *pgd, const gchar *map_id)
+static void bar_pane_gps_set_map_source(PaneGPSData *pgd, const gchar *map_id)
 {
        ChamplainMapSource *map_source;
        ChamplainMapSourceFactory *map_factory;
@@ -582,7 +590,7 @@ void bar_pane_gps_set_map_source(PaneGPSData *pgd, const gchar *map_id)
        g_object_unref(map_factory);
 }
 
-void bar_pane_gps_enable_markers_checked_toggle_cb(GtkWidget *UNUSED(menu_widget), gpointer data)
+static void bar_pane_gps_enable_markers_checked_toggle_cb(GtkWidget *, gpointer data)
 {
        auto pgd = static_cast<PaneGPSData *>(data);
 
@@ -596,7 +604,7 @@ void bar_pane_gps_enable_markers_checked_toggle_cb(GtkWidget *UNUSED(menu_widget
                }
 }
 
-static void bar_pane_gps_centre_map_checked_toggle_cb(GtkWidget *UNUSED(menu_widget), gpointer data)
+static void bar_pane_gps_centre_map_checked_toggle_cb(GtkWidget *, gpointer data)
 {
        auto pgd = static_cast<PaneGPSData *>(data);
 
@@ -667,11 +675,10 @@ static void bar_pane_gps_write_config(GtkWidget *pane, GString *outstr, gint ind
        gint zoom;
        ChamplainMapSource *mapsource;
        const gchar *map_id;
-       gchar *str = nullptr;
-       GString *buffer = g_string_new(str);
        gdouble position;
        gint int_position;
-       gint w, h;
+       gint w;
+       gint h;
 
        pgd = static_cast<PaneGPSData *>(g_object_get_data(G_OBJECT(pane), "pane_data"));
        if (!pgd) return;
@@ -693,6 +700,8 @@ static void bar_pane_gps_write_config(GtkWidget *pane, GString *outstr, gint ind
        WRITE_NL();
        write_char_option(outstr, indent, "map-id", map_id);
 
+       GString *buffer = g_string_new(nullptr);
+
        g_object_get(G_OBJECT(pgd->gps_view), "zoom-level", &zoom, NULL);
        g_string_printf(buffer, "%d", zoom);
        WRITE_NL();
@@ -714,8 +723,8 @@ static void bar_pane_gps_write_config(GtkWidget *pane, GString *outstr, gint ind
        WRITE_NL();
        WRITE_STRING("/>");
 
-  g_object_unref(mapsource);
-
+       g_string_free(buffer, TRUE);
+       g_object_unref(mapsource);
 }
 
 static void bar_pane_gps_slider_changed_cb(GtkScaleButton *slider,
@@ -733,9 +742,7 @@ static void bar_pane_gps_slider_changed_cb(GtkScaleButton *slider,
        g_string_free(message, TRUE);
 
 }
-static void bar_pane_gps_view_state_changed_cb(ChamplainView *view,
-                                              GParamSpec *UNUSED(gobject),
-                                              gpointer data)
+static void bar_pane_gps_view_state_changed_cb(ChamplainView *view, GParamSpec *, gpointer data)
 {
        auto pgd = static_cast<PaneGPSData *>(data);
        ChamplainState status;
@@ -773,7 +780,7 @@ static void bar_pane_gps_notify_cb(FileData *fd, NotifyType type, gpointer data)
                }
 }
 
-const gchar *bar_pane_gps_get_map_id(PaneGPSData *pgd)
+static const gchar *bar_pane_gps_get_map_id(PaneGPSData *pgd)
 {
        const gchar *map_id;
        ChamplainMapSource *mapsource;
@@ -832,7 +839,7 @@ static GtkWidget *bar_pane_gps_menu(PaneGPSData *pgd)
 
 /* Determine if the map is to be re-centred on the marker when another photo is selected
  */
-void bar_pane_gps_map_centreing(PaneGPSData *pgd)
+static void bar_pane_gps_map_centreing(PaneGPSData *pgd)
 {
        GenericDialog *gd;
        GString *message = g_string_new("");
@@ -850,16 +857,23 @@ void bar_pane_gps_map_centreing(PaneGPSData *pgd)
 
        gd = generic_dialog_new(_("Map centering"),
                                "map_centering", nullptr, TRUE, nullptr, pgd);
-       generic_dialog_add_message(gd, GTK_STOCK_DIALOG_INFO,
+       generic_dialog_add_message(gd, GQ_ICON_DIALOG_INFO,
                                "Map Centering", message->str, TRUE);
-       generic_dialog_add_button(gd, GTK_STOCK_OK, nullptr, nullptr, TRUE);
+       generic_dialog_add_button(gd, GQ_ICON_OK, "OK", nullptr, TRUE);
 
        gtk_widget_show(gd->dialog);
 
        g_string_free(message, TRUE);
 }
 
-static gboolean bar_pane_gps_map_keypress_cb(GtkWidget *UNUSED(widget), GdkEventButton *bevent, gpointer data)
+#ifdef HAVE_GTK4
+static gboolean bar_pane_gps_map_keypress_cb(GtkWidget *, GdkEventButton *bevent, gpointer data)
+{
+/* @FIXME GTK4 stub */
+       return FALSE;
+}
+#else
+static gboolean bar_pane_gps_map_keypress_cb(GtkWidget *, GdkEventButton *bevent, gpointer data)
 {
        auto pgd = static_cast<PaneGPSData *>(data);
        GtkWidget *menu;
@@ -872,12 +886,14 @@ static gboolean bar_pane_gps_map_keypress_cb(GtkWidget *UNUSED(widget), GdkEvent
                gtk_menu_popup_at_pointer(GTK_MENU(menu), nullptr);
                return TRUE;
                }
-       else if (bevent->button == MOUSE_BUTTON_MIDDLE)
+
+       if (bevent->button == MOUSE_BUTTON_MIDDLE)
                {
                bar_pane_gps_map_centreing(pgd);
                return TRUE;
                }
-       else if (bevent->button == MOUSE_BUTTON_LEFT)
+
+       if (bevent->button == MOUSE_BUTTON_LEFT)
                {
                clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
                geo_coords = g_strdup_printf("%lf %lf",
@@ -891,13 +907,12 @@ static gboolean bar_pane_gps_map_keypress_cb(GtkWidget *UNUSED(widget), GdkEvent
 
                return TRUE;
                }
-       else
-               {
-               return FALSE;
-               }
+
+       return FALSE;
 }
+#endif
 
-static void bar_pane_gps_destroy(GtkWidget *UNUSED(widget), gpointer data)
+static void bar_pane_gps_destroy(GtkWidget *, gpointer data)
 {
        auto pgd = static_cast<PaneGPSData *>(data);
 
@@ -921,12 +936,16 @@ GtkWidget *bar_pane_gps_new(const gchar *id, const gchar *title, const gchar *ma
                                        gboolean expanded, gint height)
 {
        PaneGPSData *pgd;
-       GtkWidget *vbox, *frame;
+       GtkWidget *vbox;
+       GtkWidget *frame;
        GtkWidget *gpswidget;
-       GtkWidget *status, *state, *progress, *slider;
+       GtkWidget *status;
+       GtkWidget *state;
+       GtkWidget *progress;
+       GtkWidget *slider;
        ChamplainMarkerLayer *layer;
        ChamplainView *view;
-       const gchar *slider_list[] = {"zoom-in", "zoom-out", nullptr};
+       const gchar *slider_list[] = {GQ_ICON_ZOOM_IN, GQ_ICON_ZOOM_OUT, nullptr};
        const gchar **slider_icons = slider_list;
 
        pgd = g_new0(PaneGPSData, 1);
@@ -948,11 +967,15 @@ GtkWidget *bar_pane_gps_new(const gchar *id, const gchar *title, const gchar *ma
        gpswidget = gtk_champlain_embed_new();
        view = gtk_champlain_embed_get_view(GTK_CHAMPLAIN_EMBED(gpswidget));
 
-       gtk_box_pack_start(GTK_BOX(vbox), gpswidget, TRUE, TRUE, 0);
+       gq_gtk_box_pack_start(GTK_BOX(vbox), gpswidget, TRUE, TRUE, 0);
        gtk_container_add(GTK_CONTAINER(frame), vbox);
 
        status = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0);
+#ifdef HAVE_GTK4
+       slider = gtk_scale_button_new(1, 17, 1, slider_icons);
+#else
        slider = gtk_scale_button_new(GTK_ICON_SIZE_SMALL_TOOLBAR, 1, 17, 1, slider_icons);
+#endif
        gtk_widget_set_tooltip_text(slider, _("Zoom"));
        gtk_scale_button_set_value(GTK_SCALE_BUTTON(slider), static_cast<gdouble>(zoom));
 
@@ -965,10 +988,10 @@ GtkWidget *bar_pane_gps_new(const gchar *id, const gchar *title, const gchar *ma
        gtk_label_set_ellipsize(GTK_LABEL(state), PANGO_ELLIPSIZE_START);
        gtk_widget_set_tooltip_text(state, _("Zoom level"));
 
-       gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(slider), FALSE, FALSE, 0);
-       gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(state), FALSE, FALSE, 5);
-       gtk_box_pack_end(GTK_BOX(status), GTK_WIDGET(progress), FALSE, FALSE, 0);
-       gtk_box_pack_end(GTK_BOX(vbox),GTK_WIDGET(status), FALSE, FALSE, 0);
+       gq_gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(slider), FALSE, FALSE, 0);
+       gq_gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(state), FALSE, FALSE, 5);
+       gq_gtk_box_pack_end(GTK_BOX(status), GTK_WIDGET(progress), FALSE, FALSE, 0);
+       gq_gtk_box_pack_end(GTK_BOX(vbox),GTK_WIDGET(status), FALSE, FALSE, 0);
 
        layer = champlain_marker_layer_new();
        champlain_view_add_layer(view, CHAMPLAIN_LAYER(layer));
@@ -995,7 +1018,7 @@ GtkWidget *bar_pane_gps_new(const gchar *id, const gchar *title, const gchar *ma
        g_object_set_data(G_OBJECT(pgd->widget), "pane_data", pgd);
        g_signal_connect(G_OBJECT(pgd->widget), "destroy", G_CALLBACK(bar_pane_gps_destroy), pgd);
 
-       gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
+       gq_gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
 
        gtk_widget_set_size_request(pgd->widget, -1, height);
 
@@ -1072,8 +1095,10 @@ void bar_pane_gps_update_from_config(GtkWidget *pane, const gchar **attribute_na
 {
        PaneGPSData *pgd;
        gint zoom;
-       gint int_longitude, int_latitude;
-       gdouble longitude, latitude;
+       gint int_longitude;
+       gint int_latitude;
+       gdouble longitude;
+       gdouble latitude;
 
        pgd = static_cast<PaneGPSData *>(g_object_get_data(G_OBJECT(pane), "pane_data"));
        if (!pgd)
@@ -1103,13 +1128,13 @@ void bar_pane_gps_update_from_config(GtkWidget *pane, const gchar **attribute_na
                        }
                if (READ_INT_CLAMP_FULL("longitude", int_longitude, -90000000, +90000000))
                        {
-                       longitude = int_longitude / 1000000;
+                       longitude = int_longitude / 1000000.0;
                        g_object_set(G_OBJECT(CHAMPLAIN_VIEW(pgd->gps_view)), "longitude", longitude, NULL);
                        continue;
                        }
                if (READ_INT_CLAMP_FULL("latitude", int_latitude, -90000000, +90000000))
                        {
-                       latitude = int_latitude / 1000000;
+                       latitude = int_latitude / 1000000.0;
                        g_object_set(G_OBJECT(CHAMPLAIN_VIEW(pgd->gps_view)), "latitude", latitude, NULL);
                        continue;
                        }