GTK4: GtkClipboard
authorColin Clark <colin.clark@cclark.uk>
Mon, 25 Sep 2023 10:23:15 +0000 (11:23 +0100)
committerColin Clark <colin.clark@cclark.uk>
Mon, 25 Sep 2023 10:23:15 +0000 (11:23 +0100)
GTK4 migration

GtkClipboard API is removed and replaced by GdkClipboard. Stubs have
been created for GTK4 until an error-free compilation can be made.

src/advanced-exif.cc
src/bar-exif.cc
src/bar-gps.cc
src/layout-image.cc
src/utilops.cc

index a62b6f1..3cfc33b 100644 (file)
@@ -330,6 +330,13 @@ static gint advanced_exif_sort_cb(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIt
        return ret;
 }
 
+#ifdef HAVE_GTK4
+static gboolean advanced_exif_mouseclick(GtkWidget *, GdkEventButton *, gpointer data)
+{
+/* @FIXME GTK4 stub */
+       return TRUE;
+}
+#else
 static gboolean advanced_exif_mouseclick(GtkWidget *, GdkEventButton *, gpointer data)
 {
        auto ew = static_cast<ExifWin *>(data);
@@ -363,6 +370,7 @@ static gboolean advanced_exif_mouseclick(GtkWidget *, GdkEventButton *, gpointer
 
        return TRUE;
 }
+#endif
 
 static gboolean advanced_exif_keypress(GtkWidget *, GdkEventKey *event, gpointer data)
 {
index 8b9b14d..9dab63f 100644 (file)
@@ -602,6 +602,12 @@ static void bar_pane_exif_delete_entry_cb(GtkWidget *, gpointer data)
        g_object_unref(entry);
 }
 
+#ifdef HAVE_GTK4
+static void bar_pane_exif_copy_entry_cb(GtkWidget *, gpointer data)
+{
+/* @FIXME GTK4 stub */
+}
+#else
 static void bar_pane_exif_copy_entry_cb(GtkWidget *, gpointer data)
 {
        auto widget = static_cast<GtkWidget *>(data);
@@ -614,6 +620,7 @@ static void bar_pane_exif_copy_entry_cb(GtkWidget *, gpointer data)
        clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
        gtk_clipboard_set_text(clipboard, value, -1);
 }
+#endif
 
 static void bar_pane_exif_toggle_show_all_cb(GtkWidget *, gpointer data)
 {
@@ -665,6 +672,13 @@ static gboolean bar_pane_exif_menu_cb(GtkWidget *widget, GdkEventButton *bevent,
        return FALSE;
 }
 
+#ifdef HAVE_GTK4
+static gboolean bar_pane_exif_copy_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer)
+{
+/* @FIXME GTK4 stub */
+       return FALSE;
+}
+#else
 static gboolean bar_pane_exif_copy_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer)
 {
        const gchar *value;
@@ -683,8 +697,7 @@ static gboolean bar_pane_exif_copy_cb(GtkWidget *widget, GdkEventButton *bevent,
 
        return FALSE;
 }
-
-
+#endif
 
 static void bar_pane_exif_entry_write_config(GtkWidget *entry, GString *outstr, gint indent)
 {
index e323b29..c03a7e6 100644 (file)
@@ -852,6 +852,13 @@ static void bar_pane_gps_map_centreing(PaneGPSData *pgd)
        g_string_free(message, TRUE);
 }
 
+#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);
@@ -889,6 +896,7 @@ static gboolean bar_pane_gps_map_keypress_cb(GtkWidget *, GdkEventButton *bevent
                return FALSE;
                }
 }
+#endif
 
 static void bar_pane_gps_destroy(GtkWidget *, gpointer data)
 {
index bea2029..885f7a8 100644 (file)
@@ -595,6 +595,12 @@ static void li_pop_menu_copy_path_unquoted_cb(GtkWidget *, gpointer data)
        file_util_copy_path_to_clipboard(layout_image_get_fd(lw), FALSE);
 }
 
+#ifdef HAVE_GTK4
+static void li_pop_menu_copy_image_cb(GtkWidget *, gpointer data)
+{
+/* @FIXME GTK4 stub */
+}
+#else
 static void li_pop_menu_copy_image_cb(GtkWidget *, gpointer data)
 {
        auto lw = static_cast<LayoutWindow *>(data);
@@ -605,6 +611,7 @@ static void li_pop_menu_copy_image_cb(GtkWidget *, gpointer data)
        if (!pixbuf) return;
        gtk_clipboard_set_image(gtk_clipboard_get(GDK_SELECTION_CLIPBOARD), pixbuf);
 }
+#endif
 
 static void li_pop_menu_move_cb(GtkWidget *widget, gpointer data)
 {
index 719c0e1..44ab796 100644 (file)
@@ -3143,6 +3143,12 @@ void file_util_rename_dir(FileData *source_fd, const gchar *new_path, GtkWidget
  *
  *
  */
+#ifdef HAVE_GTK4
+static void clipboard_get_func(GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, gpointer data)
+{
+/* @FIXME GTK4 stub */
+}
+#else
 static void clipboard_get_func(GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, gpointer data)
 {
        auto cbd = static_cast<ClipboardData *>(data);
@@ -3199,6 +3205,7 @@ static void clipboard_get_func(GtkClipboard *clipboard, GtkSelectionData *select
 
        g_string_free(path_list_str, TRUE);
 }
+#endif
 
 /**
  * @brief