summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/fullscreen/eom-fullscreen-plugin.c12
-rw-r--r--plugins/fullscreen/meson.build27
-rw-r--r--plugins/meson.build8
-rw-r--r--plugins/reload/meson.build27
-rw-r--r--plugins/statusbar-date/eom-statusbar-date-plugin.c9
-rw-r--r--plugins/statusbar-date/meson.build27
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
+)