[geany/geany-plugins] 663d3d: overview: Fix locating the ui file on OS X when using bundle

Jiří Techet git-noreply at xxxxx
Wed Apr 26 20:46:20 UTC 2017


Branch:      refs/heads/osx_relpath
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Wed, 26 Apr 2017 20:46:20 UTC
Commit:      663d3d798b0ab6ba7ae6b3cee75f9689e83fca6f
             https://github.com/geany/geany-plugins/commit/663d3d798b0ab6ba7ae6b3cee75f9689e83fca6f

Log Message:
-----------
overview: Fix locating the ui file on OS X when using bundle


Modified Paths:
--------------
    overview/overview/overviewprefspanel.c

Modified: overview/overview/overviewprefspanel.c
26 lines changed, 19 insertions(+), 7 deletions(-)
===================================================================
@@ -192,18 +192,31 @@ overview_prefs_panel_load_prefs (OverviewPrefsPanel *self)
   g_signal_emit_by_name (self, "prefs-loaded", self->prefs);
 }
 
+static gchar *
+get_data_dir_path (const gchar *filename)
+{
+    gchar *prefix = NULL;
+    gchar *path;
+
+#ifdef G_OS_WIN32
+    prefix = g_win32_get_package_installation_directory_of_module (NULL);
+#elif defined(__APPLE__)
+    if (g_getenv ("GEANY_PLUGINS_SHARE_PATH"))
+        return g_build_filename (g_getenv ("GEANY_PLUGINS_SHARE_PATH"), 
+                                 PLUGIN, filename, NULL);
+#endif
+    path = g_build_filename (prefix ? prefix : "", PLUGINDATADIR, filename, NULL);
+    g_free (prefix);
+    return path;
+}
+
 static void
 overview_prefs_panel_init (OverviewPrefsPanel *self)
 {
   GtkBuilder *builder;
   GError     *error = NULL;
   GtkWidget  *overlay_frame;
-#ifdef G_OS_WIN32
-  gchar      *prefix = g_win32_get_package_installation_directory_of_module (NULL);
-#else
-  gchar      *prefix = NULL;
-#endif
-  gchar      *ui_file_path = g_build_filename (prefix ? prefix : "", PLUGINDATADIR, "prefs.ui", NULL);
+  gchar      *ui_file_path = get_data_dir_path ("prefs.ui");
 
   builder = gtk_builder_new ();
   if (! gtk_builder_add_from_file (builder, ui_file_path, &error))
@@ -215,7 +228,6 @@ overview_prefs_panel_init (OverviewPrefsPanel *self)
     }
 
   g_free (ui_file_path);
-  g_free (prefix);
 
   self->prefs_table    = builder_get_widget (builder, "prefs-table");
   self->width_spin     = builder_get_widget (builder, "width-spin");



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list