Branch: refs/heads/master Author: LarsDW223 lars_paulsen@web.de Committer: LarsDW223 lars_paulsen@web.de Date: Tue, 17 Oct 2017 18:36:06 UTC Commit: 977729af13ef60601ba81ce26e0e4608387e754c https://github.com/geany/geany-plugins/commit/977729af13ef60601ba81ce26e0e46...
Log Message: ----------- geanylatex: move old config file to new folder
Move old config file to new folder if it still exists. Remove old config dir afterwards.
Modified Paths: -------------- latex/src/latex.c
Modified: latex/src/latex.c 54 lines changed, 54 insertions(+), 0 deletions(-) =================================================================== @@ -30,6 +30,7 @@ #include "config.h" /* for the gettext domain */ #endif
+#include <glib/gstdio.h> #include "latex.h" #include "ctype.h"
@@ -181,6 +182,58 @@ static GtkWidget *init_toolbar(void) }
+/* Move "geanyLaTex/general.conf" to "LaTex/general.conf" + if it still exists. */ +static void +move_old_config_file(void) +{ + gchar *filename_old, *filename_new, *dir_new; + GFile *file_old, *file_new; + + filename_old = g_strconcat(geany->app->configdir, + G_DIR_SEPARATOR_S, "plugins", G_DIR_SEPARATOR_S, + "geanyLaTeX", G_DIR_SEPARATOR_S, "general.conf", NULL); + + if (g_file_test(filename_old, G_FILE_TEST_EXISTS)) + { + filename_new = g_strconcat(geany->app->configdir, + G_DIR_SEPARATOR_S, "plugins", G_DIR_SEPARATOR_S, + "LaTeX", G_DIR_SEPARATOR_S, "general.conf", NULL); + + dir_new = g_path_get_dirname(filename_new); + if (!g_file_test(dir_new, G_FILE_TEST_IS_DIR) + && utils_mkdir(dir_new, TRUE) != 0) + { + dialogs_show_msgbox(GTK_MESSAGE_ERROR, + _("Plugin configuration directory could not be created.")); + } + + file_old = g_file_new_for_path(filename_old); + file_new = g_file_new_for_path(filename_new); + + g_file_move(file_old, file_new, 0, NULL, NULL, NULL, NULL); + + g_object_unref(file_old); + g_object_unref(file_new); + + if (!g_file_test(filename_old, G_FILE_TEST_EXISTS)) + { + gchar *dir_old; + + /* File move successful, remove old dir. */ + dir_old = g_path_get_dirname(filename_old); + g_rmdir(dir_old); + g_free(dir_old); + } + + g_free(filename_new); + g_free(dir_new); + } + + g_free(filename_old); +} + + static void on_configure_response(G_GNUC_UNUSED GtkDialog *dialog, gint response, G_GNUC_UNUSED gpointer user_data) @@ -2404,6 +2457,7 @@ plugin_init(G_GNUC_UNUSED GeanyData * data) } }
+ move_old_config_file(); }
void
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).