Branch: refs/heads/master Author: Enrico Tröger enrico.troeger@uvena.de Committer: Colomban Wendling ban@herbesfolles.org Date: Sun, 13 Mar 2016 00:12:11 UTC Commit: 157ce2610b2f28c56cda97750b5f94a223c3dcbb https://github.com/geany/geany-plugins/commit/157ce2610b2f28c56cda97750b5f94...
Log Message: ----------- pohelper: Fix references to installation paths on Windows
Modified Paths: -------------- pohelper/src/gph-plugin.c
Modified: pohelper/src/gph-plugin.c 27 lines changed, 23 insertions(+), 4 deletions(-) =================================================================== @@ -1358,6 +1358,22 @@ on_color_button_color_notify (GtkWidget *widget, gtk_color_button_get_color (GTK_COLOR_BUTTON (widget), user_data); }
+static gchar * +get_data_dir_path (const gchar *filename) +{ +#ifdef G_OS_WIN32 + gchar *prefix = g_win32_get_package_installation_directory_of_module (NULL); +#else + gchar *prefix = NULL; +#endif + gchar *path = g_build_filename (prefix ? prefix : "", PLUGINDATADIR, + filename, NULL); + + g_free (prefix); + + return path; +} + static void show_stats_dialog (guint all, guint translated, @@ -1365,11 +1381,11 @@ show_stats_dialog (guint all, guint untranslated) { GError *error = NULL; + gchar *ui_filename = get_data_dir_path ("stats.ui");; GtkBuilder *builder = gtk_builder_new ();
gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE); - if (! gtk_builder_add_from_file (builder, PKGDATADIR"/pohelper/stats.ui", - &error)) { + if (! gtk_builder_add_from_file (builder, ui_filename, &error)) { g_critical (_("Failed to load UI definition, please check your " "installation. The error was: %s"), error->message); g_error_free (error); @@ -1449,6 +1465,7 @@ show_stats_dialog (guint all, gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (GTK_WIDGET (dialog)); } + g_free (ui_filename); g_object_unref (builder); }
@@ -1695,14 +1712,15 @@ plugin_init (GeanyData *data) { GtkBuilder *builder; GError *error = NULL; + gchar *ui_filename; guint i;
load_config ();
+ ui_filename = get_data_dir_path ("menus.ui"); builder = gtk_builder_new (); gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE); - if (! gtk_builder_add_from_file (builder, PKGDATADIR"/pohelper/menus.ui", - &error)) { + if (! gtk_builder_add_from_file (builder, ui_filename, &error)) { g_critical (_("Failed to load UI definition, please check your " "installation. The error was: %s"), error->message); g_error_free (error); @@ -1722,6 +1740,7 @@ plugin_init (GeanyData *data) g_signal_connect (obj, "toggled", G_CALLBACK (on_update_headers_upon_save_toggled), NULL); } + g_free (ui_filename);
/* signal handlers */ plugin_signal_connect (geany_plugin, NULL, "document-activate", TRUE,
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
plugins-commits@lists.geany.org