gtranslator r3526 - in trunk: . src
- From: icq svn gnome org
- To: svn-commits-list gnome org
- Subject: gtranslator r3526 - in trunk: . src
- Date: Tue, 25 Mar 2008 09:48:54 +0000 (GMT)
Author: icq
Date: Tue Mar 25 09:48:54 2008
New Revision: 3526
URL: http://svn.gnome.org/viewvc/gtranslator?rev=3526&view=rev
Log:
2008-03-25 Ignacio Casal Quinteiro <nacho resa gmail com>
* src/utils.ch:
* src/prefs-manager-app.c:
* src/application.c:
* src/window.c:
Added config folder to store all config files.
(Fixed bug #523898).
* configure.ac:
Switched to gettext 0.17.
Modified:
trunk/ChangeLog
trunk/configure.ac
trunk/src/application.c
trunk/src/prefs-manager-app.c
trunk/src/utils.c
trunk/src/utils.h
trunk/src/window.c
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Tue Mar 25 09:48:54 2008
@@ -133,13 +133,13 @@
AC_SUBST(SC_STATEDIR)
dnl -------------------------------------------------------------------
-dnl Check for gettext >= 0.16.0 - uses it's parser/writer functions
+dnl Check for gettext >= 0.17.0 - uses it's parser/writer functions
dnl -------------------------------------------------------------------
AC_CHECK_HEADER([gettext-po.h])
-AC_CHECK_LIB([gettextpo], [po_message_create], [
+AC_CHECK_LIB([gettextpo], [po_message_is_format], [
LDFLAGS="$LDFLAGS -lgettextpo"
],[
- AC_MSG_ERROR(Missing or inadequate gettext library. Need at least version 0.14.2)
+ AC_MSG_ERROR(Missing or inadequate gettext library. Need at least version 0.17.0)
])
dnl -------------------------------------------------------------------
Modified: trunk/src/application.c
==============================================================================
--- trunk/src/application.c (original)
+++ trunk/src/application.c Tue Mar 25 09:48:54 2008
@@ -21,11 +21,13 @@
#endif
#include "application.h"
+#include "utils.h"
#include "window.h"
#include "egg-toolbars-model.h"
#include <glib.h>
#include <glib-object.h>
+#include <gio/gio.h>
#include <glib/gi18n.h>
#include <gtk/gtk.h>
@@ -50,16 +52,16 @@
static gchar *
get_accel_file (void)
{
- const gchar *home;
+ gchar *config;
- home = g_get_home_dir();
+ config = gtranslator_utils_get_user_config_dir ();
- if (home != NULL)
+ if (config != NULL)
{
- return g_build_filename (home,
- ".config",
+ return g_build_filename (config,
"gtranslator-accels",
NULL);
+ g_free (config);
}
return NULL;
@@ -112,26 +114,78 @@
static void
gtranslator_application_init (GtranslatorApplication *application)
{
+ gchar *gtranslator_folder;
+ gchar *filename;
+
GtranslatorApplicationPrivate * priv;
application->priv = GTR_APPLICATION_GET_PRIVATE (application);
priv = application->priv;
priv->windows = NULL;
+
+ /*
+ * Creating config folder
+ */
+ gtranslator_folder = gtranslator_utils_get_user_config_dir ();
+
+ if (!g_file_test (gtranslator_folder, G_FILE_TEST_IS_DIR))
+ {
+ GFile *file;
+ GError *error = NULL;
+
+ file = g_file_new_for_path (gtranslator_folder);
+
+ if (g_file_test (gtranslator_folder, G_FILE_TEST_IS_REGULAR))
+ {
+ if (!g_file_delete (file, NULL, &error))
+ {
+ g_warning ("There was an error deleting the "
+ "old gtranslator file: %s", error->message);
+ g_error_free (error);
+ g_object_unref (file);
+ gtranslator_application_shutdown (application);
+ }
+ }
+
+ if (!g_file_make_directory (file, NULL, &error))
+ {
+ g_warning ("There was an error making the gtranslator config directory: %s",
+ error->message);
+
+ g_error_free (error);
+ g_object_unref (file);
+ gtranslator_application_shutdown (application);
+ }
+
+ g_object_unref (file);
+ }
priv->toolbars_model = egg_toolbars_model_new ();
+
+ priv->toolbars_file = g_build_filename (gtranslator_folder,
+ "gtr-toolbar.xml",
+ NULL);
+
+ g_warning (priv->toolbars_file);
+
+ filename = g_build_filename (DATADIR,
+ "gtr-toolbar.xml",
+ NULL);
- priv->toolbars_file = g_strdup_printf(
- "%s/.gtranslator/gtr-toolbar.xml", g_get_home_dir());
+ g_free (gtranslator_folder);
egg_toolbars_model_load_names (priv->toolbars_model,
- DATADIR"/gtr-toolbar.xml");
+ filename);
if (!egg_toolbars_model_load_toolbars (priv->toolbars_model,
- priv->toolbars_file)) {
+ priv->toolbars_file))
+ {
egg_toolbars_model_load_toolbars (priv->toolbars_model,
- DATADIR"/gtr-toolbar.xml");
+ filename);
}
+
+ g_free (filename);
egg_toolbars_model_set_flags (priv->toolbars_model, 0,
EGG_TB_MODEL_NOT_REMOVABLE);
@@ -316,7 +370,9 @@
GtkIconSource * icon_source = gtk_icon_source_new ();
gchar *path;
- path = g_strconcat (PIXMAPSDIR, "/", icon, NULL);
+ path = g_build_filename (PIXMAPSDIR,
+ icon,
+ NULL);
GdkPixbuf* pixbuf = gdk_pixbuf_new_from_file (path, NULL);
if (pixbuf)
Modified: trunk/src/prefs-manager-app.c
==============================================================================
--- trunk/src/prefs-manager-app.c (original)
+++ trunk/src/prefs-manager-app.c Tue Mar 25 09:48:54 2008
@@ -34,6 +34,7 @@
#include "prefs-manager-private.h"
#include "prefs-manager-app.h"
#include "application.h"
+#include "utils.h"
#include "view.h"
#include "window.h"
@@ -71,7 +72,7 @@
#define GTR_STATE_DEFAULT_CONTENT_PANE_POS 325
#define GTR_STATE_DEFAULT_COMMENT_PANE_POS 525
-#define GTR_STATE_FILE_LOCATION ".config/gtranslator"
+#define GTR_STATE_FILE_NAME "gtranslator.config"
#define GTR_STATE_WINDOW_GROUP "window"
#define GTR_STATE_WINDOW_STATE "state"
@@ -93,22 +94,17 @@
if (state_file == NULL)
{
- const gchar *home;
+ gchar *config_folder;
gchar *path;
GError *err = NULL;
state_file = g_key_file_new ();
- home = g_get_home_dir ();
- if (home == NULL)
- {
- g_warning ("Could not get HOME directory\n");
- goto out;
- }
-
- path = g_build_filename (home,
- GTR_STATE_FILE_LOCATION,
+ config_folder = gtranslator_utils_get_user_config_dir ();
+ path = g_build_filename (config_folder,
+ GTR_STATE_FILE_NAME,
NULL);
+ g_free (config_folder);
if (!g_key_file_load_from_file (state_file,
path,
@@ -126,7 +122,6 @@
g_free (path);
}
- out:
g_return_val_if_fail (state_file != NULL, NULL);
return state_file;
}
@@ -188,7 +183,7 @@
gtranslator_state_file_sync ()
{
GKeyFile *state_file;
- const gchar *home;
+ gchar *config_folder;
gchar *path;
gchar *content;
gsize length;
@@ -198,16 +193,11 @@
state_file = get_gtranslator_state_file ();
g_return_val_if_fail (state_file != NULL, FALSE);
- home = g_get_home_dir ();
- if (home == NULL)
- {
- g_warning ("Could not get HOME directory\n");
- return ret;
- }
-
- path = g_build_filename (home,
- GTR_STATE_FILE_LOCATION,
+ config_folder = gtranslator_utils_get_user_config_dir ();
+ path = g_build_filename (config_folder,
+ GTR_STATE_FILE_NAME,
NULL);
+ g_free (config_folder);
content = g_key_file_to_data (state_file,
&length,
Modified: trunk/src/utils.c
==============================================================================
--- trunk/src/utils.c (original)
+++ trunk/src/utils.c Tue Mar 25 09:48:54 2008
@@ -593,3 +593,11 @@
}
g_free (command);
}
+
+gchar *
+gtranslator_utils_get_user_config_dir (void)
+{
+ return g_build_filename (g_get_user_config_dir (),
+ "gtranslator",
+ NULL);
+}
Modified: trunk/src/utils.h
==============================================================================
--- trunk/src/utils.h (original)
+++ trunk/src/utils.h Tue Mar 25 09:48:54 2008
@@ -64,5 +64,7 @@
void gtranslator_utils_help_display (GtkWindow *parent,
const gchar *doc_id,
const gchar *file_name);
+
+gchar *gtranslator_utils_get_user_config_dir (void);
#endif
Modified: trunk/src/window.c
==============================================================================
--- trunk/src/window.c (original)
+++ trunk/src/window.c Tue Mar 25 09:48:54 2008
@@ -1331,6 +1331,7 @@
gint active_page;
GtkWidget *view_menu;
gchar *filename;
+ gchar *config_folder;
window->priv = GTR_WINDOW_GET_PRIVATE (window);
@@ -1397,12 +1398,16 @@
/*
* Loading dock layout
*/
- filename = g_strdup_printf ("%s/.config/gtranslator-layout.xml",
- g_get_home_dir());
+ config_folder = gtranslator_utils_get_user_config_dir ();
+ filename = g_build_filename (config_folder,
+ "gtranslator-layout.xml",
+ NULL);
+
gtranslator_window_layout_load (window,
filename,
NULL);
g_free (filename);
+ g_free (config_folder);
}
static void
@@ -1435,6 +1440,7 @@
save_panes_state(GtranslatorWindow *window)
{
gchar *filename;
+ gchar *config_folder;
if (gtranslator_prefs_manager_window_size_can_set ())
gtranslator_prefs_manager_set_window_size (window->priv->width,
@@ -1443,10 +1449,15 @@
if (gtranslator_prefs_manager_window_state_can_set ())
gtranslator_prefs_manager_set_window_state (window->priv->window_state);
- filename = g_strdup_printf ("%s/.config/gtranslator-layout.xml",
- g_get_home_dir());
+ config_folder = gtranslator_utils_get_user_config_dir ();
+ filename = g_build_filename (config_folder,
+ "gtranslator-layout.xml",
+ NULL);
gtranslator_window_layout_save (window,
filename, NULL);
+
+ g_free (filename);
+ g_free (config_folder);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]