diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/fullscreen/eom-fullscreen-plugin.c | 12 | ||||
-rw-r--r-- | plugins/fullscreen/meson.build | 27 | ||||
-rw-r--r-- | plugins/meson.build | 8 | ||||
-rw-r--r-- | plugins/reload/meson.build | 27 | ||||
-rw-r--r-- | plugins/statusbar-date/eom-statusbar-date-plugin.c | 9 | ||||
-rw-r--r-- | plugins/statusbar-date/meson.build | 27 |
6 files changed, 106 insertions, 4 deletions
diff --git a/plugins/fullscreen/eom-fullscreen-plugin.c b/plugins/fullscreen/eom-fullscreen-plugin.c index 653a725..b2565a1 100644 --- a/plugins/fullscreen/eom-fullscreen-plugin.c +++ b/plugins/fullscreen/eom-fullscreen-plugin.c @@ -119,8 +119,7 @@ eom_fullscreen_plugin_activate (EomWindowActivatable *activatable) eom_debug (DEBUG_PLUGINS); - plugin->signal_id = g_signal_connect (G_OBJECT (view), - "button-press-event", + plugin->signal_id = g_signal_connect (view, "button-press-event", G_CALLBACK (on_button_press), plugin->window); } @@ -131,7 +130,14 @@ eom_fullscreen_plugin_deactivate (EomWindowActivatable *activatable) EomFullscreenPlugin *plugin = EOM_FULLSCREEN_PLUGIN (activatable); GtkWidget *view = eom_window_get_view (plugin->window); - g_signal_handler_disconnect (view, plugin->signal_id); +#if GLIB_CHECK_VERSION(2,62,0) + g_clear_signal_handler (&plugin->signal_id, view); +#else + if (plugin->signal_id != 0) { + g_signal_handler_disconnect (view, plugin->signal_id); + plugin->signal_id = 0; + } +#endif } static void diff --git a/plugins/fullscreen/meson.build b/plugins/fullscreen/meson.build new file mode 100644 index 0000000..960a09e --- /dev/null +++ b/plugins/fullscreen/meson.build @@ -0,0 +1,27 @@ +desktopfile = configure_file(input: 'fullscreen.plugin.desktop.in.in', configuration: pkg_info, output: 'fullscreen.plugin.desktop.in') +if get_option('nls') + i18n.merge_file( + input: desktopfile, + output: 'fullscreen.plugin', + install: true, + install_dir: pluginsdir, + type: 'desktop', + po_dir: po_dir, + ) +else + install_data(desktopfile, install_dir: pluginsdir, rename: ['fullscreen.plugin']) +endif + +shared_library( + 'fullscreen', + sources: [ + 'eom-fullscreen-plugin.h', + 'eom-fullscreen-plugin.c', + ], + c_args: plugins_c_args, + dependencies: all_deps, + include_directories: [top_inc, src_inc], + link_with: [eom_links], + install: true, + install_dir: pluginsdir +) diff --git a/plugins/meson.build b/plugins/meson.build new file mode 100644 index 0000000..3513e60 --- /dev/null +++ b/plugins/meson.build @@ -0,0 +1,8 @@ +plugins_c_args = ['-DEOM_LOCALEDIR=' + join_paths(datadir / 'locale')] + +subdir('fullscreen') +subdir('reload') + +if exif.found() + subdir('statusbar-date') +endif diff --git a/plugins/reload/meson.build b/plugins/reload/meson.build new file mode 100644 index 0000000..5078556 --- /dev/null +++ b/plugins/reload/meson.build @@ -0,0 +1,27 @@ +desktopfile = configure_file(input: 'reload.plugin.desktop.in.in', configuration: pkg_info, output: 'reload.plugin.desktop.in') +if get_option('nls') + i18n.merge_file( + input: desktopfile, + output: 'reload.plugin', + install: true, + install_dir: pluginsdir, + type: 'desktop', + po_dir: po_dir, + ) +else + install_data(desktopfile, install_dir: pluginsdir, rename: ['reload.plugin']) +endif + +shared_library( + 'reload', + sources: [ + 'eom-reload-plugin.h', + 'eom-reload-plugin.c', + ], + c_args: plugins_c_args, + dependencies: all_deps, + include_directories: [top_inc, src_inc], + link_with: [eom_links], + install: true, + install_dir: pluginsdir +) diff --git a/plugins/statusbar-date/eom-statusbar-date-plugin.c b/plugins/statusbar-date/eom-statusbar-date-plugin.c index 81b65f2..322277d 100644 --- a/plugins/statusbar-date/eom-statusbar-date-plugin.c +++ b/plugins/statusbar-date/eom-statusbar-date-plugin.c @@ -195,7 +195,14 @@ eom_statusbar_date_plugin_deactivate (EomWindowActivatable *activatable) GtkWidget *statusbar = eom_window_get_statusbar (window); GtkWidget *view = eom_window_get_thumb_view (window); - g_signal_handler_disconnect (view, plugin->signal_id); +#if GLIB_CHECK_VERSION(2,62,0) + g_clear_signal_handler (&plugin->signal_id, view); +#else + if (plugin->signal_id != 0) { + g_signal_handler_disconnect (view, plugin->signal_id); + plugin->signal_id = 0; + } +#endif gtk_container_remove (GTK_CONTAINER (statusbar), plugin->statusbar_date); } diff --git a/plugins/statusbar-date/meson.build b/plugins/statusbar-date/meson.build new file mode 100644 index 0000000..bdde68f --- /dev/null +++ b/plugins/statusbar-date/meson.build @@ -0,0 +1,27 @@ +desktopfile = configure_file(input: 'statusbar-date.plugin.desktop.in.in', configuration: pkg_info, output: 'statusbar-date.plugin.desktop.in') +if get_option('nls') + i18n.merge_file( + input: desktopfile, + output: 'statusbar-date.plugin', + install: true, + install_dir: pluginsdir, + type: 'desktop', + po_dir: po_dir, + ) +else + install_data(desktopfile, install_dir: pluginsdir, rename: ['statusbar-date.plugin']) +endif + +shared_library( + 'statusbar-date', + sources: [ + 'eom-statusbar-date-plugin.h', + 'eom-statusbar-date-plugin.c', + ], + c_args: plugins_c_args, + dependencies: all_deps, + include_directories: [top_inc, src_inc], + link_with: [eom_links], + install: true, + install_dir: pluginsdir +) |