diff options
Diffstat (limited to 'src')
36 files changed, 714 insertions, 509 deletions
diff --git a/src/eom-application-activatable.c b/src/eom-application-activatable.c index a63a87f..fae81d6 100644 --- a/src/eom-application-activatable.c +++ b/src/eom-application-activatable.c @@ -5,6 +5,7 @@ * Author: Felix Riemann <[email protected]> * * Copyright (C) 2012 Felix Riemann + * Copyright (C) 2013-2021 MATE developers * * Base on code by: * - Steve Frécinaux <[email protected]> diff --git a/src/eom-application-activatable.h b/src/eom-application-activatable.h index 03e371e..d66d416 100644 --- a/src/eom-application-activatable.h +++ b/src/eom-application-activatable.h @@ -5,6 +5,7 @@ * Author: Felix Riemann <[email protected]> * * Copyright (C) 2012 Felix Riemann + * Copyright (C) 2013-2021 MATE developers * * Base on code by: * - Steve Frécinaux <[email protected]> diff --git a/src/eom-application-internal.h b/src/eom-application-internal.h index 442d7fe..c782f29 100644 --- a/src/eom-application-internal.h +++ b/src/eom-application-internal.h @@ -1,6 +1,7 @@ /* Eye Of Gnome - Application Facade (internal) * * Copyright (C) 2006-2012 The Free Software Foundation + * Copyright (C) 2013-2021 MATE developers * * Author: Lucas Rocha <[email protected]> * @@ -47,7 +48,6 @@ struct _EomApplicationPrivate { PeasExtensionSet *extensions; }; - EggToolbarsModel *eom_application_get_toolbars_model (EomApplication *application); void eom_application_save_toolbars_model (EomApplication *application); diff --git a/src/eom-close-confirmation-dialog.c b/src/eom-close-confirmation-dialog.c index a035f57..b862ba0 100644 --- a/src/eom-close-confirmation-dialog.c +++ b/src/eom-close-confirmation-dialog.c @@ -451,8 +451,6 @@ populate_model (GtkTreeModel *store, GList *imgs) const gchar *name; GdkPixbuf *buf = NULL; GdkPixbuf *buf_scaled = NULL; - int width; - double ratio; img = EOM_IMAGE (imgs->data); @@ -460,9 +458,17 @@ populate_model (GtkTreeModel *store, GList *imgs) buf = eom_image_get_thumbnail (img); if (buf) { - ratio = IMAGE_COLUMN_HEIGHT / (double) gdk_pixbuf_get_height (buf); - width = (int) (gdk_pixbuf_get_width (buf) * ratio); - buf_scaled = gdk_pixbuf_scale_simple (buf, width, IMAGE_COLUMN_HEIGHT, GDK_INTERP_BILINEAR); + int height; + int width; + double ratio; + + height = gdk_pixbuf_get_height (buf); + ratio = IMAGE_COLUMN_HEIGHT / (double) height; + width = gdk_pixbuf_get_width (buf); + buf_scaled = gdk_pixbuf_scale_simple (buf, + (int) (ratio * (double) width), + IMAGE_COLUMN_HEIGHT, + GDK_INTERP_BILINEAR); } else buf_scaled = get_nothumb_pixbuf (); @@ -540,8 +546,6 @@ create_treeview (EomCloseConfirmationDialogPrivate *priv) NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); - - renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("Name", renderer, diff --git a/src/eom-file-chooser.c b/src/eom-file-chooser.c index 009b45b..5d82901 100644 --- a/src/eom-file-chooser.c +++ b/src/eom-file-chooser.c @@ -354,7 +354,6 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data) gchar *mime_type = g_content_type_get_mime_type ( g_file_info_get_content_type (file_info)); - if (G_LIKELY (mime_type)) { gboolean can_thumbnail, has_failed; @@ -379,9 +378,7 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data) set_preview_pixbuf (EOM_FILE_CHOOSER (file_chooser), pixbuf, g_file_info_get_size (file_info)); - if (pixbuf != NULL) { - g_object_unref (pixbuf); - } + g_object_unref (pixbuf); } } diff --git a/src/eom-file-chooser.h b/src/eom-file-chooser.h index f642b6d..9ee5529 100644 --- a/src/eom-file-chooser.h +++ b/src/eom-file-chooser.h @@ -47,14 +47,12 @@ struct _EomFileChooserClass GtkFileChooserDialogClass parent_class; }; - GType eom_file_chooser_get_type (void) G_GNUC_CONST; GtkWidget *eom_file_chooser_new (GtkFileChooserAction action); GdkPixbufFormat *eom_file_chooser_get_format (EomFileChooser *chooser); - G_END_DECLS #endif /* _EOM_FILE_CHOOSER_H_ */ diff --git a/src/eom-image-jpeg.c b/src/eom-image-jpeg.c index 21f67ff..4118d15 100644 --- a/src/eom-image-jpeg.c +++ b/src/eom-image-jpeg.c @@ -73,7 +73,6 @@ struct error_handler_data { char *filename; }; - static void fatal_error_handler (j_common_ptr cinfo) { @@ -103,7 +102,6 @@ fatal_error_handler (j_common_ptr cinfo) g_assert_not_reached (); } - static void output_message_handler (j_common_ptr cinfo) { diff --git a/src/eom-image.c b/src/eom-image.c index 36f6ff2..f24b528 100644 --- a/src/eom-image.c +++ b/src/eom-image.c @@ -700,7 +700,6 @@ eom_image_set_icc_data (EomImage *img, EomMetadataReader *md_reader) priv->profile = eom_metadata_reader_get_icc_profile (md_reader); - } #endif @@ -897,7 +896,6 @@ eom_image_real_load (EomImage *img, gboolean read_only_dimension = (data2read & EOM_IMAGE_DATA_DIMENSION) && ((data2read ^ EOM_IMAGE_DATA_DIMENSION) == 0); - priv = img->priv; g_assert (!read_image_data || priv->image == NULL); @@ -980,8 +978,7 @@ eom_image_real_load (EomImage *img, loader = gdk_pixbuf_loader_new (); } - g_signal_connect_object (G_OBJECT (loader), - "size-prepared", + g_signal_connect_object (loader, "size-prepared", G_CALLBACK (eom_image_size_prepared), img, 0); @@ -1457,8 +1454,7 @@ transfer_progress_cb (goffset cur_bytes, EomImage *image = EOM_IMAGE (user_data); if (cur_bytes > 0) { - g_signal_emit (G_OBJECT(image), - signals[SIGNAL_SAVE_PROGRESS], + g_signal_emit (image, signals[SIGNAL_SAVE_PROGRESS], 0, (gfloat) cur_bytes / (gfloat) total_bytes); } @@ -1880,7 +1876,6 @@ eom_image_save_as_by_info (EomImage *img, EomImageSaveInfo *source, EomImageSave return success; } - /* * This function is extracted from * File: caja/libcaja-private/caja-file.c @@ -1950,7 +1945,7 @@ eom_image_get_caption (EomImage *img) /* Guaranteed to be correct utf8 here */ validated = TRUE; } - } else if (!broken_filenames) { + } else { /* name was valid, no need to re-validate */ validated = TRUE; } @@ -2072,7 +2067,6 @@ eom_image_get_xmp_info (EomImage *img) return data; } - /** * eom_image_get_file: * @img: a #EomImage @@ -2110,7 +2104,7 @@ eom_image_modified (EomImage *img) { g_return_if_fail (EOM_IS_IMAGE (img)); - g_signal_emit (G_OBJECT (img), signals[SIGNAL_CHANGED], 0); + g_signal_emit (img, signals[SIGNAL_CHANGED], 0); } gchar* diff --git a/src/eom-jobs.c b/src/eom-jobs.c index c78b707..7104268 100644 --- a/src/eom-jobs.c +++ b/src/eom-jobs.c @@ -351,6 +351,7 @@ eom_job_model_class_init (EomJobModelClass *class) /** * eom_job_model_new: * @file_list: (element-type GFile): a #GFile list + * @preserve_order: Flag to indicate whether to honor the order of input parameters. * * Creates a new #EomJob model. * @@ -358,13 +359,14 @@ eom_job_model_class_init (EomJobModelClass *class) */ EomJob * -eom_job_model_new (GSList *file_list) +eom_job_model_new (GSList *file_list, gboolean preserve_order) { EomJobModel *job; job = g_object_new (EOM_TYPE_JOB_MODEL, NULL); job->file_list = file_list; + job->preserve_order = preserve_order; return EOM_JOB (job); } @@ -438,7 +440,7 @@ eom_job_model_run (EomJob *ejob) job->store = EOM_LIST_STORE (eom_list_store_new ()); - eom_list_store_add_files (job->store, filtered_list); + eom_list_store_add_files (job->store, filtered_list, job->preserve_order); g_list_free_full (filtered_list, g_object_unref); g_list_free_full (error_list, g_free); @@ -651,8 +653,7 @@ eom_job_save_run (EomJob *ejob) } } - handler_id = g_signal_connect (G_OBJECT (image), - "save-progress", + handler_id = g_signal_connect (image, "save-progress", G_CALLBACK (save_progress_handler), job); @@ -666,7 +667,7 @@ eom_job_save_run (EomJob *ejob) g_object_unref (save_info); if (handler_id != 0) - g_signal_handler_disconnect (G_OBJECT (image), handler_id); + g_signal_handler_disconnect (image, handler_id); eom_image_data_unref (image); @@ -782,8 +783,7 @@ eom_job_save_as_run (EomJob *ejob) g_assert (ejob->error == NULL); - handler_id = g_signal_connect (G_OBJECT (image), - "save-progress", + handler_id = g_signal_connect (image, "save-progress", G_CALLBACK (save_progress_handler), job); @@ -829,7 +829,7 @@ eom_job_save_as_run (EomJob *ejob) g_object_unref (dest_info); if (handler_id != 0) - g_signal_handler_disconnect (G_OBJECT (image), handler_id); + g_signal_handler_disconnect (image, handler_id); eom_image_data_unref (image); diff --git a/src/eom-jobs.h b/src/eom-jobs.h index 1667d43..37bc26e 100644 --- a/src/eom-jobs.h +++ b/src/eom-jobs.h @@ -115,7 +115,6 @@ typedef struct _EomJobCopyClass EomJobCopyClass; #define EOM_JOB_COPY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EOM_TYPE_JOB_COPY, EomJobCopyClass)) #define EOM_IS_JOB_COPY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), EOM_TYPE_JOB_COPY)) - struct _EomJob { GObject parent; @@ -164,6 +163,7 @@ struct _EomJobModel EomJob parent; EomListStore *store; GSList *file_list; + gboolean preserve_order; }; struct _EomJobModelClass @@ -248,7 +248,8 @@ EomJob *eom_job_load_new (EomImage *image, /* EomJobModel */ GType eom_job_model_get_type (void) G_GNUC_CONST; -EomJob *eom_job_model_new (GSList *file_list); +EomJob *eom_job_model_new (GSList *file_list, + gboolean preserve_order); /* EomJobTransform */ GType eom_job_transform_get_type (void) G_GNUC_CONST; diff --git a/src/eom-list-store.c b/src/eom-list-store.c index 900cbdf..3d1a9c6 100644 --- a/src/eom-list-store.c +++ b/src/eom-list-store.c @@ -34,7 +34,8 @@ struct _EomListStorePrivate { gint initial_image; /* The image that should be selected firstly by the view. */ GdkPixbuf *busy_image; /* Loading image icon */ GdkPixbuf *missing_image; /* Missing image icon */ - GMutex mutex; /* Mutex for saving the jobs in the model */ + GMutex mutex; /* Mutex for saving the jobs in the model */ + gboolean preserve_order; /* If TRUE, preserves the original order of files */ }; G_DEFINE_TYPE_WITH_PRIVATE (EomListStore, eom_list_store, GTK_TYPE_LIST_STORE); @@ -529,6 +530,7 @@ eom_list_store_append_directory (EomListStore *store, * eom_list_store_add_files: * @store: An #EomListStore. * @file_list: (element-type GFile): A %NULL-terminated list of #GFile's. + * @preserve_order: Flag to indicate whether to honor the order of input parameters. * * Adds a list of #GFile's to @store. The given list * must be %NULL-terminated. @@ -540,7 +542,7 @@ eom_list_store_append_directory (EomListStore *store, * **/ void -eom_list_store_add_files (EomListStore *store, GList *file_list) +eom_list_store_add_files (EomListStore *store, GList *file_list, gboolean preserve_order) { GList *it; GFileInfo *file_info; @@ -624,7 +626,11 @@ eom_list_store_add_files (EomListStore *store, GList *file_list) g_free (caption); } + /* Set the sort behaviour depending on the toggle option. + If preserve_order is TRUE, then preserve the order in which files were provided. + Otherwise, use the default sort function. */ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), + preserve_order ? GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID : \ GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); @@ -821,7 +827,6 @@ eom_list_store_remove_thumbnail_job (EomListStore *store, g_mutex_unlock (&store->priv->mutex); } - } static void diff --git a/src/eom-list-store.h b/src/eom-list-store.h index 6536b10..bc5052b 100644 --- a/src/eom-list-store.h +++ b/src/eom-list-store.h @@ -81,7 +81,8 @@ void eom_list_store_append_image (EomListStore *store, EomImage *image); void eom_list_store_add_files (EomListStore *store, - GList *file_list); + GList *file_list, + gboolean preserve_order); void eom_list_store_remove_image (EomListStore *store, EomImage *image); diff --git a/src/eom-metadata-details.c b/src/eom-metadata-details.c index 9947300..032de24 100644 --- a/src/eom-metadata-details.c +++ b/src/eom-metadata-details.c @@ -375,7 +375,6 @@ eom_exif_entry_get_value (ExifEntry *e, ExifRational r; gfloat h = 0., m = 0., s = 0.; - rational_size = exif_format_get_size (EXIF_FORMAT_RATIONAL); if (G_UNLIKELY (e->components != 3 || e->format != EXIF_FORMAT_RATIONAL)) diff --git a/src/eom-metadata-reader-jpg.c b/src/eom-metadata-reader-jpg.c index 9c1897e..b21f3c1 100644 --- a/src/eom-metadata-reader-jpg.c +++ b/src/eom-metadata-reader-jpg.c @@ -52,7 +52,6 @@ typedef enum { EJA_OTHER } EomJpegApp1Type; - #define EOM_JPEG_MARKER_START 0xFF #define EOM_JPEG_MARKER_APP1 0xE1 #define EOM_JPEG_MARKER_APP2 0xE2 @@ -89,14 +88,12 @@ struct _EomMetadataReaderJpgPrivate { static void eom_metadata_reader_jpg_init_emr_iface (gpointer g_iface, gpointer iface_data); - G_DEFINE_TYPE_WITH_CODE (EomMetadataReaderJpg, eom_metadata_reader_jpg, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (EOM_TYPE_METADATA_READER, eom_metadata_reader_jpg_init_emr_iface) \ G_ADD_PRIVATE (EomMetadataReaderJpg)) - static void eom_metadata_reader_jpg_dispose (GObject *object) { @@ -155,7 +152,6 @@ eom_metadata_reader_jpg_finished (EomMetadataReaderJpg *emr) return (emr->priv->state == EMR_FINISHED); } - static EomJpegApp1Type eom_metadata_identify_app1 (gchar *buf, guint len) { @@ -467,7 +463,6 @@ eom_metadata_reader_jpg_get_exif_data (EomMetadataReaderJpg *emr) } #endif - #ifdef HAVE_EXEMPI /* skip the signature */ diff --git a/src/eom-metadata-reader-png.c b/src/eom-metadata-reader-png.c index a0ca172..7093144 100644 --- a/src/eom-metadata-reader-png.c +++ b/src/eom-metadata-reader-png.c @@ -158,7 +158,6 @@ eom_metadata_reader_png_finished (EomMetadataReaderPng *emr) return (emr->priv->state == EMR_FINISHED); } - static void eom_metadata_reader_png_get_next_block (EomMetadataReaderPngPrivate* priv, guchar *chunk, diff --git a/src/eom-metadata-reader.c b/src/eom-metadata-reader.c index 2c93a14..d7b3e9b 100644 --- a/src/eom-metadata-reader.c +++ b/src/eom-metadata-reader.c @@ -60,7 +60,6 @@ eom_metadata_reader_finished (EomMetadataReader *emr) return EOM_METADATA_READER_GET_INTERFACE (emr)->finished (emr); } - void eom_metadata_reader_consume (EomMetadataReader *emr, const guchar *buf, guint len) { diff --git a/src/eom-metadata-sidebar.c b/src/eom-metadata-sidebar.c index ba31937..9b8fc8b 100644 --- a/src/eom-metadata-sidebar.c +++ b/src/eom-metadata-sidebar.c @@ -263,12 +263,16 @@ eom_metadata_sidebar_set_image (EomMetadataSidebar *sidebar, EomImage *image) if (image == priv->image) return; - +#if GLIB_CHECK_VERSION(2,62,0) + g_clear_signal_handler (&priv->thumb_changed_id, + priv->image); +#else if (priv->thumb_changed_id != 0) { g_signal_handler_disconnect (priv->image, priv->thumb_changed_id); priv->thumb_changed_id = 0; } +#endif if (priv->image) g_object_unref (priv->image); @@ -525,7 +529,6 @@ eom_metadata_sidebar_class_init (EomMetadataSidebarClass *klass) #endif /* HAVE_METADATA */ } - GtkWidget* eom_metadata_sidebar_new (EomWindow *window) { diff --git a/src/eom-preferences-dialog.c b/src/eom-preferences-dialog.c index ea3a65d..fb2aae5 100644 --- a/src/eom-preferences-dialog.c +++ b/src/eom-preferences-dialog.c @@ -213,8 +213,7 @@ eom_preferences_dialog_init (EomPreferencesDialog *pref_dlg) priv->view_settings = g_settings_new (EOM_CONF_VIEW); priv->fullscreen_settings = g_settings_new (EOM_CONF_FULLSCREEN); - g_signal_connect (G_OBJECT (pref_dlg), - "response", + g_signal_connect (pref_dlg, "response", G_CALLBACK (eom_preferences_response_cb), pref_dlg); @@ -246,8 +245,7 @@ eom_preferences_dialog_init (EomPreferencesDialog *pref_dlg) GSETTINGS_OBJECT_VALUE, GINT_TO_POINTER (EOM_TRANSP_COLOR)); - g_signal_connect (G_OBJECT (priv->color_radio), - "toggled", + g_signal_connect (priv->color_radio, "toggled", G_CALLBACK (pd_transp_radio_toggle_cb), priv->view_settings); @@ -255,8 +253,7 @@ eom_preferences_dialog_init (EomPreferencesDialog *pref_dlg) GSETTINGS_OBJECT_VALUE, GINT_TO_POINTER (EOM_TRANSP_CHECKED)); - g_signal_connect (G_OBJECT (priv->checkpattern_radio), - "toggled", + g_signal_connect (priv->checkpattern_radio, "toggled", G_CALLBACK (pd_transp_radio_toggle_cb), priv->view_settings); @@ -264,8 +261,7 @@ eom_preferences_dialog_init (EomPreferencesDialog *pref_dlg) GSETTINGS_OBJECT_VALUE, GINT_TO_POINTER (EOM_TRANSP_BACKGROUND)); - g_signal_connect (G_OBJECT (priv->background_radio), - "toggled", + g_signal_connect (priv->background_radio, "toggled", G_CALLBACK (pd_transp_radio_toggle_cb), priv->view_settings); @@ -307,8 +303,7 @@ eom_preferences_dialog_init (EomPreferencesDialog *pref_dlg) EOM_CONF_FULLSCREEN_RANDOM, priv->random_check, "active", G_SETTINGS_BIND_DEFAULT); - g_signal_connect (priv->fullscreen_settings, - "changed::" EOM_CONF_FULLSCREEN_RANDOM, + g_signal_connect (priv->fullscreen_settings, "changed::" EOM_CONF_FULLSCREEN_RANDOM, G_CALLBACK (random_change_cb), priv->loop_check); random_change_cb (priv->fullscreen_settings, @@ -324,8 +319,7 @@ eom_preferences_dialog_init (EomPreferencesDialog *pref_dlg) /* Add tab scrolling support for GTK3 */ gtk_widget_add_events (priv->notebook, GDK_SCROLL_MASK); - g_signal_connect (priv->notebook, - "scroll-event", + g_signal_connect (priv->notebook, "scroll-event", G_CALLBACK (eom_notebook_scroll_event_cb), NULL); } diff --git a/src/eom-print-image-setup.c b/src/eom-print-image-setup.c index 588e72c..b7b86f2 100644 --- a/src/eom-print-image-setup.c +++ b/src/eom-print-image-setup.c @@ -781,7 +781,6 @@ set_initial_values (EomPrintImageSetup *setup) update_image_pos_ranges (setup, page_width, page_height, width, height); - } static void @@ -791,24 +790,41 @@ connect_signals (EomPrintImageSetup *setup) priv = setup->priv; - g_signal_connect (G_OBJECT (priv->left), "value-changed", - G_CALLBACK (on_left_value_changed), setup); - g_signal_connect (G_OBJECT (priv->right), "value-changed", - G_CALLBACK (on_right_value_changed), setup); - g_signal_connect (G_OBJECT (priv->top), "value-changed", - G_CALLBACK (on_top_value_changed), setup); - g_signal_connect (G_OBJECT (priv->bottom), "value-changed", - G_CALLBACK (on_bottom_value_changed), setup); - g_signal_connect (G_OBJECT (priv->width), "value-changed", - G_CALLBACK (on_width_value_changed), setup); - g_signal_connect (G_OBJECT (priv->height), "value-changed", - G_CALLBACK (on_height_value_changed), setup); - g_signal_connect (G_OBJECT (priv->scaling), "value-changed", - G_CALLBACK (on_scale_changed), setup); - g_signal_connect (G_OBJECT (priv->scaling), "format-value", - G_CALLBACK (on_scale_format_value), NULL); - g_signal_connect (G_OBJECT (priv->preview), "image-moved", - G_CALLBACK (on_preview_image_moved), setup); + g_signal_connect (priv->left, "value-changed", + G_CALLBACK (on_left_value_changed), + setup); + + g_signal_connect (priv->right, "value-changed", + G_CALLBACK (on_right_value_changed), + setup); + + g_signal_connect (priv->top, "value-changed", + G_CALLBACK (on_top_value_changed), + setup); + + g_signal_connect (priv->bottom, "value-changed", + G_CALLBACK (on_bottom_value_changed), + setup); + + g_signal_connect (priv->width, "value-changed", + G_CALLBACK (on_width_value_changed), + setup); + + g_signal_connect (priv->height, "value-changed", + G_CALLBACK (on_height_value_changed), + setup); + + g_signal_connect (priv->scaling, "value-changed", + G_CALLBACK (on_scale_changed), + setup); + + g_signal_connect (priv->scaling, "format-value", + G_CALLBACK (on_scale_format_value), + NULL); + + g_signal_connect (priv->preview, "image-moved", + G_CALLBACK (on_preview_image_moved), + setup); } static void @@ -887,8 +903,9 @@ eom_print_image_setup_init (EomPrintImageSetup *setup) 1, 1); gtk_label_set_mnemonic_widget (GTK_LABEL (label), combobox); priv->center = combobox; - g_signal_connect (G_OBJECT (combobox), "changed", - G_CALLBACK (on_center_changed), setup); + g_signal_connect (combobox, "changed", + G_CALLBACK (on_center_changed), + setup); grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (grid), 6); @@ -939,8 +956,9 @@ eom_print_image_setup_init (EomPrintImageSetup *setup) 1, 1); gtk_label_set_mnemonic_widget (GTK_LABEL (label), combobox); priv->unit = combobox; - g_signal_connect (G_OBJECT (combobox), "changed", - G_CALLBACK (on_unit_changed), setup); + g_signal_connect (combobox, "changed", + G_CALLBACK (on_unit_changed), + setup); priv->preview = eom_print_preview_new (); @@ -954,7 +972,6 @@ eom_print_image_setup_init (EomPrintImageSetup *setup) gtk_widget_show_all (GTK_WIDGET (setup)); } - /** * eom_print_image_setup_new: * @image: the #EomImage to print diff --git a/src/eom-print-preview.c b/src/eom-print-preview.c index 47ff4a7..f0b85bf 100644 --- a/src/eom-print-preview.c +++ b/src/eom-print-preview.c @@ -521,24 +521,29 @@ eom_print_preview_new (void) /* update_relative_sizes (preview); */ - g_signal_connect (G_OBJECT (area), - "draw", G_CALLBACK (draw_cb), - preview); + g_signal_connect (area, "draw", + G_CALLBACK (draw_cb), + preview); - g_signal_connect (G_OBJECT (area), "motion-notify-event", - G_CALLBACK (motion_notify_event_cb), preview); + g_signal_connect (area, "motion-notify-event", + G_CALLBACK (motion_notify_event_cb), + preview); - g_signal_connect (G_OBJECT (area), "button-press-event", - G_CALLBACK (button_press_event_cb), preview); + g_signal_connect (area, "button-press-event", + G_CALLBACK (button_press_event_cb), + preview); - g_signal_connect (G_OBJECT (area), "button-release-event", - G_CALLBACK (button_release_event_cb), preview); + g_signal_connect (area, "button-release-event", + G_CALLBACK (button_release_event_cb), + preview); - g_signal_connect (G_OBJECT (area), "key-press-event", - G_CALLBACK (key_press_event_cb), preview); + g_signal_connect (area, "key-press-event", + G_CALLBACK (key_press_event_cb), + preview); g_signal_connect (area, "size-allocate", - G_CALLBACK (size_allocate_cb), preview); + G_CALLBACK (size_allocate_cb), + preview); return GTK_WIDGET (preview); } @@ -796,9 +801,7 @@ key_press_event_cb (GtkWidget *widget, NULL); stop_emission = TRUE; - g_signal_emit (G_OBJECT (user_data), - preview_signals - [SIGNAL_IMAGE_MOVED], 0); + g_signal_emit (user_data, preview_signals[SIGNAL_IMAGE_MOVED], 0); } return stop_emission; @@ -845,9 +848,7 @@ motion_notify_event_cb (GtkWidget *widget, priv->cursorx = event->x; priv->cursory = event->y; - g_signal_emit (G_OBJECT (user_data), - preview_signals - [SIGNAL_IMAGE_MOVED], 0); + g_signal_emit (user_data, preview_signals[SIGNAL_IMAGE_MOVED], 0); } else { if (press_inside_image_area (EOM_PRINT_PREVIEW (user_data), event->x, event->y)) { GdkCursor *cursor; diff --git a/src/eom-properties-dialog.c b/src/eom-properties-dialog.c index 67c3d6b..0bad997 100644 --- a/src/eom-properties-dialog.c +++ b/src/eom-properties-dialog.c @@ -120,7 +120,6 @@ parent_file_display_name_query_info_cb (GObject *source_object, GFileInfo *file_info; gchar *display_name; - file_info = g_file_query_info_finish (parent_file, res, NULL); if (file_info == NULL) { display_name = g_file_get_basename (parent_file); @@ -346,7 +345,6 @@ pd_update_metadata_tab (EomPropertiesDialog *prop_dlg, eom_exif_util_set_label_text (GTK_LABEL (priv->exif_iso_label), exif_data, EXIF_TAG_ISO_SPEED_RATINGS); - eom_exif_util_set_label_text (GTK_LABEL (priv->exif_metering_label), exif_data, EXIF_TAG_METERING_MODE); diff --git a/src/eom-save-as-dialog-helper.c b/src/eom-save-as-dialog-helper.c index 090b556..24f472f 100644 --- a/src/eom-save-as-dialog-helper.c +++ b/src/eom-save-as-dialog-helper.c @@ -207,7 +207,9 @@ eom_save_as_dialog_new (GtkWindow *main, GList *images, GFile *base_file) GtkWidget *label; xml = gtk_builder_new_from_resource ("/org/mate/eom/ui/eom-multiple-save-as-dialog.ui"); +#ifdef ENABLE_NLS gtk_builder_set_translation_domain (xml, GETTEXT_PACKAGE); +#endif /* ENABLE_NLS */ dlg = GTK_WIDGET (g_object_ref (gtk_builder_get_object (xml, "eom_multiple_save_as_dialog"))); gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (main)); @@ -236,17 +238,21 @@ eom_save_as_dialog_new (GtkWindow *main, GList *images, GFile *base_file) data->image = g_object_ref (EOM_IMAGE (g_list_nth_data (images, data->nth_image))); g_object_set_data_full (G_OBJECT (dlg), "data", data, destroy_data_cb); - g_signal_connect (G_OBJECT (data->format_combobox), "changed", - (GCallback) on_format_combobox_changed, dlg); + g_signal_connect (data->format_combobox, "changed", + G_CALLBACK (on_format_combobox_changed), + dlg); - g_signal_connect (G_OBJECT (data->token_entry), "changed", - (GCallback) on_token_entry_changed, dlg); + g_signal_connect (data->token_entry, "changed", + G_CALLBACK (on_token_entry_changed), + dlg); - g_signal_connect (G_OBJECT (data->replace_spaces_check), "toggled", - (GCallback) on_replace_spaces_check_clicked, dlg); + g_signal_connect (data->replace_spaces_check, "toggled", + G_CALLBACK (on_replace_spaces_check_clicked), + dlg); - g_signal_connect (G_OBJECT (data->counter_spin), "changed", - (GCallback) on_counter_spin_changed, dlg); + g_signal_connect (data->counter_spin, "changed", + G_CALLBACK (on_counter_spin_changed), + dlg); label = GTK_WIDGET (gtk_builder_get_object (xml, "preview_label_from")); gtk_label_set_text (GTK_LABEL (label), eom_image_get_caption (data->image)); diff --git a/src/eom-save-as-dialog-helper.h b/src/eom-save-as-dialog-helper.h index dd72fa9..9374ea8 100644 --- a/src/eom-save-as-dialog-helper.h +++ b/src/eom-save-as-dialog-helper.h @@ -5,7 +5,6 @@ #include <gio/gio.h> #include "eom-uri-converter.h" - G_BEGIN_DECLS G_GNUC_INTERNAL @@ -14,7 +13,6 @@ GtkWidget* eom_save_as_dialog_new (GtkWindow *main, GList *images, GFil G_GNUC_INTERNAL EomURIConverter* eom_save_as_dialog_get_converter (GtkWidget *dlg); - G_END_DECLS #endif /* _EOM_SAVE_DIALOG_HELPER_H_ */ diff --git a/src/eom-scroll-view.c b/src/eom-scroll-view.c index 1149915..ee57c77 100644 --- a/src/eom-scroll-view.c +++ b/src/eom-scroll-view.c @@ -87,8 +87,8 @@ struct _EomScrollViewPrivate { /* actual image */ EomImage *image; - guint image_changed_id; - guint frame_changed_id; + gulong image_changed_id; + gulong frame_changed_id; GdkPixbuf *pixbuf; cairo_surface_t *surface; @@ -188,15 +188,20 @@ free_image_resources (EomScrollView *view) priv = view->priv; - if (priv->image_changed_id > 0) { - g_signal_handler_disconnect (G_OBJECT (priv->image), priv->image_changed_id); +#if GLIB_CHECK_VERSION(2,62,0) + g_clear_signal_handler (&priv->image_changed_id, priv->image); + g_clear_signal_handler (&priv->frame_changed_id, priv->image); +#else + if (priv->image_changed_id != 0) { + g_signal_handler_disconnect (priv->image, priv->image_changed_id); priv->image_changed_id = 0; } - if (priv->frame_changed_id > 0) { - g_signal_handler_disconnect (G_OBJECT (priv->image), priv->frame_changed_id); + if (priv->frame_changed_id != 0) { + g_signal_handler_disconnect (priv->image, priv->frame_changed_id); priv->frame_changed_id = 0; } +#endif if (priv->image != NULL) { eom_image_data_unref (priv->image); @@ -558,7 +563,6 @@ create_background_surface (EomScrollView *view) --------------------------------------*/ - /* Scrolls the view to the specified offsets. */ static void scroll_to (EomScrollView *view, int x, int y, gboolean change_adjustments) @@ -640,7 +644,6 @@ scroll_by (EomScrollView *view, int xofs, int yofs) scroll_to (view, priv->xofs + xofs, priv->yofs + yofs, TRUE); } - /* Callback used when an adjustment is changed */ static void adjustment_changed_cb (GtkAdjustment *adj, gpointer data) @@ -657,7 +660,6 @@ adjustment_changed_cb (GtkAdjustment *adj, gpointer data) gtk_widget_queue_resize (GTK_WIDGET (view)); } - /* Drags the image to the specified position */ static void drag_to (EomScrollView *view, int x, int y) @@ -762,7 +764,7 @@ set_zoom (EomScrollView *view, double zoom, /* repaint the whole image */ gtk_widget_queue_draw (priv->display); - g_signal_emit (view, view_signals [SIGNAL_ZOOM_CHANGED], 0, priv->zoom); + g_signal_emit (view, view_signals[SIGNAL_ZOOM_CHANGED], 0, priv->zoom); } /* Zooms the image to fit the available allocation */ @@ -799,7 +801,7 @@ set_zoom_fit (EomScrollView *view) priv->xofs = 0; priv->yofs = 0; - g_signal_emit (view, view_signals [SIGNAL_ZOOM_CHANGED], 0, priv->zoom); + g_signal_emit (view, view_signals[SIGNAL_ZOOM_CHANGED], 0, priv->zoom); } /*=================================== @@ -923,7 +925,6 @@ display_key_press_event (GtkWidget *widget, GdkEventKey *event, gpointer data) return TRUE; } - /* Button press event handler for the image view */ static gboolean eom_scroll_view_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer data) @@ -1032,12 +1033,12 @@ eom_scroll_view_scroll_event (GtkWidget *widget, GdkEventScroll *event, gpointer case GDK_SCROLL_DOWN: zoom_factor = 1.0 / priv->zoom_multiplier; xofs = 0; - yofs = yofs; + /* yofs = yofs; */ break; case GDK_SCROLL_RIGHT: zoom_factor = priv->zoom_multiplier; - xofs = xofs; + /* xofs = xofs; */ yofs = 0; break; @@ -1158,22 +1159,21 @@ display_size_change (GtkWidget *widget, GdkEventConfigure *event, gpointer data) update_scrollbar_values (view); } - static gboolean eom_scroll_view_focus_in_event (GtkWidget *widget, - GdkEventFocus *event, - gpointer data) + GdkEventFocus *event, + gpointer data) { - g_signal_stop_emission_by_name (G_OBJECT (widget), "focus_in_event"); + g_signal_stop_emission_by_name (widget, "focus_in_event"); return FALSE; } static gboolean eom_scroll_view_focus_out_event (GtkWidget *widget, - GdkEventFocus *event, - gpointer data) + GdkEventFocus *event, + gpointer data) { - g_signal_stop_emission_by_name (G_OBJECT (widget), "focus_out_event"); + g_signal_stop_emission_by_name (widget, "focus_out_event"); return FALSE; } @@ -1299,7 +1299,8 @@ display_draw (GtkWidget *widget, cairo_t *cr, gpointer data) cairo_matrix_init_identity (&matrix); if (transform) { cairo_matrix_t affine; - double image_offset_x = 0., image_offset_y = 0.; + int image_offset_x = 0; + int image_offset_y = 0; eom_transform_get_affine (transform, &affine); cairo_matrix_multiply (&matrix, &affine, &matrix); @@ -1307,23 +1308,23 @@ display_draw (GtkWidget *widget, cairo_t *cr, gpointer data) switch (eom_transform_get_transform_type (transform)) { case EOM_TRANSFORM_ROT_90: case EOM_TRANSFORM_FLIP_HORIZONTAL: - image_offset_x = (double) gdk_pixbuf_get_width (priv->pixbuf); + image_offset_x = gdk_pixbuf_get_width (priv->pixbuf); break; case EOM_TRANSFORM_ROT_270: case EOM_TRANSFORM_FLIP_VERTICAL: - image_offset_y = (double) gdk_pixbuf_get_height (priv->pixbuf); + image_offset_y = gdk_pixbuf_get_height (priv->pixbuf); break; case EOM_TRANSFORM_ROT_180: case EOM_TRANSFORM_TRANSPOSE: case EOM_TRANSFORM_TRANSVERSE: - image_offset_x = (double) gdk_pixbuf_get_width (priv->pixbuf); - image_offset_y = (double) gdk_pixbuf_get_height (priv->pixbuf); + image_offset_x = gdk_pixbuf_get_width (priv->pixbuf); + image_offset_y = gdk_pixbuf_get_height (priv->pixbuf); break; case EOM_TRANSFORM_NONE: default: break; } - cairo_matrix_init_translate (&translate, image_offset_x, image_offset_y); + cairo_matrix_init_translate (&translate, (double) image_offset_x, (double) image_offset_y); cairo_matrix_multiply (&matrix, &matrix, &translate); } /* Zoom factor for SVGs is already scaled, so scale back to application pixels. */ @@ -1370,7 +1371,6 @@ display_draw (GtkWidget *widget, cairo_t *cr, gpointer data) return TRUE; } - /*================================== image loading callbacks @@ -1712,11 +1712,13 @@ eom_scroll_view_set_image (EomScrollView *view, EomImage *image) } priv->image_changed_id = g_signal_connect (image, "changed", - (GCallback) image_changed_cb, view); + G_CALLBACK (image_changed_cb), + view); if (eom_image_is_animation (image) == TRUE ) { eom_image_start_animation (image); priv->frame_changed_id = g_signal_connect (image, "next-frame", - (GCallback) display_next_frame_cb, view); + G_CALLBACK (display_next_frame_cb), + view); } } @@ -1827,14 +1829,14 @@ eom_scroll_view_init (EomScrollView *view) priv->hadj = GTK_ADJUSTMENT (gtk_adjustment_new (0, 100, 0, 10, 10, 100)); g_signal_connect (priv->hadj, "value_changed", - G_CALLBACK (adjustment_changed_cb), - view); + G_CALLBACK (adjustment_changed_cb), + view); priv->hbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, priv->hadj); priv->vadj = GTK_ADJUSTMENT (gtk_adjustment_new (0, 100, 0, 10, 10, 100)); g_signal_connect (priv->vadj, "value_changed", - G_CALLBACK (adjustment_changed_cb), - view); + G_CALLBACK (adjustment_changed_cb), + view); priv->vbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, priv->vadj); priv->display = g_object_new (GTK_TYPE_DRAWING_AREA, @@ -1850,37 +1852,59 @@ eom_scroll_view_init (EomScrollView *view) | GDK_POINTER_MOTION_HINT_MASK | GDK_SCROLL_MASK | GDK_KEY_PRESS_MASK); - g_signal_connect (G_OBJECT (priv->display), "configure_event", - G_CALLBACK (display_size_change), view); - g_signal_connect (G_OBJECT (priv->display), "draw", G_CALLBACK (display_draw), view); - g_signal_connect (G_OBJECT (priv->display), "map_event", - G_CALLBACK (display_map_event), view); - g_signal_connect (G_OBJECT (priv->display), "button_press_event", - G_CALLBACK (eom_scroll_view_button_press_event), - view); - g_signal_connect (G_OBJECT (priv->display), "motion_notify_event", - G_CALLBACK (eom_scroll_view_motion_event), view); - g_signal_connect (G_OBJECT (priv->display), "button_release_event", - G_CALLBACK (eom_scroll_view_button_release_event), - view); - g_signal_connect (G_OBJECT (priv->display), "scroll_event", - G_CALLBACK (eom_scroll_view_scroll_event), view); - g_signal_connect (G_OBJECT (priv->display), "focus_in_event", - G_CALLBACK (eom_scroll_view_focus_in_event), NULL); - g_signal_connect (G_OBJECT (priv->display), "focus_out_event", - G_CALLBACK (eom_scroll_view_focus_out_event), NULL); - - g_signal_connect (G_OBJECT (view), "key_press_event", - G_CALLBACK (display_key_press_event), view); + + g_signal_connect (priv->display, "configure_event", + G_CALLBACK (display_size_change), + view); + + g_signal_connect (priv->display, "draw", + G_CALLBACK (display_draw), + view); + + g_signal_connect (priv->display, "map_event", + G_CALLBACK (display_map_event), + view); + + g_signal_connect (priv->display, "button_press_event", + G_CALLBACK (eom_scroll_view_button_press_event), + view); + + g_signal_connect (priv->display, "motion_notify_event", + G_CALLBACK (eom_scroll_view_motion_event), + view); + + g_signal_connect (priv->display, "button_release_event", + G_CALLBACK (eom_scroll_view_button_release_event), + view); + + g_signal_connect (priv->display, "scroll_event", + G_CALLBACK (eom_scroll_view_scroll_event), + view); + + g_signal_connect (priv->display, "focus_in_event", + G_CALLBACK (eom_scroll_view_focus_in_event), + NULL); + + g_signal_connect (priv->display, "focus_out_event", + G_CALLBACK (eom_scroll_view_focus_out_event), + NULL); + + g_signal_connect (view, "key_press_event", + G_CALLBACK (display_key_press_event), + view); gtk_drag_source_set (priv->display, GDK_BUTTON1_MASK, target_table, G_N_ELEMENTS (target_table), GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_ASK); - g_signal_connect (G_OBJECT (priv->display), "drag-data-get", - G_CALLBACK (view_on_drag_data_get_cb), view); - g_signal_connect (G_OBJECT (priv->display), "drag-begin", - G_CALLBACK (view_on_drag_begin_cb), view); + + g_signal_connect (priv->display, "drag-data-get", + G_CALLBACK (view_on_drag_data_get_cb), + view); + + g_signal_connect (priv->display, "drag-begin", + G_CALLBACK (view_on_drag_begin_cb), + view); gtk_grid_attach (GTK_GRID (view), priv->display, 0, 0, 1, 1); @@ -2051,7 +2075,6 @@ eom_scroll_view_set_property (GObject *object, guint property_id, } } - static void eom_scroll_view_class_init (EomScrollViewClass *klass) { @@ -2224,7 +2247,6 @@ eom_scroll_view_new (void) "column-homogeneous", FALSE, NULL); - return widget; } @@ -2259,8 +2281,9 @@ eom_scroll_view_set_popup (EomScrollView *view, GTK_WIDGET (view), NULL); - g_signal_connect (G_OBJECT (view), "button_press_event", - G_CALLBACK (view_on_button_press_event_cb), NULL); + g_signal_connect (view, "button_press_event", + G_CALLBACK (view_on_button_press_event_cb), + NULL); } static gboolean diff --git a/src/eom-scroll-view.h b/src/eom-scroll-view.h index 2dffec3..2f10e3e 100644 --- a/src/eom-scroll-view.h +++ b/src/eom-scroll-view.h @@ -16,7 +16,6 @@ typedef struct _EomScrollViewPrivate EomScrollViewPrivate; #define EOM_IS_SCROLL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EOM_TYPE_SCROLL_VIEW)) #define EOM_IS_SCROLL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EOM_TYPE_SCROLL_VIEW)) - struct _EomScrollView { GtkGrid base_instance; @@ -72,4 +71,3 @@ G_END_DECLS #endif /* _EOM_SCROLL_VIEW_H_ */ - diff --git a/src/eom-sidebar.c b/src/eom-sidebar.c index faf8321..39e7d0a 100644 --- a/src/eom-sidebar.c +++ b/src/eom-sidebar.c @@ -382,12 +382,12 @@ eom_sidebar_init (EomSidebar *eom_sidebar) GTK_RELIEF_NONE); g_signal_connect (eom_sidebar->priv->select_button, "button_press_event", - G_CALLBACK (eom_sidebar_select_button_press_cb), - eom_sidebar); + G_CALLBACK (eom_sidebar_select_button_press_cb), + eom_sidebar); g_signal_connect (eom_sidebar->priv->select_button, "key_press_event", - G_CALLBACK (eom_sidebar_select_button_key_press_cb), - eom_sidebar); + G_CALLBACK (eom_sidebar_select_button_key_press_cb), + eom_sidebar); select_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); @@ -416,8 +416,8 @@ eom_sidebar_init (EomSidebar *eom_sidebar) gtk_button_set_relief (GTK_BUTTON (close_button), GTK_RELIEF_NONE); g_signal_connect (close_button, "clicked", - G_CALLBACK (eom_sidebar_close_clicked_cb), - eom_sidebar); + G_CALLBACK (eom_sidebar_close_clicked_cb), + eom_sidebar); image = gtk_image_new_from_icon_name ("window-close", GTK_ICON_SIZE_MENU); @@ -430,8 +430,8 @@ eom_sidebar_init (EomSidebar *eom_sidebar) eom_sidebar->priv->menu = gtk_menu_new (); g_signal_connect (eom_sidebar->priv->menu, "deactivate", - G_CALLBACK (eom_sidebar_menu_deactivate_cb), - eom_sidebar->priv->select_button); + G_CALLBACK (eom_sidebar_menu_deactivate_cb), + eom_sidebar->priv->select_button); gtk_menu_attach_to_widget (GTK_MENU (eom_sidebar->priv->menu), GTK_WIDGET (eom_sidebar), @@ -481,8 +481,8 @@ eom_sidebar_add_page (EomSidebar *eom_sidebar, menu_item = gtk_menu_item_new_with_label (title); g_signal_connect (menu_item, "activate", - G_CALLBACK (eom_sidebar_menu_item_activate_cb), - eom_sidebar); + G_CALLBACK (eom_sidebar_menu_item_activate_cb), + eom_sidebar); gtk_widget_show (menu_item); @@ -521,8 +521,7 @@ eom_sidebar_add_page (EomSidebar *eom_sidebar, eom_sidebar_update_arrow_visibility (eom_sidebar); - g_signal_emit (G_OBJECT (eom_sidebar), - signals[SIGNAL_PAGE_ADDED], 0, main_widget); + g_signal_emit (eom_sidebar, signals[SIGNAL_PAGE_ADDED], 0, main_widget); } void @@ -567,8 +566,7 @@ eom_sidebar_remove_page (EomSidebar *eom_sidebar, GtkWidget *main_widget) eom_sidebar_update_arrow_visibility (eom_sidebar); - g_signal_emit (G_OBJECT (eom_sidebar), - signals[SIGNAL_PAGE_REMOVED], 0, main_widget); + g_signal_emit (eom_sidebar, signals[SIGNAL_PAGE_REMOVED], 0, main_widget); } } diff --git a/src/eom-sidebar.h b/src/eom-sidebar.h index 6986f41..3a1a3a2 100644 --- a/src/eom-sidebar.h +++ b/src/eom-sidebar.h @@ -79,4 +79,3 @@ G_END_DECLS #endif /* __EOM_SIDEBAR_H__ */ - diff --git a/src/eom-thumb-view.c b/src/eom-thumb-view.c index 05b0416..0b28440 100644 --- a/src/eom-thumb-view.c +++ b/src/eom-thumb-view.c @@ -78,7 +78,7 @@ struct _EomThumbViewPrivate { gint end_thumb; /* the last visible thumbnail */ GtkWidget *menu; /* a contextual menu for thumbnails */ GtkCellRenderer *pixbuf_cell; - gint visible_range_changed_id; + guint visible_range_changed_id; GtkOrientation orientation; gint n_images; @@ -131,17 +131,17 @@ eom_thumb_view_constructed (GObject *object) g_object_set (thumbview, "has-tooltip", TRUE, NULL); - g_signal_connect (thumbview, - "query-tooltip", - G_CALLBACK (thumbview_on_query_tooltip_cb), - NULL); + g_signal_connect (thumbview, "query-tooltip", + G_CALLBACK (thumbview_on_query_tooltip_cb), + NULL); thumbview->priv->start_thumb = 0; thumbview->priv->end_thumb = 0; thumbview->priv->menu = NULL; - g_signal_connect (G_OBJECT (thumbview), "parent-set", - G_CALLBACK (thumbview_on_parent_set_cb), NULL); + g_signal_connect (thumbview, "parent-set", + G_CALLBACK (thumbview_on_parent_set_cb), + NULL); gtk_icon_view_enable_model_drag_source (GTK_ICON_VIEW (thumbview), 0, NULL, 0, @@ -151,8 +151,9 @@ eom_thumb_view_constructed (GObject *object) GDK_ACTION_ASK); gtk_drag_source_add_uri_targets (GTK_WIDGET (thumbview)); - g_signal_connect (G_OBJECT (thumbview), "drag-data-get", - G_CALLBACK (thumbview_on_drag_data_get_cb), NULL); + g_signal_connect (thumbview, "drag-data-get", + G_CALLBACK (thumbview_on_drag_data_get_cb), + NULL); } static void @@ -166,17 +167,24 @@ eom_thumb_view_dispose (GObject *object) priv->visible_range_changed_id = 0; } - model = gtk_icon_view_get_model (GTK_ICON_VIEW (object)); - - if (model && priv->image_add_id != 0) { - g_signal_handler_disconnect (model, priv->image_add_id); - priv->image_add_id = 0; +#if GLIB_CHECK_VERSION(2,62,0) + if ((model = gtk_icon_view_get_model (GTK_ICON_VIEW (object))) != NULL) { + g_clear_signal_handler (&priv->image_add_id, model); + g_clear_signal_handler (&priv->image_removed_id, model); } +#else + if ((model = gtk_icon_view_get_model (GTK_ICON_VIEW (object))) != NULL) { + if (priv->image_add_id != 0) { + g_signal_handler_disconnect (model, priv->image_add_id); + priv->image_add_id = 0; + } - if (model && priv->image_removed_id) { - g_signal_handler_disconnect (model, priv->image_removed_id); - priv->image_removed_id = 0; + if (priv->image_removed_id != 0) { + g_signal_handler_disconnect (model, priv->image_removed_id); + priv->image_removed_id = 0; + } } +#endif G_OBJECT_CLASS (eom_thumb_view_parent_class)->dispose (object); } @@ -380,20 +388,20 @@ thumbview_on_parent_set_cb (GtkWidget *widget, vadjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (sw)); /* when scrolling */ - g_signal_connect_data (G_OBJECT (hadjustment), "value-changed", - G_CALLBACK (thumbview_on_visible_range_changed_cb), - thumbview, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); - g_signal_connect_data (G_OBJECT (vadjustment), "value-changed", - G_CALLBACK (thumbview_on_visible_range_changed_cb), - thumbview, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); + g_signal_connect_data (hadjustment, "value-changed", + G_CALLBACK (thumbview_on_visible_range_changed_cb), + thumbview, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); + g_signal_connect_data (vadjustment, "value-changed", + G_CALLBACK (thumbview_on_visible_range_changed_cb), + thumbview, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); /* when the adjustment is changed, ie. probably we have new images added. */ - g_signal_connect_data (G_OBJECT (hadjustment), "changed", - G_CALLBACK (thumbview_on_adjustment_changed_cb), - thumbview, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); - g_signal_connect_data (G_OBJECT (vadjustment), "changed", - G_CALLBACK (thumbview_on_adjustment_changed_cb), - thumbview, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); + g_signal_connect_data (hadjustment, "changed", + G_CALLBACK (thumbview_on_adjustment_changed_cb), + thumbview, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); + g_signal_connect_data (vadjustment, "changed", + G_CALLBACK (thumbview_on_adjustment_changed_cb), + thumbview, NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER); /* when resizing the scrolled window */ g_signal_connect_swapped (G_OBJECT (sw), "size-allocate", @@ -609,9 +617,9 @@ thumbview_on_query_tooltip_cb (GtkWidget *widget, EomJob *job; job = eom_job_load_new (image, data); - g_signal_connect (G_OBJECT (job), "finished", - G_CALLBACK (on_data_loaded_cb), - widget); + g_signal_connect (job, "finished", + G_CALLBACK (on_data_loaded_cb), + widget); eom_job_queue_add_job (job); g_object_unref (image); g_object_unref (job); @@ -730,13 +738,12 @@ eom_thumb_view_set_model (EomThumbView *thumbview, EomListStore *store) } } - priv->image_add_id = g_signal_connect (G_OBJECT (store), "row-inserted", - G_CALLBACK (eom_thumb_view_row_inserted_cb), - thumbview); - priv->image_removed_id = g_signal_connect (G_OBJECT (store), - "row-deleted", - G_CALLBACK (eom_thumb_view_row_deleted_cb), - thumbview); + priv->image_add_id = g_signal_connect (store, "row-inserted", + G_CALLBACK (eom_thumb_view_row_inserted_cb), + thumbview); + priv->image_removed_id = g_signal_connect (store, "row-deleted", + G_CALLBACK (eom_thumb_view_row_deleted_cb), + thumbview); thumbview->priv->n_images = eom_list_store_length (store); @@ -1024,7 +1031,6 @@ eom_thumb_view_select_single (EomThumbView *thumbview, gtk_tree_path_free (path); } - /** * eom_thumb_view_set_thumbnail_popup: * @thumbview: An #EomThumbView. @@ -1047,12 +1053,11 @@ eom_thumb_view_set_thumbnail_popup (EomThumbView *thumbview, GTK_WIDGET (thumbview), NULL); - g_signal_connect (G_OBJECT (thumbview), "button_press_event", - G_CALLBACK (thumbview_on_button_press_event_cb), NULL); - + g_signal_connect (thumbview, "button_press_event", + G_CALLBACK (thumbview_on_button_press_event_cb), + NULL); } - static void eom_thumb_view_popup_menu (EomThumbView *thumbview, GdkEventButton *event) { diff --git a/src/eom-transform.h b/src/eom-transform.h index a321e03..7df2df4 100644 --- a/src/eom-transform.h +++ b/src/eom-transform.h @@ -72,4 +72,3 @@ G_END_DECLS #endif /* _EOM_TRANSFORM_H_ */ - diff --git a/src/eom-uri-converter.c b/src/eom-uri-converter.c index 68c5714..345cf54 100644 --- a/src/eom-uri-converter.c +++ b/src/eom-uri-converter.c @@ -26,7 +26,6 @@ typedef struct { } data; } EomUCToken; - struct _EomURIConverterPrivate { GFile *base_file; GList *token_list; @@ -88,7 +87,6 @@ eom_uri_converter_dispose (GObject *object) priv->suffix = NULL; } - G_OBJECT_CLASS (eom_uri_converter_parent_class)->dispose (object); } @@ -148,7 +146,6 @@ eom_uri_converter_class_init (EomURIConverterClass *klass) 1, G_PARAM_READWRITE)); - g_object_class_install_property ( object_class, PROP_N_IMAGES, @@ -169,7 +166,6 @@ eom_uc_error_quark (void) return q; } - static void eom_uri_converter_set_property (GObject *object, guint property_id, @@ -418,7 +414,6 @@ eom_uri_converter_parse_string (EomURIConverter *conv, const char *string) g_assert_not_reached (); } - if (token != NULL) { list = g_list_append (list, token); } @@ -500,7 +495,6 @@ eom_uri_converter_print_list (EomURIConverter *conv) } } - EomURIConverter* eom_uri_converter_new (GFile *base_file, GdkPixbufFormat *img_format, const char *format_str) { @@ -615,7 +609,6 @@ append_counter (GString *str, gulong counter, EomURIConverter *conv) return str; } - static void build_absolute_file (EomURIConverter *conv, EomImage *image, GString *str, /* input */ GFile **file, GdkPixbufFormat **format) /* output */ @@ -671,7 +664,6 @@ build_absolute_file (EomURIConverter *conv, EomImage *image, GString *str, /* i g_object_unref (dir_file); } - static GString* replace_remove_chars (GString *str, gboolean convert_spaces, gunichar space_char) { @@ -801,11 +793,9 @@ eom_uri_converter_do (EomURIConverter *conv, EomImage *image, g_string_free (repl_str, TRUE); g_string_free (str, TRUE); - return (*file != NULL); } - char* eom_uri_converter_preview (const char *format_str, EomImage *img, GdkPixbufFormat *format, gulong counter, guint n_images, @@ -888,7 +878,6 @@ eom_uri_converter_preview (const char *format_str, EomImage *img, GdkPixbufForma } } - filename = NULL; repl_str = replace_remove_chars (str, convert_spaces, space_char); diff --git a/src/eom-uri-converter.h b/src/eom-uri-converter.h index b1cbe94..5168466 100644 --- a/src/eom-uri-converter.h +++ b/src/eom-uri-converter.h @@ -52,7 +52,6 @@ typedef enum { #define EOM_UC_ERROR eom_uc_error_quark () - struct _EomURIConverter { GObject parent; diff --git a/src/eom-util.c b/src/eom-util.c index 324b7f3..e914223 100644 --- a/src/eom-util.c +++ b/src/eom-util.c @@ -311,7 +311,6 @@ eom_util_filename_get_extension (const char * filename) return g_strdup (begin); } - /** * eom_util_file_is_persistent: * @file: a #GFile diff --git a/src/eom-window.c b/src/eom-window.c index 9f772c4..c039d67 100644 --- a/src/eom-window.c +++ b/src/eom-window.c @@ -496,38 +496,40 @@ update_status_bar (EomWindow *window) priv = window->priv; - if (priv->image != NULL && - eom_image_has_data (priv->image, EOM_IMAGE_DATA_DIMENSION)) { - int zoom, width, height; - goffset bytes = 0; + if (priv->image != NULL) + { + if ( eom_image_has_data (priv->image, EOM_IMAGE_DATA_DIMENSION)) + { + int zoom, width, height; + goffset bytes = 0; - zoom = floor (100 * eom_scroll_view_get_zoom (EOM_SCROLL_VIEW (priv->view)) + 0.5); + zoom = floor (100 * eom_scroll_view_get_zoom (EOM_SCROLL_VIEW (priv->view)) + 0.5); - eom_image_get_size (priv->image, &width, &height); + eom_image_get_size (priv->image, &width, &height); - bytes = eom_image_get_bytes (priv->image); + bytes = eom_image_get_bytes (priv->image); - if ((width > 0) && (height > 0)) { - char *size_string; + if ((width > 0) && (height > 0)) { + char *size_string; - size_string = g_format_size (bytes); + size_string = g_format_size (bytes); - /* Translators: This is the string displayed in the statusbar - * The tokens are from left to right: - * - image width - * - image height - * - image size in bytes - * - zoom in percent */ - str = g_strdup_printf (ngettext("%i × %i pixel %s %i%%", - "%i × %i pixels %s %i%%", height), - width, - height, - size_string, - zoom); + /* Translators: This is the string displayed in the statusbar + * The tokens are from left to right: + * - image width + * - image height + * - image size in bytes + * - zoom in percent */ + str = g_strdup_printf (ngettext("%i × %i pixel %s %i%%", + "%i × %i pixels %s %i%%", height), + width, + height, + size_string, + zoom); - g_free (size_string); + g_free (size_string); + } } - update_image_pos (window); } @@ -574,7 +576,6 @@ update_action_groups_state (EomWindow *window) GtkAction *action_sshow; GtkAction *action_print; gboolean print_disabled = FALSE; - gboolean show_image_collection = FALSE; gint n_images = 0; g_return_if_fail (EOM_IS_WINDOW (window)); @@ -633,6 +634,8 @@ update_action_groups_state (EomWindow *window) priv->status = EOM_WINDOW_STATUS_NORMAL; } } else { + gboolean show_image_collection; + if (priv->flags & EOM_STARTUP_DISABLE_COLLECTION) { g_settings_set_boolean (priv->ui_settings, EOM_CONF_UI_IMAGE_COLLECTION, FALSE); @@ -860,7 +863,8 @@ image_file_changed_cb (EomImage *img, EomWindow *window) eom_window_set_message_area (window, info_bar); g_signal_connect (info_bar, "response", - G_CALLBACK (file_changed_info_bar_response), window); + G_CALLBACK (file_changed_info_bar_response), + window); } static void @@ -879,13 +883,12 @@ eom_window_display_image (EomWindow *window, EomImage *image) priv = window->priv; if (image != NULL) { - g_signal_connect (image, - "thumbnail_changed", - G_CALLBACK (image_thumb_changed_cb), - window); + g_signal_connect (image, "thumbnail_changed", + G_CALLBACK (image_thumb_changed_cb), + window); g_signal_connect (image, "file-changed", - G_CALLBACK (image_file_changed_cb), - window); + G_CALLBACK (image_file_changed_cb), + window); image_thumb_changed_cb (image, window); } @@ -1030,10 +1033,9 @@ eom_window_update_openwith_menu (EomWindow *window, EomImage *image) g_object_set_data_full (G_OBJECT (action), "app", app, (GDestroyNotify) g_object_unref); - g_signal_connect (action, - "activate", - G_CALLBACK (open_with_launch_application_cb), - image); + g_signal_connect (action, "activate", + G_CALLBACK (open_with_launch_application_cb), + image); G_GNUC_BEGIN_IGNORE_DEPRECATIONS; gtk_action_group_add_action (priv->actions_open_with, action); @@ -1112,12 +1114,12 @@ eom_window_clear_load_job (EomWindow *window) eom_job_queue_remove_job (priv->load_job); g_signal_handlers_disconnect_by_func (priv->load_job, - eom_job_progress_cb, - window); + eom_job_progress_cb, + window); g_signal_handlers_disconnect_by_func (priv->load_job, - eom_job_load_cb, - window); + eom_job_load_cb, + window); eom_image_cancel_load (EOM_JOB_LOAD (priv->load_job)->image); @@ -1308,11 +1310,11 @@ eom_job_load_cb (EomJobLoad *job, gpointer data) if (priv->image != NULL) { g_signal_handlers_disconnect_by_func (priv->image, - image_thumb_changed_cb, - window); + image_thumb_changed_cb, + window); g_signal_handlers_disconnect_by_func (priv->image, - image_file_changed_cb, - window); + image_file_changed_cb, + window); g_object_unref (priv->image); } @@ -1337,10 +1339,9 @@ eom_job_load_cb (EomJobLoad *job, gpointer data) eom_image_get_caption (job->image), EOM_JOB (job)->error); - g_signal_connect (message_area, - "response", - G_CALLBACK (eom_window_error_message_area_response), - window); + g_signal_connect (message_area, "response", + G_CALLBACK (eom_window_error_message_area_response), + window); gtk_window_set_icon (GTK_WINDOW (window), NULL); gtk_window_set_title (GTK_WINDOW (window), @@ -1373,10 +1374,9 @@ eom_job_load_cb (EomJobLoad *job, gpointer data) if (window->priv->status == EOM_WINDOW_STATUS_INIT) { window->priv->status = EOM_WINDOW_STATUS_NORMAL; - g_signal_handlers_disconnect_by_func - (job->image, - G_CALLBACK (eom_window_obtain_desired_size), - window); + g_signal_handlers_disconnect_by_func (job->image, + eom_window_obtain_desired_size, + window); } G_GNUC_BEGIN_IGNORE_DEPRECATIONS; @@ -1402,8 +1402,8 @@ eom_window_clear_transform_job (EomWindow *window) eom_job_queue_remove_job (priv->transform_job); g_signal_handlers_disconnect_by_func (priv->transform_job, - eom_job_transform_cb, - window); + eom_job_transform_cb, + window); g_object_unref (priv->transform_job); priv->transform_job = NULL; } @@ -1455,15 +1455,13 @@ apply_transformation (EomWindow *window, EomTransform *trans) priv->transform_job = eom_job_transform_new (images, trans); - g_signal_connect (priv->transform_job, - "finished", - G_CALLBACK (eom_job_transform_cb), - window); + g_signal_connect (priv->transform_job, "finished", + G_CALLBACK (eom_job_transform_cb), + window); - g_signal_connect (priv->transform_job, - "progress", - G_CALLBACK (eom_job_progress_cb), - window); + g_signal_connect (priv->transform_job, "progress", + G_CALLBACK (eom_job_progress_cb), + window); eom_job_queue_add_job (priv->transform_job); } @@ -1518,23 +1516,20 @@ handle_image_selection_changed_cb (EomThumbView *thumbview, EomWindow *window) } if (priv->status == EOM_WINDOW_STATUS_INIT) { - g_signal_connect (image, - "size-prepared", - G_CALLBACK (eom_window_obtain_desired_size), - window); + g_signal_connect (image, "size-prepared", + G_CALLBACK (eom_window_obtain_desired_size), + window); } priv->load_job = eom_job_load_new (image, EOM_IMAGE_DATA_ALL); - g_signal_connect (priv->load_job, - "finished", - G_CALLBACK (eom_job_load_cb), - window); + g_signal_connect (priv->load_job, "finished", + G_CALLBACK (eom_job_load_cb), + window); - g_signal_connect (priv->load_job, - "progress", - G_CALLBACK (eom_job_progress_cb), - window); + g_signal_connect (priv->load_job, "progress", + G_CALLBACK (eom_job_progress_cb), + window); eom_job_queue_add_job (priv->load_job); @@ -1633,15 +1628,17 @@ eom_window_update_fullscreen_action (EomWindow *window) action = gtk_action_group_get_action (window->priv->actions_image, "ViewFullscreen"); - g_signal_handlers_block_by_func - (action, G_CALLBACK (eom_window_cmd_fullscreen), window); + g_signal_handlers_block_by_func (action, + eom_window_cmd_fullscreen, + window); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), window->priv->mode == EOM_WINDOW_MODE_FULLSCREEN); G_GNUC_END_IGNORE_DEPRECATIONS; - g_signal_handlers_unblock_by_func - (action, G_CALLBACK (eom_window_cmd_fullscreen), window); + g_signal_handlers_unblock_by_func (action, + eom_window_cmd_fullscreen, + window); } static void @@ -1653,15 +1650,17 @@ eom_window_update_slideshow_action (EomWindow *window) action = gtk_action_group_get_action (window->priv->actions_collection, "ViewSlideshow"); - g_signal_handlers_block_by_func - (action, G_CALLBACK (eom_window_cmd_slideshow), window); + g_signal_handlers_block_by_func (action, + eom_window_cmd_slideshow, + window); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), window->priv->mode == EOM_WINDOW_MODE_SLIDESHOW); G_GNUC_END_IGNORE_DEPRECATIONS; - g_signal_handlers_unblock_by_func - (action, G_CALLBACK (eom_window_cmd_slideshow), window); + g_signal_handlers_unblock_by_func (action, + eom_window_cmd_slideshow, + window); } static void @@ -1673,15 +1672,17 @@ eom_window_update_pause_slideshow_action (EomWindow *window) action = gtk_action_group_get_action (window->priv->actions_image, "PauseSlideshow"); - g_signal_handlers_block_by_func - (action, G_CALLBACK (eom_window_cmd_pause_slideshow), window); + g_signal_handlers_block_by_func (action, + eom_window_cmd_pause_slideshow, + window); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), window->priv->mode != EOM_WINDOW_MODE_SLIDESHOW); G_GNUC_END_IGNORE_DEPRECATIONS; - g_signal_handlers_unblock_by_func - (action, G_CALLBACK (eom_window_cmd_pause_slideshow), window); + g_signal_handlers_unblock_by_func (action, + eom_window_cmd_pause_slideshow, + window); } static void @@ -1908,8 +1909,8 @@ eom_window_get_exit_fullscreen_button (EomWindow *window) gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_icon_name ("view-restore", GTK_ICON_SIZE_BUTTON)); g_signal_connect (button, "clicked", - G_CALLBACK (exit_fullscreen_button_clicked_cb), - window); + G_CALLBACK (exit_fullscreen_button_clicked_cb), + window); return button; } @@ -1944,13 +1945,12 @@ eom_window_create_fullscreen_popup (EomWindow *window) screen = gtk_widget_get_screen (GTK_WIDGET (window)); g_signal_connect_object (screen, "size-changed", - G_CALLBACK (screen_size_changed_cb), - window, 0); + G_CALLBACK (screen_size_changed_cb), + window, 0); - g_signal_connect (popup, - "enter-notify-event", - G_CALLBACK (fullscreen_leave_notify_cb), - window); + g_signal_connect (popup, "enter-notify-event", + G_CALLBACK (fullscreen_leave_notify_cb), + window); gtk_window_set_screen (GTK_WINDOW (popup), screen); @@ -2096,25 +2096,21 @@ eom_window_run_fullscreen (EomWindow *window, gboolean slideshow) g_assert (GTK_IS_WIDGET (menubar)); gtk_widget_hide (menubar); - g_signal_connect (priv->view, - "motion-notify-event", - G_CALLBACK (fullscreen_motion_notify_cb), - window); + g_signal_connect (priv->view, "motion-notify-event", + G_CALLBACK (fullscreen_motion_notify_cb), + window); - g_signal_connect (priv->view, - "leave-notify-event", - G_CALLBACK (fullscreen_leave_notify_cb), - window); + g_signal_connect (priv->view, "leave-notify-event", + G_CALLBACK (fullscreen_leave_notify_cb), + window); - g_signal_connect (priv->thumbview, - "motion-notify-event", - G_CALLBACK (fullscreen_motion_notify_cb), - window); + g_signal_connect (priv->thumbview, "motion-notify-event", + G_CALLBACK (fullscreen_motion_notify_cb), + window); - g_signal_connect (priv->thumbview, - "leave-notify-event", - G_CALLBACK (fullscreen_leave_notify_cb), - window); + g_signal_connect (priv->thumbview, "leave-notify-event", + G_CALLBACK (fullscreen_leave_notify_cb), + window); fullscreen_set_timeout (window); @@ -2178,20 +2174,20 @@ eom_window_stop_fullscreen (EomWindow *window, gboolean slideshow) } g_signal_handlers_disconnect_by_func (priv->view, - (gpointer) fullscreen_motion_notify_cb, - window); + fullscreen_motion_notify_cb, + window); g_signal_handlers_disconnect_by_func (priv->view, - (gpointer) fullscreen_leave_notify_cb, + fullscreen_leave_notify_cb, window); g_signal_handlers_disconnect_by_func (priv->thumbview, - (gpointer) fullscreen_motion_notify_cb, - window); + fullscreen_motion_notify_cb, + window); g_signal_handlers_disconnect_by_func (priv->thumbview, - (gpointer) fullscreen_leave_notify_cb, - window); + fullscreen_leave_notify_cb, + window); update_ui_visibility (window); @@ -2261,7 +2257,8 @@ eom_window_print (EomWindow *window) _("Error printing file:\n%s"), error->message); g_signal_connect (dialog, "response", - G_CALLBACK (gtk_widget_destroy), NULL); + G_CALLBACK (gtk_widget_destroy), + NULL); gtk_widget_show (dialog); g_error_free (error); } else if (res == GTK_PRINT_OPERATION_RESULT_APPLY) { @@ -2326,8 +2323,8 @@ eom_window_cmd_file_open (GtkAction *action, gpointer user_data) } g_signal_connect (dlg, "response", - G_CALLBACK (file_open_dialog_response_cb), - window); + G_CALLBACK (file_open_dialog_response_cb), + window); gtk_widget_show_all (dlg); } @@ -2338,8 +2335,8 @@ eom_job_close_save_cb (EomJobSave *job, gpointer user_data) EomWindow *window = EOM_WINDOW (user_data); g_signal_handlers_disconnect_by_func (job, - eom_job_close_save_cb, - window); + eom_job_close_save_cb, + window); gtk_widget_destroy (GTK_WIDGET (window)); } @@ -2360,10 +2357,9 @@ close_confirmation_dialog_response_handler (EomCloseConfirmationDialog *dlg, /* save selected images */ selected_images = eom_close_confirmation_dialog_get_selected_images (dlg); if (eom_window_save_images (window, selected_images)) { - g_signal_connect (priv->save_job, - "finished", - G_CALLBACK (eom_job_close_save_cb), - window); + g_signal_connect (priv->save_job, "finished", + G_CALLBACK (eom_job_close_save_cb), + window); eom_job_queue_add_job (priv->save_job); } @@ -2422,10 +2418,9 @@ eom_window_unsaved_images_confirm (EomWindow *window) list); g_list_free (list); - g_signal_connect (dialog, - "response", - G_CALLBACK (close_confirmation_dialog_response_handler), - window); + g_signal_connect (dialog, "response", + G_CALLBACK (close_confirmation_dialog_response_handler), + window); gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); gtk_widget_show (dialog); @@ -2558,10 +2553,9 @@ eom_window_cmd_edit_toolbar (GtkAction *action, gpointer *user_data) g_object_set_data (G_OBJECT (dialog), "EggToolbarEditor", editor); - g_signal_connect (dialog, - "response", - G_CALLBACK (eom_window_cmd_edit_toolbar_cb), - window); + g_signal_connect (dialog, "response", + G_CALLBACK (eom_window_cmd_edit_toolbar_cb), + window); gtk_widget_show_all (dialog); } @@ -2645,7 +2639,7 @@ eom_window_cmd_about (GtkAction *action, gpointer user_data) "authors", authors, "documenters", documenters, "translator-credits", _("translator-credits"), - "website", "http://www.mate-desktop.org/", + "website", PACKAGE_URL, "logo-icon-name", "eom", "wrap-license", TRUE, "license", license_trans, @@ -2823,12 +2817,12 @@ eom_window_set_wallpaper (EomWindow *window, const gchar *filename, const gchar gtk_widget_show_all (hbox); gtk_widget_show (info_bar); - eom_window_set_message_area (window, info_bar); gtk_info_bar_set_default_response (GTK_INFO_BAR (info_bar), GTK_RESPONSE_YES); g_signal_connect (info_bar, "response", - G_CALLBACK (wallpaper_info_bar_response), window); + G_CALLBACK (wallpaper_info_bar_response), + window); } static void @@ -2838,12 +2832,12 @@ eom_job_save_cb (EomJobSave *job, gpointer user_data) GtkAction *action_save; g_signal_handlers_disconnect_by_func (job, - eom_job_save_cb, - window); + eom_job_save_cb, + window); g_signal_handlers_disconnect_by_func (job, - eom_job_save_progress_cb, - window); + eom_job_save_progress_cb, + window); g_object_unref (window->priv->save_job); window->priv->save_job = NULL; @@ -2916,15 +2910,13 @@ eom_window_save_images (EomWindow *window, GList *images) priv->save_job = eom_job_save_new (images); - g_signal_connect (priv->save_job, - "finished", - G_CALLBACK (eom_job_save_cb), - window); + g_signal_connect (priv->save_job, "finished", + G_CALLBACK (eom_job_save_cb), + window); - g_signal_connect (priv->save_job, - "progress", - G_CALLBACK (eom_job_save_progress_cb), - window); + g_signal_connect (priv->save_job, "progress", + G_CALLBACK (eom_job_save_progress_cb), + window); return TRUE; } @@ -3060,15 +3052,13 @@ eom_window_cmd_save_as (GtkAction *action, gpointer user_data) return; } - g_signal_connect (priv->save_job, - "finished", - G_CALLBACK (eom_job_save_cb), - window); + g_signal_connect (priv->save_job, "finished", + G_CALLBACK (eom_job_save_cb), + window); - g_signal_connect (priv->save_job, - "progress", - G_CALLBACK (eom_job_save_progress_cb), - window); + g_signal_connect (priv->save_job, "progress", + G_CALLBACK (eom_job_save_progress_cb), + window); eom_job_queue_add_job (priv->save_job); } @@ -3248,14 +3238,12 @@ eom_window_cmd_wallpaper (GtkAction *action, gpointer user_data) files = g_list_append (files, eom_image_get_file (image)); priv->copy_job = eom_job_copy_new (files, g_get_user_data_dir ()); - g_signal_connect (priv->copy_job, - "finished", - G_CALLBACK (eom_job_copy_cb), - window); - g_signal_connect (priv->copy_job, - "progress", - G_CALLBACK (eom_job_progress_cb), - window); + g_signal_connect (priv->copy_job, "finished", + G_CALLBACK (eom_job_copy_cb), + window); + g_signal_connect (priv->copy_job, "progress", + G_CALLBACK (eom_job_progress_cb), + window); eom_job_queue_add_job (priv->copy_job); g_object_unref (file); @@ -3770,12 +3758,12 @@ eom_window_cmd_go_random (GtkAction *action, gpointer user_data) } static const GtkActionEntry action_entries_window[] = { - { "Image", NULL, N_("_Image") }, - { "Edit", NULL, N_("_Edit") }, - { "View", NULL, N_("_View") }, - { "Go", NULL, N_("_Go") }, - { "Tools", NULL, N_("_Tools") }, - { "Help", NULL, N_("_Help") }, + { "Image", NULL, N_("_Image"), NULL, NULL, NULL }, + { "Edit", NULL, N_("_Edit"), NULL, NULL, NULL }, + { "View", NULL, N_("_View"), NULL, NULL, NULL }, + { "Go", NULL, N_("_Go"), NULL, NULL, NULL }, + { "Tools", NULL, N_("_Tools"), NULL, NULL, NULL }, + { "Help", NULL, N_("_Help"), NULL, NULL, NULL }, { "ImageOpen", "document-open", N_("_Open…"), "<control>O", N_("Open a file"), @@ -3960,9 +3948,11 @@ connect_proxy_cb (GtkUIManager *manager, if (GTK_IS_MENU_ITEM (proxy)) { disconnect_proxy_cb (manager, action, proxy, window); g_signal_connect (proxy, "select", - G_CALLBACK (menu_item_select_cb), window); + G_CALLBACK (menu_item_select_cb), + window); g_signal_connect (proxy, "deselect", - G_CALLBACK (menu_item_deselect_cb), window); + G_CALLBACK (menu_item_deselect_cb), + window); } } @@ -3973,10 +3963,12 @@ disconnect_proxy_cb (GtkUIManager *manager, EomWindow *window) { if (GTK_IS_MENU_ITEM (proxy)) { - g_signal_handlers_disconnect_by_func - (proxy, G_CALLBACK (menu_item_select_cb), window); - g_signal_handlers_disconnect_by_func - (proxy, G_CALLBACK (menu_item_deselect_cb), window); + g_signal_handlers_disconnect_by_func (proxy, + menu_item_select_cb, + window); + g_signal_handlers_disconnect_by_func (proxy, + menu_item_deselect_cb, + window); } } @@ -4079,9 +4071,9 @@ eom_window_update_recent_files_menu (EomWindow *window) actions = gtk_action_group_list_actions (priv->actions_recent); for (li = actions; li != NULL; li = li->next) { - g_signal_handlers_disconnect_by_func (GTK_ACTION (li->data), - G_CALLBACK(eom_window_open_recent_cb), - window); + g_signal_handlers_disconnect_by_func (li->data, + eom_window_open_recent_cb, + window); gtk_action_group_remove_action (priv->actions_recent, GTK_ACTION (li->data)); @@ -4140,8 +4132,8 @@ eom_window_update_recent_files_menu (EomWindow *window) g_object_set (G_OBJECT (action), "icon-name", "image-x-generic", NULL); g_signal_connect (action, "activate", - G_CALLBACK (eom_window_open_recent_cb), - window); + G_CALLBACK (eom_window_open_recent_cb), + window); G_GNUC_BEGIN_IGNORE_DEPRECATIONS; gtk_action_group_add_action (priv->actions_recent, action); @@ -4333,7 +4325,8 @@ eom_window_open_editor (GtkAction *action, { GdkAppLaunchContext *context; GAppInfo *app_info; - GList files; + GList *files = NULL; + GFile *file; app_info = get_appinfo_for_editor (window); @@ -4349,15 +4342,14 @@ eom_window_open_editor (GtkAction *action, gdk_app_launch_context_set_timestamp (context, gtk_get_current_event_time ()); - { - GList f = { eom_image_get_file (window->priv->image) }; - files = f; - } + file = eom_image_get_file (window->priv->image); + files = g_list_append (files, file); - g_app_info_launch (app_info, &files, + g_app_info_launch (app_info, files, G_APP_LAUNCH_CONTEXT (context), NULL); - g_object_unref (files.data); + g_list_free (files); + g_object_unref (file); g_object_unref (context); } @@ -4386,7 +4378,8 @@ eom_window_add_open_editor_action (EomWindow *window) gtk_action_set_is_important (action, TRUE); g_signal_connect (action, "activate", - G_CALLBACK (eom_window_open_editor), window); + G_CALLBACK (eom_window_open_editor), + window); gtk_action_group_add_action (window->priv->actions_image, action); G_GNUC_END_IGNORE_DEPRECATIONS; @@ -4421,8 +4414,10 @@ eom_window_construct_ui (EomWindow *window) G_GNUC_BEGIN_IGNORE_DEPRECATIONS; priv->actions_window = gtk_action_group_new ("MenuActionsWindow"); +#ifdef ENABLE_NLS gtk_action_group_set_translation_domain (priv->actions_window, GETTEXT_PACKAGE); +#endif /* ENABLE_NLS */ gtk_action_group_add_actions (priv->actions_window, action_entries_window, @@ -4439,8 +4434,10 @@ eom_window_construct_ui (EomWindow *window) G_GNUC_BEGIN_IGNORE_DEPRECATIONS; priv->actions_image = gtk_action_group_new ("MenuActionsImage"); +#ifdef ENABLE_NLS gtk_action_group_set_translation_domain (priv->actions_image, GETTEXT_PACKAGE); +#endif /* ENABLE_NLS */ gtk_action_group_add_actions (priv->actions_image, action_entries_image, @@ -4459,8 +4456,10 @@ eom_window_construct_ui (EomWindow *window) G_GNUC_BEGIN_IGNORE_DEPRECATIONS; priv->actions_collection = gtk_action_group_new ("MenuActionsCollection"); +#ifdef ENABLE_NLS gtk_action_group_set_translation_domain (priv->actions_collection, GETTEXT_PACKAGE); +#endif /* ENABLE_NLS */ gtk_action_group_add_actions (priv->actions_collection, action_entries_collection, @@ -4487,9 +4486,12 @@ eom_window_construct_ui (EomWindow *window) } g_signal_connect (priv->ui_mgr, "connect_proxy", - G_CALLBACK (connect_proxy_cb), window); + G_CALLBACK (connect_proxy_cb), + window); + g_signal_connect (priv->ui_mgr, "disconnect_proxy", - G_CALLBACK (disconnect_proxy_cb), window); + G_CALLBACK (disconnect_proxy_cb), + window); menubar = gtk_ui_manager_get_widget (priv->ui_mgr, "/MainMenu"); g_assert (GTK_IS_WIDGET (menubar)); @@ -4542,13 +4544,15 @@ eom_window_construct_ui (EomWindow *window) G_GNUC_BEGIN_IGNORE_DEPRECATIONS; priv->actions_recent = gtk_action_group_new ("RecentFilesActions"); +#ifdef ENABLE_NLS gtk_action_group_set_translation_domain (priv->actions_recent, GETTEXT_PACKAGE); +#endif /* ENABLE_NLS */ G_GNUC_END_IGNORE_DEPRECATIONS; g_signal_connect (gtk_recent_manager_get_default (), "changed", - G_CALLBACK (eom_window_recent_manager_changed_cb), - window); + G_CALLBACK (eom_window_recent_manager_changed_cb), + window); eom_window_update_recent_files_menu (window); @@ -4582,25 +4586,21 @@ eom_window_construct_ui (EomWindow *window) gtk_widget_set_size_request (priv->sidebar, 210, -1); - g_signal_connect_after (priv->sidebar, - "show", - G_CALLBACK (eom_window_sidebar_visibility_changed), - window); + g_signal_connect_after (priv->sidebar, "show", + G_CALLBACK (eom_window_sidebar_visibility_changed), + window); - g_signal_connect_after (priv->sidebar, - "hide", - G_CALLBACK (eom_window_sidebar_visibility_changed), - window); + g_signal_connect_after (priv->sidebar, "hide", + G_CALLBACK (eom_window_sidebar_visibility_changed), + window); - g_signal_connect_after (priv->sidebar, - "page-added", - G_CALLBACK (eom_window_sidebar_page_added), - window); + g_signal_connect_after (priv->sidebar, "page-added", + G_CALLBACK (eom_window_sidebar_page_added), + window); - g_signal_connect_after (priv->sidebar, - "page-removed", - G_CALLBACK (eom_window_sidebar_page_removed), - window); + g_signal_connect_after (priv->sidebar, "page-removed", + G_CALLBACK (eom_window_sidebar_page_removed), + window); priv->view = eom_scroll_view_new (); @@ -4609,10 +4609,9 @@ eom_window_construct_ui (EomWindow *window) GTK_WIDGET (eom_metadata_sidebar_new (window))); gtk_widget_set_size_request (GTK_WIDGET (priv->view), 100, 100); - g_signal_connect (G_OBJECT (priv->view), - "zoom_changed", - G_CALLBACK (view_zoom_changed_cb), - window); + g_signal_connect (priv->view, "zoom_changed", + G_CALLBACK (view_zoom_changed_cb), + window); g_settings_bind (priv->view_settings, EOM_CONF_VIEW_SCROLL_WHEEL_ZOOM, priv->view, "scrollwheel-zoom", G_SETTINGS_BIND_GET); @@ -4643,8 +4642,9 @@ eom_window_construct_ui (EomWindow *window) gtk_icon_view_set_margin (GTK_ICON_VIEW (priv->thumbview), 4); gtk_icon_view_set_row_spacing (GTK_ICON_VIEW (priv->thumbview), 0); - g_signal_connect (G_OBJECT (priv->thumbview), "selection_changed", - G_CALLBACK (handle_image_selection_changed_cb), window); + g_signal_connect (priv->thumbview, "selection_changed", + G_CALLBACK (handle_image_selection_changed_cb), + window); priv->nav = eom_thumb_nav_new (priv->thumbview, EOM_THUMB_NAV_MODE_ONE_ROW, @@ -4688,7 +4688,9 @@ static void eom_window_init (EomWindow *window) { GdkGeometry hints; +#if defined(HAVE_LCMS) && defined(GDK_WINDOWING_X11) GdkScreen *screen; +#endif EomWindowPrivate *priv; eom_debug (DEBUG_WINDOW); @@ -4701,8 +4703,6 @@ eom_window_init (EomWindow *window) hints.min_width = EOM_WINDOW_MIN_WIDTH; hints.min_height = EOM_WINDOW_MIN_HEIGHT; - screen = gtk_widget_get_screen (GTK_WIDGET (window)); - priv = window->priv = eom_window_get_instance_private (window); priv->view_settings = g_settings_new (EOM_CONF_VIEW); @@ -4710,10 +4710,9 @@ eom_window_init (EomWindow *window) priv->fullscreen_settings = g_settings_new (EOM_CONF_FULLSCREEN); priv->lockdown_settings = g_settings_new (EOM_CONF_LOCKDOWN_SCHEMA); - g_signal_connect (priv->lockdown_settings, - "changed::" EOM_CONF_LOCKDOWN_CAN_SAVE, - G_CALLBACK (eom_window_can_save_changed_cb), - window); + g_signal_connect (priv->lockdown_settings, "changed::" EOM_CONF_LOCKDOWN_CAN_SAVE, + G_CALLBACK (eom_window_can_save_changed_cb), + window); window->priv->store = NULL; window->priv->image = NULL; @@ -4741,6 +4740,7 @@ eom_window_init (EomWindow *window) window->priv->status = EOM_WINDOW_STATUS_UNKNOWN; #if defined(HAVE_LCMS) && defined(GDK_WINDOWING_X11) + screen = gtk_widget_get_screen (GTK_WIDGET (window)); window->priv->display_profile = eom_window_get_display_profile (screen); #endif @@ -4789,29 +4789,29 @@ eom_window_dispose (GObject *object) /* Disconnect so we don't get any unwanted callbacks * when the thumb view is disposed. */ g_signal_handlers_disconnect_by_func (priv->thumbview, - G_CALLBACK (handle_image_selection_changed_cb), - window); + handle_image_selection_changed_cb, + window); g_clear_object (&priv->thumbview); } if (priv->store != NULL) { g_signal_handlers_disconnect_by_func (priv->store, - eom_window_list_store_image_added, - window); + eom_window_list_store_image_added, + window); g_signal_handlers_disconnect_by_func (priv->store, - eom_window_list_store_image_removed, - window); + eom_window_list_store_image_removed, + window); g_object_unref (priv->store); priv->store = NULL; } if (priv->image != NULL) { g_signal_handlers_disconnect_by_func (priv->image, - image_thumb_changed_cb, - window); + image_thumb_changed_cb, + window); g_signal_handlers_disconnect_by_func (priv->image, - image_file_changed_cb, - window); + image_file_changed_cb, + window); g_object_unref (priv->image); priv->image = NULL; } @@ -4852,8 +4852,8 @@ eom_window_dispose (GObject *object) eom_window_uninhibit_screensaver (window); g_signal_handlers_disconnect_by_func (gtk_recent_manager_get_default (), - G_CALLBACK (eom_window_recent_manager_changed_cb), - window); + eom_window_recent_manager_changed_cb, + window); priv->recent_menu_id = 0; @@ -5241,9 +5241,11 @@ eom_window_constructor (GType type, peas_extension_set_call (priv->extensions, "activate"); g_signal_connect (priv->extensions, "extension-added", - G_CALLBACK (on_extension_added), object); + G_CALLBACK (on_extension_added), + object); g_signal_connect (priv->extensions, "extension-removed", - G_CALLBACK (on_extension_removed), object); + G_CALLBACK (on_extension_removed), + object); return object; } @@ -5327,9 +5329,10 @@ eom_window_class_init (EomWindowClass *class) * @flags: the initialization parameters for the new window. * * - * Creates a new and empty #EomWindow. Use @flags to indicate - * if the window should be initialized fullscreen, in slideshow mode, - * and/or without the thumbnails collection visible. See #EomStartupFlags. + * Creates a new and empty #EomWindow. Use @flags to indicate if the window + * should be initialized fullscreen, in slideshow mode, and/or without the + * thumbnails collection visible. Use preserve-order to maintain + * the order of input parameters instead of sorting. See #EomStartupFlags. * * Returns: a newly created #EomWindow. **/ @@ -5413,15 +5416,13 @@ eom_job_model_cb (EomJobModel *job, gpointer data) eom_thumb_view_set_model (EOM_THUMB_VIEW (priv->thumbview), priv->store); - g_signal_connect (G_OBJECT (priv->store), - "row-inserted", - G_CALLBACK (eom_window_list_store_image_added), - window); + g_signal_connect (priv->store, "row-inserted", + G_CALLBACK (eom_window_list_store_image_added), + window); - g_signal_connect (G_OBJECT (priv->store), - "row-deleted", - G_CALLBACK (eom_window_list_store_image_removed), - window); + g_signal_connect (priv->store, "row-deleted", + G_CALLBACK (eom_window_list_store_image_removed), + window); if (n_images == 0) { gint n_files; @@ -5471,12 +5472,11 @@ eom_window_open_file_list (EomWindow *window, GSList *file_list) g_slist_foreach (file_list, (GFunc) g_object_ref, NULL); window->priv->file_list = file_list; - job = eom_job_model_new (file_list); + job = eom_job_model_new (file_list, !!(window->priv->flags & EOM_STARTUP_PRESERVE_ORDER)); - g_signal_connect (job, - "finished", - G_CALLBACK (eom_job_model_cb), - window); + g_signal_connect (job, "finished", + G_CALLBACK (eom_job_model_cb), + window); eom_job_queue_add_job (job); g_object_unref (job); diff --git a/src/eom-window.h b/src/eom-window.h index 04e028b..cd1d7b5 100644 --- a/src/eom-window.h +++ b/src/eom-window.h @@ -78,7 +78,8 @@ typedef enum { typedef enum { EOM_STARTUP_FULLSCREEN = 1 << 0, EOM_STARTUP_SLIDE_SHOW = 1 << 1, - EOM_STARTUP_DISABLE_COLLECTION = 1 << 2 + EOM_STARTUP_DISABLE_COLLECTION = 1 << 2, + EOM_STARTUP_PRESERVE_ORDER = 1 << 3 } EomStartupFlags; struct _EomWindow { @@ -52,6 +52,7 @@ static gboolean fullscreen = FALSE; static gboolean slide_show = FALSE; static gboolean disable_collection = FALSE; static gboolean force_new_instance = FALSE; +static gboolean preserve_order = FALSE; static gchar **startup_files = NULL; static gboolean @@ -71,6 +72,7 @@ static const GOptionEntry goption_options[] = { "disable-image-collection", 'c', 0, G_OPTION_ARG_NONE, &disable_collection, N_("Disable image collection"), NULL }, { "slide-show", 's', 0, G_OPTION_ARG_NONE, &slide_show, N_("Open in slideshow mode"), NULL }, { "new-instance", 'n', 0, G_OPTION_ARG_NONE, &force_new_instance, N_("Start a new instance instead of reusing an existing one"), NULL }, + { "preserve-order", 'p', 0, G_OPTION_ARG_NONE, &preserve_order, N_("Preserve the input file order (disable default sorting)"), NULL }, { "version", 0, G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, _print_version_and_exit, N_("Show the application's version"), NULL}, { NULL } @@ -87,6 +89,9 @@ set_startup_flags (void) if (slide_show) flags |= EOM_STARTUP_SLIDE_SHOW; + + if (preserve_order) + flags |= EOM_STARTUP_PRESERVE_ORDER; } int @@ -97,9 +102,11 @@ main (int argc, char **argv) GFile *css_file; GtkCssProvider *provider; +#ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, EOM_LOCALE_DIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); +#endif /* ENABLE_NLS */ gdk_set_allowed_backends ("wayland,x11"); @@ -128,7 +135,6 @@ main (int argc, char **argv) } g_option_context_free (ctx); - set_startup_flags (); #ifdef HAVE_EXEMPI diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..92e6fff --- /dev/null +++ b/src/meson.build @@ -0,0 +1,180 @@ +resources = gnome.compile_resources( + 'eom-resources', + 'eom.gresource.xml', + c_name: '_eom', + source_dir: '../data', +) + +marshal = gnome.genmarshal('eom-marshal', sources: ['eom-marshal.list'], prefix: 'eom_marshal') + +inst_headers = files( + 'eom-application.h', + 'eom-application-activatable.h', + 'eom-debug.h', + 'eom-window.h', + 'eom-window-activatable.h', + 'eom-sidebar.h', + 'eom-properties-dialog.h', + 'eom-error-message-area.h', + 'eom-file-chooser.h', + 'eom-statusbar.h', + 'eom-thumb-nav.h', + 'eom-transform.h', + 'eom-image.h', + 'eom-enums.h', + 'eom-image-save-info.h', + 'eom-scroll-view.h', + 'eom-thumb-view.h', + 'eom-list-store.h', + 'eom-thumbnail.h', + 'eom-job-queue.h', + 'eom-clipboard-handler.h', + 'eom-jobs.h', +) + +noinst_headers = files( + 'eom-application-internal.h', + 'eom-session.h', + 'eom-util.h', + 'eom-pixbuf-util.h', + 'eom-preferences-dialog.h', + 'eom-config-keys.h', + 'eom-image-jpeg.h', + 'eom-image-private.h', + 'eom-metadata-sidebar.h', + 'eom-uri-converter.h', + 'eom-metadata-reader.h', + 'eom-metadata-reader-jpg.h', + 'eom-metadata-reader-png.h', + 'eom-save-as-dialog-helper.h', + 'eom-print-image-setup.h', + 'eom-print-preview.h', + 'eom-print.h', + 'eom-plugin-engine.h', + 'eom-close-confirmation-dialog.h', + 'zoom.h', +) + +enum = gnome.mkenums('eom-enum-types', c_template: 'eom-enum-types.c.template', h_template: 'eom-enum-types.h.template', sources: inst_headers) + +enum_headers = files( + 'eom-scroll-view.h', + 'eom-window.h', +) + +c_sources = files( + 'eom-application.c', + 'eom-application-activatable.c', + 'eom-session.c', + 'eom-debug.c', + 'eom-util.c', + 'eom-pixbuf-util.c', + 'eom-window.c', + 'eom-window-activatable.c', + 'eom-sidebar.c', + 'eom-preferences-dialog.c', + 'eom-properties-dialog.c', + 'eom-error-message-area.c', + 'eom-file-chooser.c', + 'eom-statusbar.c', + 'eom-thumb-nav.c', + 'eom-transform.c', + 'eom-image.c', + 'eom-image-jpeg.c', + 'eom-image-save-info.c', + 'eom-scroll-view.c', + 'eom-thumb-view.c', + 'eom-list-store.c', + 'eom-metadata-sidebar.c', + 'eom-thumbnail.c', + 'eom-job-queue.c', + 'eom-jobs.c', + 'eom-uri-converter.c', + 'eom-metadata-reader.c', + 'eom-metadata-reader-jpg.c', + 'eom-metadata-reader-png.c', + 'eom-save-as-dialog-helper.c', + 'eom-print-image-setup.c', + 'eom-print-preview.c', + 'eom-print.c', + 'eom-close-confirmation-dialog.c', + 'eom-plugin-engine.c', + 'eom-clipboard-handler.c', + 'zoom.c', +) + +libeom_src = [ + c_sources, + enum, + resources, + marshal, + noinst_headers, + inst_headers, +] + +if exif.found() + inst_headers += files('eom-exif-util.h') + noinst_headers += files('eom-metadata-details.h') + libeom_src += files( + 'eom-metadata-details.c', + 'eom-exif-util.c', + ) +endif + +if xmp.found() + noinst_headers += files('eom-metadata-details.h') + libeom_src += files('eom-metadata-details.c') +endif + +cflags = [ + '-DG_LOG_DOMAIN="EOM"', + '-DEOM_DATA_DIR="' + pkgdatadir + '"', + '-DEOM_LOCALE_DIR="' + localedir + '"', + '-DEOM_PLUGIN_DIR="' + pluginsdir + '"', + '-DLIBDIR="' + libdir + '"', +] + +include_dirs = [top_inc, toolbareditor_inc] + +if jpeg.found() + include_dirs += [jpegutils_inc] +endif + +libeom = static_library( + 'eom', + libeom_src, + c_args: cflags, + dependencies: all_deps, + include_directories: include_dirs, +) + +src_inc = include_directories('.') + +install_headers(inst_headers, install_dir: join_paths(includedir, 'eom-' + eom_api_version, 'eom')) + +eom_links = [libeom, toolbareditor] + +if jpeg.found() + eom_links += [jpegutils] +endif + +bin = executable( + 'eom', ['main.c', resources], + install: true, + c_args: cflags, + dependencies: all_deps, + link_with: eom_links, + include_directories: include_dirs, +) + +if gobject_introspection.found() + gir = gnome.generate_gir( + bin, + includes: ['Gtk-3.0'], + sources: [inst_headers, c_sources, enum, resources, marshal], + include_directories: include_dirs, + install: true, + namespace: 'Eom', + nsversion: '1.0', + ) +endif |