[gnome-commander] Adjust code for creating and finding the user's plugin path
- From: Uwe Scholz <uwescholz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-commander] Adjust code for creating and finding the user's plugin path
- Date: Mon, 4 Mar 2019 20:14:45 +0000 (UTC)
commit 20e22564f1b07863b443d2d3185f17d7ea6eb038
Author: Uwe Scholz <u scholz83 gmx de>
Date: Mon Mar 4 21:12:29 2019 +0100
Adjust code for creating and finding the user's plugin path
src/plugin_manager.cc | 43 ++++++++++++++++++++++++++++++++++++++++---
1 file changed, 40 insertions(+), 3 deletions(-)
---
diff --git a/src/plugin_manager.cc b/src/plugin_manager.cc
index 910b6367..3032a7e8 100644
--- a/src/plugin_manager.cc
+++ b/src/plugin_manager.cc
@@ -44,6 +44,7 @@ static GdkBitmap *exec_mask = NULL;
static GdkPixmap *blank_pixmap = NULL;
static GdkBitmap *blank_mask = NULL;
+gchar* get_plugin_config_location();
static void load_plugin (PluginData *data)
{
@@ -219,9 +220,11 @@ void plugin_manager_init ()
}
// find user plugins
- gchar *user_dir = g_build_filename (g_get_home_dir (), "." PACKAGE "/plugins", NULL);
- create_dir_if_needed (user_dir);
- scan_plugins_in_dir (user_dir);
+ gchar *user_dir = get_plugin_config_location();
+ if (create_dir_if_needed (user_dir))
+ {
+ scan_plugins_in_dir (user_dir);
+ }
g_free (user_dir);
// find system plugins
@@ -461,3 +464,37 @@ void plugin_manager_show ()
gtk_window_set_resizable ((GtkWindow *) GTK_WIDGET (dialog), TRUE);
gtk_widget_show_all (GTK_WIDGET (dialog));
}
+
+gchar* get_plugin_config_location()
+{
+ gchar* returnString {NULL};
+
+ string userPluginConfigDir = get_package_config_dir();
+ userPluginConfigDir += (char*) "/plugins";
+
+ auto dir_exists = is_dir_existing(userPluginConfigDir.c_str());
+
+ switch (dir_exists)
+ {
+ case 0:
+ {
+ if (create_dir_if_needed (userPluginConfigDir.c_str()))
+ {
+ returnString = g_strdup(userPluginConfigDir.c_str());
+ }
+ break;
+ }
+ case 1:
+ {
+ returnString = g_strdup(userPluginConfigDir.c_str());
+ break;
+ }
+ case -1:
+ default:
+ {
+ break;
+ }
+ }
+
+ return returnString;
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]