diff -ru planner-0.14.5.orig/src/planner-msp-plugin.c planner-0.14.5/src/planner-msp-plugin.c
--- planner-0.14.5.orig/src/planner-msp-plugin.c 2009-09-24 11:12:52.000000000 +0100
+++ planner-0.14.5/src/planner-msp-plugin.c 2009-09-24 11:19:20.000000000 +0100
@@ -177,7 +177,7 @@
dir = planner_conf_get_string (CONF_MSP_PLUGIN_LAST_DIR, NULL);
if (dir == NULL) {
- dir = g_strdup (g_get_home_dir ());
+ dir = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS));
}
return dir;
diff -ru planner-0.14.5.orig/src/planner-print-dialog.c planner-0.14.5/src/planner-print-dialog.c
--- planner-0.14.5.orig/src/planner-print-dialog.c 2009-09-24 11:12:52.000000000 +0100
+++ planner-0.14.5/src/planner-print-dialog.c 2009-09-24 11:13:10.000000000 +0100
@@ -43,7 +43,7 @@
{
char *dir;
- dir = g_build_filename (g_get_home_dir (), ".gnome2", NULL);
+ dir = g_build_filename (g_get_user_config_dir (), NULL);
if (!g_file_test (dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
if (g_mkdir (dir, 0755) != 0) {
@@ -54,7 +54,7 @@
g_free (dir);
- dir = g_build_filename (g_get_home_dir (), ".gnome2", "planner", NULL);
+ dir = g_build_filename (g_get_user_config_dir (), "planner", NULL);
if (!g_file_test (dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
if (g_mkdir (dir, 0755) != 0) {
@@ -75,6 +75,19 @@
return NULL;
}
+ return g_build_filename (g_get_user_config_dir (),
+ "planner",
+ PLANNER_PRINT_CONFIG_FILE,
+ NULL);
+}
+
+static gchar *
+get_old_config_filename (void)
+{
+ if (!ensure_dir ()) {
+ return NULL;
+ }
+
return g_build_filename (g_get_home_dir (),
".gnome2", "planner",
PLANNER_PRINT_CONFIG_FILE,
@@ -171,8 +184,21 @@
filename,
G_KEY_FILE_KEEP_COMMENTS|G_KEY_FILE_KEEP_TRANSLATIONS,
NULL);
+
g_free (filename);
+ /*try the older config dir if the new one didn't exist*/
+ if (!success) {
+ filename = get_old_config_filename ();
+ if(filename) {
+ success = g_key_file_load_from_file (key_file,
+ filename,
+ G_KEY_FILE_KEEP_COMMENTS|G_KEY_FILE_KEEP_TRANSLATIONS,
+ NULL);
+ g_free (filename);
+ }
+ }
+
if (success) {
settings = gtk_print_settings_new_from_key_file (key_file, NULL, NULL);
}
diff -ru planner-0.14.5.orig/src/planner-python-plugin.c planner-0.14.5/src/planner-python-plugin.c
--- planner-0.14.5.orig/src/planner-python-plugin.c 2009-09-24 11:12:52.000000000 +0100
+++ planner-0.14.5/src/planner-python-plugin.c 2009-09-24 11:31:06.000000000 +0100
@@ -125,26 +125,15 @@
}
}
-G_MODULE_EXPORT void
-plugin_init (PlannerPlugin *plugin)
+static void
+plugin_execute_scripts(PlannerPlugin *plugin, const gchar *dirname)
{
- PlannerPluginPriv *priv;
GDir *dir;
- gchar *dirname, *full_filename;
+ gchar *full_filename;
const gchar *filename;
- priv = g_new0 (PlannerPluginPriv, 1);
- plugin->priv = priv;
-
- priv->scripts = g_hash_table_new (g_str_hash, g_str_equal);
-
- Py_Initialize ();
-
- /* Look in ~/.gnome2/planner/python/ and run the scripts that we find */
- dirname = g_build_filename (g_get_home_dir(), ".gnome2", "planner", "python", NULL);
dir = g_dir_open (dirname, 0, NULL);
if (dir == NULL) {
- g_free (dirname);
return;
}
@@ -152,7 +141,7 @@
while (filename != NULL) {
if (g_str_has_suffix (filename, ".py")) {
full_filename = g_build_filename (dirname, filename, NULL);
- python_plugin_execute (full_filename, plugin->main_window, priv->scripts);
+ python_plugin_execute (full_filename, plugin->main_window, plugin->priv->scripts);
g_free (full_filename);
}
@@ -164,6 +153,33 @@
}
G_MODULE_EXPORT void
+plugin_init (PlannerPlugin *plugin)
+{
+ PlannerPluginPriv *priv;
+ GDir *dir;
+ gchar *dirname;
+ const gchar *filename;
+
+ priv = g_new0 (PlannerPluginPriv, 1);
+ plugin->priv = priv;
+
+ priv->scripts = g_hash_table_new (g_str_hash, g_str_equal);
+
+ Py_Initialize ();
+
+ /* Look in $XDG_DATA_HOME/planner/python/ and run the scripts that we find */
+ dirname = g_build_filename (g_get_user_data_dir(), "planner", "python", NULL);
+ plugin_execute_scripts(plugin, dirname);
+ g_free (dirname);
+
+
+ /* Look in ~/.gnome2/planner/python/ and run the scripts that we find */
+ dirname = g_build_filename (g_get_home_dir(), ".gnome2", "planner", "python", NULL);
+ plugin_execute_scripts(plugin, dirname);
+ g_free (dirname);
+}
+
+G_MODULE_EXPORT void
plugin_exit (PlannerPlugin *plugin)
{
PlannerPluginPriv *priv;
diff -ru planner-0.14.5.orig/src/planner-window.c planner-0.14.5/src/planner-window.c
--- planner-0.14.5.orig/src/planner-window.c 2009-09-24 11:12:52.000000000 +0100
+++ planner-0.14.5/src/planner-window.c 2009-09-24 11:18:11.000000000 +0100
@@ -850,7 +850,7 @@
last_dir = planner_conf_get_string (CONF_LAST_DIR, NULL);
if (last_dir == NULL) {
- last_dir = g_strdup (g_get_home_dir ());
+ last_dir = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS));
}
return last_dir;
diff -ru planner-0.14.5.orig/src/planner-xml-planner-plugin.c planner-0.14.5/src/planner-xml-planner-plugin.c
--- planner-0.14.5.orig/src/planner-xml-planner-plugin.c 2009-09-24 11:12:52.000000000 +0100
+++ planner-0.14.5/src/planner-xml-planner-plugin.c 2009-09-24 11:19:05.000000000 +0100
@@ -63,7 +63,7 @@
last_dir = planner_conf_get_string (CONF_MAIN_LAST_XML_EXPORT_DIR, NULL);
if (last_dir == NULL) {
- last_dir = g_strdup (g_get_home_dir ());
+ last_dir = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS));
}
return last_dir;