[Xfce4-commits] <mousepad:master> * configure.in.in, mousepad/Makefile.am: Remove gmodule from the library list, is not used. Add glib to make sure it's linked. * mousepad/mousepad-window.c: Use the HOME environment variable to search for the templates path, fallback on g_get_homedir. * MousepadHelp.in: Improve script to find other browsers too, instead of only using exo-open. * mousepad/mousepad-preferences: Improve the performace of loading and saving a bit. Loading now directly writes to the internal value array. Could be a bit tricky, we'll see. * mousepad/mousepad-{preferences, print}.c: Use g_key_file_{get, set}_value instead of g_key_file_{get, set}_string, should be a bit faster. * mousepad/mousepad-window.c: Be more secure when loading tab sizes. * po/mousepad.pot: Update.

Nick Schermer noreply at xfce.org
Sat May 5 21:31:14 CEST 2012


Updating branch refs/heads/master
         to 59d55f4852cdfaf811f51c97927defdb1e197d5b (commit)
       from 9b4a2525a341187a8ea4bddfaeff3e07ef724773 (commit)

commit 59d55f4852cdfaf811f51c97927defdb1e197d5b
Author: Nick Schermer <nick at xfce.org>
Date:   Tue Jan 15 18:23:21 2008 +0000

    * configure.in.in, mousepad/Makefile.am: Remove gmodule from the
      library list, is not used. Add glib to make sure it's linked.
    * mousepad/mousepad-window.c: Use the HOME environment variable
      to search for the templates path, fallback on g_get_homedir.
    * MousepadHelp.in: Improve script to find other browsers too,
      instead of only using exo-open.
    * mousepad/mousepad-preferences: Improve the performace of loading
      and saving a bit. Loading now directly writes to the internal
      value array. Could be a bit tricky, we'll see.
    * mousepad/mousepad-{preferences,print}.c: Use g_key_file_{get,
      set}_value instead of g_key_file_{get,set}_string, should be a
      bit faster.
    * mousepad/mousepad-window.c: Be more secure when loading tab sizes.
    * po/mousepad.pot: Update.
    
    
    (Old svn revision: 26574)

 ChangeLog                       |   18 ++
 MousepadHelp.in                 |   54 +++++-
 configure.in.in                 |    1 -
 mousepad/Makefile.am            |    4 +-
 mousepad/mousepad-file.c        |    2 +-
 mousepad/mousepad-preferences.c |  192 ++++++++---------
 mousepad/mousepad-print.c       |    4 +-
 mousepad/mousepad-window.c      |   51 ++---
 po/mousepad.pot                 |  462 ++++++++++++++++++++-------------------
 9 files changed, 426 insertions(+), 362 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c78a69d..5ef3300 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2008-01-15	Nick Schermer <nick at xfce.org>
 
+	* configure.in.in, mousepad/Makefile.am: Remove gmodule from the
+	  library list, is not used. Add glib to make sure it's linked.
+	* mousepad/mousepad-window.c: Use the HOME environment variable
+	  to search for the templates path, fallback on g_get_homedir.
+	* MousepadHelp.in: Improve script to find other browsers too,
+	  instead of only using exo-open.
+	* mousepad/mousepad-preferences: Improve the performace of loading
+	  and saving a bit. Loading now directly writes to the internal
+	  value array. Could be a bit tricky, we'll see.
+	* mousepad/mousepad-{preferences,print}.c: Use g_key_file_{get,
+	  set}_value instead of g_key_file_{get,set}_string, should be a
+	  bit faster.
+	* mousepad/mousepad-window.c: Be more secure when loading tab sizes.
+	* po/mousepad.pot: Update.
+
+
+2008-01-15	Nick Schermer <nick at xfce.org>
+
 	* mousepad/mousepad-window.c: Update menu actions after a document
 	  is closed, so the detach action becomes insensitive when there
 	  is only one document openened.
diff --git a/MousepadHelp.in b/MousepadHelp.in
index 773b8a0..7da5051 100644
--- a/MousepadHelp.in
+++ b/MousepadHelp.in
@@ -21,7 +21,9 @@
 #
 
 HELPDIR="@datadir@/doc/Mousepad/html"
+APPLICATIONS="exo-open firefox epiphany opera galeon mozilla konqueror dillo"
 
+# try to find a language
 if test -n "$LC_ALL"; then
   LC=$LC_ALL
 elif test -n "$LANG"; then
@@ -30,22 +32,66 @@ else
   LC="C"
 fi
 
+# set the document or use index.html
 if test -n "$1"; then
   HELPFILE="$1.html"
 else
   HELPFILE="index.html"
 fi
 
+# test if the file exists, fallback on the C language or the C/index.html file
 if test -r "$HELPDIR/$LC/$HELPFILE"; then
-  URL="$HELPDIR/$LC/$HELPFILE"
+  URL="file://$HELPDIR/$LC/$HELPFILE"
 elif test -r "$HELPDIR/`echo $LC | sed 's/\(..\)_.*/\1/'`/$HELPFILE"; then
-  URL="$HELPDIR/`echo $LC | sed 's/\(..\)_.*/\1/'`/$HELPFILE"
+  URL="file://$HELPDIR/`echo $LC | sed 's/\(..\)_.*/\1/'`/$HELPFILE"
 else
-  URL="$HELPDIR/C/index.html"
+  URL="file://$HELPDIR/C/index.html"
 fi
 
+# jump to a section if provided
 [ -n "$2" ] && URL="$URL#$2"
 
-exec exo-open --launch WebBrowser "file://$URL"
+# find a suitable browser to launch if no BROWSER variable is set
+if [ "x$BROWSER" = "x" ]; then
+  for i in $APPLICATIONS; do
+    # find the application in the path
+    testapp=$(which $i 2>/dev/null)
+    if test -f "$testapp"; then
+      # use the application and break
+      BROWSER=$i
+      break
+    fi
+  done
+fi
+
+# tell the use if no suitable browser was found
+if [ "x$BROWSER" = "x" ]; then
+  # print warning and leave
+  echo "MousepadHelp: Could not find a browser to use. Please set the BROWSER variable."
+  exit 1
+fi
+
+# run the browser
+case $BROWSER in
+  exo-open)
+    $BROWSER --launch WebBrowser $URL
+  ;;
+  opera*)
+    $BROWSER -remote openURL\($URL,new-window\) || $BROWSER $URL
+  ;;
+  firefox*)
+    $BROWSER -a firefox -remote openurl\($URL,new-window\) || $BROWSER $URL
+  ;;
+  communicator*|netscape|mozilla*|phoenix*|firebird*)
+    $BROWSER -remote openurl\($URL,new-window\) || $BROWSER $URL
+  ;;
+  *)
+    $BROWSER $URL;
+  ;;
+esac
+
+# leave
+exit 0
 
 # vim:set ts=2 sw=2 et ai:
+
diff --git a/configure.in.in b/configure.in.in
index 3169336..aba1fae 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -81,7 +81,6 @@ dnl ***********************************
 dnl *** Check for required packages ***
 dnl ***********************************
 XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.12.0])
-XDT_CHECK_PACKAGE([GMODULE], [gmodule-2.0], [2.12.0])
 XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.12.0])
 XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.10.0])
 
diff --git a/mousepad/Makefile.am b/mousepad/Makefile.am
index f78f66e..ebf6361 100644
--- a/mousepad/Makefile.am
+++ b/mousepad/Makefile.am
@@ -58,8 +58,8 @@ mousepad_SOURCES =								\
 	mousepad-window-ui.h
 
 mousepad_CFLAGS =								\
+	$(GLIB_CFLAGS)								\
 	$(GTK_CFLAGS)								\
-	$(GMODULE_CFLAGS)							\
 	$(GTHREAD_CFLAGS)							\
 	$(PLATFORM_CFLAGS)
 
@@ -68,8 +68,8 @@ mousepad_LDFLAGS =								\
 	$(PLATFORM_LDFLAGS)
 
 mousepad_LDADD =								\
+	$(GLIB_LIBS)								\
 	$(GTK_LIBS)								\
-	$(GMODULE_LIBS)								\
 	$(GTHREAD_LIBS)
 
 if HAVE_DBUS
diff --git a/mousepad/mousepad-file.c b/mousepad/mousepad-file.c
index d023d2e..6ae1d6f 100644
--- a/mousepad/mousepad-file.c
+++ b/mousepad/mousepad-file.c
@@ -527,7 +527,7 @@ mousepad_file_reload (MousepadFile  *file,
     {
       /* set an error */
       g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT,
-                   _("The file \"%s\" you've tried to reload does not exist anymore"), file->filename);
+                   _("The file \"%s\" you tried to reload does not exist anymore"), file->filename);
 
       return FALSE;
     }
diff --git a/mousepad/mousepad-preferences.c b/mousepad/mousepad-preferences.c
index 3ae251c..a6917b1 100644
--- a/mousepad/mousepad-preferences.c
+++ b/mousepad/mousepad-preferences.c
@@ -41,6 +41,8 @@
 #include <mousepad/mousepad-util.h>
 #include <mousepad/mousepad-preferences.h>
 
+#define GROUP_NAME "Configuration"
+
 
 
 enum
@@ -76,10 +78,8 @@ enum
   N_PROPERTIES,
 };
 
-static void     transform_string_to_boolean             (const GValue             *src,
-                                                         GValue                   *dst);
-static void     transform_string_to_int                 (const GValue             *src,
-                                                         GValue                   *dst);
+
+
 static void     mousepad_preferences_class_init         (MousepadPreferencesClass *klass);
 static void     mousepad_preferences_init               (MousepadPreferences      *preferences);
 static void     mousepad_preferences_finalize           (GObject                  *object);
@@ -117,38 +117,6 @@ struct _MousepadPreferences
 
 
 
-/**
- * transform_string_to_boolean:
- * @const GValue : String #GValue.
- * @GValue       : Return location for a #GValue boolean.
- *
- * Converts a string into a boolean.
- **/
-static void
-transform_string_to_boolean (const GValue *src,
-                             GValue       *dst)
-{
-  g_value_set_boolean (dst, strcmp (g_value_get_string (src), "FALSE") != 0);
-}
-
-
-
-/**
- * transform_string_to_int:
- * @const GValue : String #GValue.
- * @GValue       : Return location for a #GValue integer.
- *
- * Converts a string into a number.
- **/
-static void
-transform_string_to_int (const GValue *src,
-                         GValue       *dst)
-{
-  g_value_set_int (dst, (gint) strtol (g_value_get_string (src), NULL, 10));
-}
-
-
-
 G_DEFINE_TYPE (MousepadPreferences, mousepad_preferences, G_TYPE_OBJECT);
 
 
@@ -163,12 +131,6 @@ mousepad_preferences_class_init (MousepadPreferencesClass *klass)
   gobject_class->get_property = mousepad_preferences_get_property;
   gobject_class->set_property = mousepad_preferences_set_property;
 
-  /* register transformation functions */
-  if (G_LIKELY (g_value_type_transformable (G_TYPE_STRING, G_TYPE_BOOLEAN) == FALSE))
-    g_value_register_transform_func (G_TYPE_STRING, G_TYPE_BOOLEAN, transform_string_to_boolean);
-  if (G_LIKELY (g_value_type_transformable (G_TYPE_STRING, G_TYPE_INT) == FALSE))
-    g_value_register_transform_func (G_TYPE_STRING, G_TYPE_INT, transform_string_to_int);
-
   /**
    * Search Preferences
    **/
@@ -376,11 +338,9 @@ mousepad_preferences_get_property (GObject    *object,
                                    GParamSpec *pspec)
 {
   MousepadPreferences *preferences = MOUSEPAD_PREFERENCES (object);
-  GValue              *src;
-
-  src = preferences->values + prop_id;
+  GValue              *src = preferences->values + prop_id;
 
-  if (G_IS_VALUE (src))
+  if (G_LIKELY (G_IS_VALUE (src)))
     g_value_copy (src, value);
   else
     g_param_value_set_default (pspec, value);
@@ -395,20 +355,22 @@ mousepad_preferences_set_property (GObject      *object,
                                    GParamSpec   *pspec)
 {
   MousepadPreferences *preferences = MOUSEPAD_PREFERENCES (object);
-  GValue              *dst;
+  GValue              *dst = preferences->values + prop_id;
 
-  dst = preferences->values + prop_id;
-
-  if (G_UNLIKELY (!G_IS_VALUE (dst)))
+  /* initialize value if needed */
+  if (G_UNLIKELY (G_IS_VALUE (dst) == FALSE))
     {
       g_value_init (dst, pspec->value_type);
       g_param_value_set_default (pspec, dst);
     }
 
+  /* compare the values */
   if (g_param_values_cmp (pspec, value, dst) != 0)
     {
+      /* copy the new value */
       g_value_copy (value, dst);
 
+      /* queue a store */
       mousepad_preferences_store (preferences);
     }
 }
@@ -437,7 +399,7 @@ mousepad_preferences_check_option_name (GParamSpec *pspec)
 
       /* compare the strings */
       if (G_UNLIKELY (!option || strcmp (option, nick) != 0))
-        g_warning ("The option name (%s) and nick name (%s) of property \"%s\" do not match", option, nick, name);
+        g_warning ("The option name (%s) and nick name (%s) of property %s do not match", option, nick, name);
 
       /* cleanup */
       g_free (option);
@@ -450,20 +412,19 @@ mousepad_preferences_check_option_name (GParamSpec *pspec)
 static void
 mousepad_preferences_load (MousepadPreferences *preferences)
 {
-  gchar       *string;
-  GParamSpec **pspecs;
-  GParamSpec  *pspec;
-  GKeyFile    *keyfile;
-  gchar       *filename;
-  GValue       dst = { 0, };
-  GValue       src = { 0, };
-  guint        nspecs;
-  guint        n;
-
-  /* get the save location */
+  gchar          *string;
+  GParamSpec    **pspecs;
+  GParamSpec     *pspec;
+  GParamSpecInt  *ispec;
+  GKeyFile       *keyfile;
+  gchar          *filename;
+  GValue         *dst;
+  guint           nspecs;
+  guint           n;
+  gint            integer;
+
+  /* get the save location, leave when there if no file found */
   filename = mousepad_util_get_save_location (MOUSEPAD_RC_RELPATH, FALSE);
-
-  /* leave when there if no file found */
   if (G_UNLIKELY (filename == NULL))
     return;
 
@@ -481,43 +442,60 @@ mousepad_preferences_load (MousepadPreferences *preferences)
 
       for (n = 0; n < nspecs; n++)
         {
+          /* get the pspec */
           pspec = pspecs[n];
 
+          /* get the pspec destination value and initialize it */
+          dst = preferences->values + (n + 1);
+          g_value_init (dst, pspec->value_type);
+
 #ifndef NDEBUG
           /* check nick name with generated option name */
           mousepad_preferences_check_option_name (pspec);
 #endif
 
-          /* read the propert value */
-          string = g_key_file_get_string (keyfile, "Configuration", pspec->_nick, NULL);
-
-          if (G_UNLIKELY (string == NULL))
-            continue;
-
-          /* create gvalue with the string as value */
-          g_value_init (&src, G_TYPE_STRING);
-          g_value_take_string (&src, string);
+          /* read the propert value from the key file */
+          string = g_key_file_get_value (keyfile, GROUP_NAME, g_param_spec_get_nick (pspec), NULL);
+          if (G_UNLIKELY (string == NULL || *string == '\0'))
+            goto setdefault;
 
           if (pspec->value_type == G_TYPE_STRING)
             {
-              /* they have the same type, so set the property */
-              g_object_set_property (G_OBJECT (preferences), pspec->name, &src);
+              /* set string as the value */
+              g_value_take_string (dst, string);
+
+              /* don't free the string */
+              string = NULL;
             }
-          else if (g_value_type_transformable (G_TYPE_STRING, pspec->value_type))
+          else if (pspec->value_type == G_TYPE_INT)
             {
-              /* transform the type */
-              g_value_init (&dst, pspec->value_type);
-              if (g_value_transform (&src, &dst))
-                g_object_set_property (G_OBJECT (preferences), pspec->name, &dst);
-              g_value_unset (&dst);
+              /* get integer spec */
+              ispec = G_PARAM_SPEC_INT (pspec);
+
+              /* get the value and clamp it */
+              integer = CLAMP (atoi (string), ispec->minimum, ispec->maximum);
+
+              /* set the integer */
+              g_value_set_int (dst, integer);
+            }
+          else if (pspec->value_type == G_TYPE_BOOLEAN)
+            {
+              /* set the boolean */
+              g_value_set_boolean (dst, (strcmp (string, "false") != 0));
             }
           else
             {
+              /* print warning */
               g_warning ("Failed to load property \"%s\"", pspec->name);
+
+              setdefault:
+
+              /* set default */
+              g_param_value_set_default (pspec, dst);
             }
 
           /* cleanup */
-          g_value_unset (&src);
+          g_free (string);
         }
 
       /* cleanup the specs */
@@ -552,15 +530,14 @@ static gboolean
 mousepad_preferences_store_idle (gpointer user_data)
 {
   MousepadPreferences  *preferences = MOUSEPAD_PREFERENCES (user_data);
-  const gchar          *string;
   GParamSpec          **pspecs;
   GParamSpec           *pspec;
   GKeyFile             *keyfile;
   gchar                *filename;
-  GValue                dst = { 0, };
-  GValue                src = { 0, };
+  GValue               *value;
   guint                 nspecs;
   guint                 n;
+  const gchar          *nick;
 
   /* get the config filename */
   filename = mousepad_util_get_save_location (MOUSEPAD_RC_RELPATH, TRUE);
@@ -578,36 +555,41 @@ mousepad_preferences_store_idle (gpointer user_data)
   /* get the list of properties in the class */
   pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (preferences), &nspecs);
 
-  for (n = 0; n < nspecs; ++n)
+  for (n = 0; n < nspecs; n++)
     {
+      /* get the pspec */
       pspec = pspecs[n];
 
-      /* init a string value */
-      g_value_init (&dst, G_TYPE_STRING);
+      /* get the value */
+      value = preferences->values + (n + 1);
+
+      /* continue if the value is not initialized */
+      if (G_UNLIKELY (G_IS_VALUE (value) == FALSE))
+        continue;
+
+      /* get nick name */
+      nick = g_param_spec_get_nick (pspec);
 
       if (pspec->value_type == G_TYPE_STRING)
         {
-          /* set the string value */
-          g_object_get_property (G_OBJECT (preferences), pspec->name, &dst);
+          /* store the string */
+          if (g_value_get_string (value) != NULL)
+            g_key_file_set_value (keyfile, GROUP_NAME, nick, g_value_get_string (value));
+        }
+      else if (pspec->value_type == G_TYPE_INT)
+        {
+          /* store the interger */
+          g_key_file_set_integer (keyfile, GROUP_NAME, nick, g_value_get_int (value));
+        }
+      else if (pspec->value_type == G_TYPE_BOOLEAN)
+        {
+          /* store the boolean */
+          g_key_file_set_boolean (keyfile, GROUP_NAME, nick, g_value_get_boolean (value));
         }
       else
         {
-          /* property contains another type, transform it first */
-          g_value_init (&src, pspec->value_type);
-          g_object_get_property (G_OBJECT (preferences), pspec->name, &src);
-          g_value_transform (&src, &dst);
-          g_value_unset (&src);
+          g_warning ("Failed to save property \"%s\"", pspec->name);
         }
-
-      /* get the string from the value */
-      string = g_value_get_string (&dst);
-
-      /* store the value */
-      if (G_LIKELY (string != NULL))
-        g_key_file_set_string (keyfile, "Configuration", pspec->_nick, string);
-
-      /* cleanup */
-      g_value_unset (&dst);
     }
 
   /* cleanup the specs */
diff --git a/mousepad/mousepad-print.c b/mousepad/mousepad-print.c
index 23df23a..a86d465 100644
--- a/mousepad/mousepad-print.c
+++ b/mousepad/mousepad-print.c
@@ -196,7 +196,7 @@ mousepad_print_settings_load (GtkPrintOperation *operation)
           for (i = 0; keys[i] != NULL; i++)
             {
               /* read the value from the config file */
-              value = g_key_file_get_string (keyfile, "Print Settings", keys[i], NULL);
+              value = g_key_file_get_value (keyfile, "Print Settings", keys[i], NULL);
 
               /* set the value */
               if (G_LIKELY (value))
@@ -284,7 +284,7 @@ mousepad_print_settings_save_foreach (const gchar *key,
   if (G_LIKELY (key && value))
     {
       config = mousepad_util_config_name (key);
-      g_key_file_set_string (keyfile, "Print Settings", config, value);
+      g_key_file_set_value (keyfile, "Print Settings", config, value);
       g_free (config);
     }
 }
diff --git a/mousepad/mousepad-window.c b/mousepad/mousepad-window.c
index edf36b2..78ae43e 100644
--- a/mousepad/mousepad-window.c
+++ b/mousepad/mousepad-window.c
@@ -1813,8 +1813,9 @@ static void
 mousepad_window_menu_templates (GtkWidget      *item,
                                 MousepadWindow *window)
 {
-  GtkWidget *submenu;
-  gchar     *templates_path;
+  GtkWidget   *submenu;
+  const gchar *homedir;
+  gchar       *templates_path;
 
   _mousepad_return_if_fail (MOUSEPAD_IS_WINDOW (window));
   _mousepad_return_if_fail (GTK_IS_MENU_ITEM (item));
@@ -1823,8 +1824,13 @@ mousepad_window_menu_templates (GtkWidget      *item,
   /* schedule the idle build of the recent menu */
   mousepad_window_recent_menu (window);
 
+  /* get the home directory */
+  homedir = g_getenv ("HOME");
+  if (G_UNLIKELY (homedir == NULL))
+    homedir = g_get_home_dir ();
+
   /* get the templates path */
-  templates_path = g_build_filename (g_get_home_dir (), "Templates", NULL);
+  templates_path = g_build_filename (homedir, "Templates", NULL);
 
   /* check if the directory exists */
   if (g_file_test (templates_path, G_FILE_TEST_IS_DIR))
@@ -1884,34 +1890,27 @@ mousepad_window_menu_tab_sizes (MousepadWindow *window)
   for (i = 0; tab_sizes[i] != NULL; i++)
     {
       /* convert the string to a number */
-      size = strtol (tab_sizes[i], NULL, 10);
-
-      /* keep this in sync with the property limits */
-      if (G_LIKELY (size > 0))
-        {
-          /* keep this in sync with the properties */
-          size = CLAMP (size, 1, 32);
+      size = CLAMP (atoi (tab_sizes[i]), 1, 32);
 
-          /* create action name */
-          name = g_strdup_printf ("tab-size_%d", size);
+      /* create action name */
+      name = g_strdup_printf ("tab-size_%d", size);
 
-          action = gtk_radio_action_new (name, name + 8, NULL, NULL, size);
-          gtk_radio_action_set_group (action, group);
-          group = gtk_radio_action_get_group (action);
-          g_signal_connect (G_OBJECT (action), "activate", G_CALLBACK (mousepad_window_action_tab_size), window);
-          gtk_action_group_add_action_with_accel (window->action_group, GTK_ACTION (action), "");
+      action = gtk_radio_action_new (name, name + 8, NULL, NULL, size);
+      gtk_radio_action_set_group (action, group);
+      group = gtk_radio_action_get_group (action);
+      g_signal_connect (G_OBJECT (action), "activate", G_CALLBACK (mousepad_window_action_tab_size), window);
+      gtk_action_group_add_action_with_accel (window->action_group, GTK_ACTION (action), "");
 
-          /* release the action */
-          g_object_unref (G_OBJECT (action));
+      /* release the action */
+      g_object_unref (G_OBJECT (action));
 
-          /* add the action to the go menu */
-          gtk_ui_manager_add_ui (window->ui_manager, merge_id,
-                                 "/main-menu/document-menu/tab-size-menu/placeholder-tab-items",
-                                 name, name, GTK_UI_MANAGER_MENUITEM, FALSE);
+      /* add the action to the go menu */
+      gtk_ui_manager_add_ui (window->ui_manager, merge_id,
+                             "/main-menu/document-menu/tab-size-menu/placeholder-tab-items",
+                             name, name, GTK_UI_MANAGER_MENUITEM, FALSE);
 
-          /* cleanup */
-          g_free (name);
-        }
+      /* cleanup */
+      g_free (name);
     }
 
   /* cleanup the array */
diff --git a/po/mousepad.pot b/po/mousepad.pot
index 7339f3d..bd2931b 100644
--- a/po/mousepad.pot
+++ b/po/mousepad.pot
@@ -8,46 +8,47 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-06 21:09+0100\n"
+"POT-Creation-Date: 2008-01-15 12:38+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: ../mousepad/main.c:51
+#: ../mousepad/main.c:54
 msgid "Do not register with the D-BUS session message bus"
 msgstr ""
 
-#: ../mousepad/main.c:52
+#: ../mousepad/main.c:55
 msgid "Quit a running Mousepad instance"
 msgstr ""
 
-#: ../mousepad/main.c:54
+#: ../mousepad/main.c:57
 msgid "Print version information and exit"
 msgstr ""
 
 #. default application name
-#: ../mousepad/main.c:75 ../Mousepad.desktop.in.in.h:1
+#: ../mousepad/main.c:81 ../Mousepad.desktop.in.in.h:1
 msgid "Mousepad"
 msgstr ""
 
 #. initialize gtk+
-#: ../mousepad/main.c:87
+#: ../mousepad/main.c:93
 msgid "[FILES...]"
 msgstr ""
 
 #. no error message, the gui initialization failed
-#: ../mousepad/main.c:93
+#: ../mousepad/main.c:99
 msgid "Failed to open display."
 msgstr ""
 
-#: ../mousepad/main.c:110
+#: ../mousepad/main.c:116
 msgid "The Xfce development team. All rights reserved."
 msgstr ""
 
-#: ../mousepad/main.c:111
+#: ../mousepad/main.c:117
 #, c-format
 msgid "Please report bugs to <%s>."
 msgstr ""
@@ -56,793 +57,812 @@ msgstr ""
 msgid "Mousepad is a fast text editor for the Xfce Desktop Environment."
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:51
+#: ../mousepad/mousepad-dialogs.c:50
 msgid "translator-credits"
 msgstr ""
 
 #. display an error message to the user
-#: ../mousepad/mousepad-dialogs.c:126
+#: ../mousepad/mousepad-dialogs.c:125
 msgid "Failed to open the documentation browser"
 msgstr ""
 
 #. build dialog
-#: ../mousepad/mousepad-dialogs.c:144
+#: ../mousepad/mousepad-dialogs.c:143
 msgid "Select Tab Size"
 msgstr ""
 
 #. build the dialog
-#: ../mousepad/mousepad-dialogs.c:225
+#: ../mousepad/mousepad-dialogs.c:224
 msgid "Go To"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:247
+#: ../mousepad/mousepad-dialogs.c:246
 msgid "_Line number:"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:266
+#: ../mousepad/mousepad-dialogs.c:265
 msgid "C_olumn number:"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:324
+#: ../mousepad/mousepad-dialogs.c:323
 msgid "Remove all entries from the documents history?"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:329
+#: ../mousepad/mousepad-dialogs.c:328
 msgid "Clear Documents History"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:332
+#: ../mousepad/mousepad-dialogs.c:331
 msgid ""
 "Clearing the documents history will permanently remove all currently listed "
 "entries."
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:366
+#: ../mousepad/mousepad-dialogs.c:362
 msgid "Do you want to save the changes before closing?"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:369
-msgid "_Don't Save"
+#: ../mousepad/mousepad-dialogs.c:363
+msgid "Save Changes"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:377
-msgid "Save Changes"
+#: ../mousepad/mousepad-dialogs.c:364
+msgid "_Don't Save"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:382
+#. secondary text
+#: ../mousepad/mousepad-dialogs.c:386
 msgid "If you don't save the document, all the changes will be lost."
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:405
+#: ../mousepad/mousepad-dialogs.c:408
+msgid ""
+"The document has been externally modified. Do you want to continue saving?"
+msgstr ""
+
+#: ../mousepad/mousepad-dialogs.c:409
+msgid "Externally Modified"
+msgstr ""
+
+#: ../mousepad/mousepad-dialogs.c:410
+msgid "If you don't save the document, all the external changes will be lost."
+msgstr ""
+
+#: ../mousepad/mousepad-dialogs.c:438
 msgid "Do you want to save your changes before reloading?"
 msgstr ""
 
-#: ../mousepad/mousepad-dialogs.c:407
+#: ../mousepad/mousepad-dialogs.c:440
 msgid "If you revert the file, all unsaved changes will be lost."
 msgstr ""
 
 #. pack button, add signal and tooltip
-#: ../mousepad/mousepad-document.c:572
+#: ../mousepad/mousepad-document.c:552
 msgid "Close this tab"
 msgstr ""
 
 #. create an unique untitled document name
-#: ../mousepad/mousepad-document.c:607
+#: ../mousepad/mousepad-document.c:587
 msgid "Untitled"
 msgstr ""
 
 #. create the header
-#: ../mousepad/mousepad-encoding-dialog.c:231
+#: ../mousepad/mousepad-encoding-dialog.c:208
 msgid "The document was not UTF-8 valid"
 msgstr ""
 
-#: ../mousepad/mousepad-encoding-dialog.c:232
+#: ../mousepad/mousepad-encoding-dialog.c:209
 msgid "Please select an encoding below."
 msgstr ""
 
 #. encoding radio buttons
-#: ../mousepad/mousepad-encoding-dialog.c:244
+#: ../mousepad/mousepad-encoding-dialog.c:221
 msgid "Default (UTF-8)"
 msgstr ""
 
-#: ../mousepad/mousepad-encoding-dialog.c:250
+#: ../mousepad/mousepad-encoding-dialog.c:227
 msgid "System"
 msgstr ""
 
-#: ../mousepad/mousepad-encoding-dialog.c:257
+#: ../mousepad/mousepad-encoding-dialog.c:234
 msgid "Other:"
 msgstr ""
 
-#: ../mousepad/mousepad-file.c:352
+#: ../mousepad/mousepad-file.c:335
 #, c-format
 msgid "Unknown line ending detected (%s)"
 msgstr ""
 
-#: ../mousepad/mousepad-file.c:360
+#: ../mousepad/mousepad-file.c:343
 #, c-format
 msgid "Converted string is not UTF-8 valid"
 msgstr ""
 
-#: ../mousepad/mousepad-file.c:541
+#: ../mousepad/mousepad-file.c:530
 #, c-format
-msgid "The file \"%s\" you've tried to reload does not exist anymore"
+msgid "The file \"%s\" you tried to reload does not exist anymore"
 msgstr ""
 
-#: ../mousepad/mousepad-file.c:578
+#: ../mousepad/mousepad-file.c:567
 #, c-format
 msgid "Failed to read the status of \"%s\""
 msgstr ""
 
-#: ../mousepad/mousepad-preferences.c:490
-msgid "Failed to load the preferences."
-msgstr ""
-
-#: ../mousepad/mousepad-preferences.c:586
-msgid "Failed to store the preferences."
-msgstr ""
-
 #. set a custom tab label
-#: ../mousepad/mousepad-print.c:163
+#: ../mousepad/mousepad-print.c:140
 msgid "Document Settings"
 msgstr ""
 
 #. create page number
-#: ../mousepad/mousepad-print.c:528
+#: ../mousepad/mousepad-print.c:521
 #, c-format
 msgid "Page %d of %d"
 msgstr ""
 
-#: ../mousepad/mousepad-print.c:738
+#: ../mousepad/mousepad-print.c:731
 msgid "Page Setup"
 msgstr ""
 
-#: ../mousepad/mousepad-print.c:748
+#: ../mousepad/mousepad-print.c:741
 msgid "_Adjust page size and orientation"
 msgstr ""
 
-#: ../mousepad/mousepad-print.c:758
+#: ../mousepad/mousepad-print.c:751
 msgid "Appearance"
 msgstr ""
 
-#: ../mousepad/mousepad-print.c:772
+#: ../mousepad/mousepad-print.c:765
 msgid "Print page _headers"
 msgstr ""
 
-#: ../mousepad/mousepad-print.c:778
+#: ../mousepad/mousepad-print.c:771
 msgid "Print _line numbers"
 msgstr ""
 
-#: ../mousepad/mousepad-print.c:784
+#: ../mousepad/mousepad-print.c:777
 msgid "Enable text _wrapping"
 msgstr ""
 
-#: ../mousepad/mousepad-print.c:795
+#: ../mousepad/mousepad-print.c:788
 msgid "Font"
 msgstr ""
 
 #. set dialog properties
-#: ../mousepad/mousepad-replace-dialog.c:191
+#: ../mousepad/mousepad-replace-dialog.c:170
 msgid "Replace"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:198
-#: ../mousepad/mousepad-replace-dialog.c:560
+#: ../mousepad/mousepad-replace-dialog.c:177
+#: ../mousepad/mousepad-replace-dialog.c:543
 msgid "_Replace"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:216
+#: ../mousepad/mousepad-replace-dialog.c:195
 msgid "_Search for:"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:237
+#: ../mousepad/mousepad-replace-dialog.c:216
 msgid "Replace _with:"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:257
+#: ../mousepad/mousepad-replace-dialog.c:236
 msgid "Search _direction:"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:266
+#: ../mousepad/mousepad-replace-dialog.c:245
 msgid "Up"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:267
+#: ../mousepad/mousepad-replace-dialog.c:246
 msgid "Down"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:268
+#: ../mousepad/mousepad-replace-dialog.c:247
 msgid "Both"
 msgstr ""
 
 #. case sensitive
-#: ../mousepad/mousepad-replace-dialog.c:277
+#: ../mousepad/mousepad-replace-dialog.c:256
 msgid "Case sensi_tive"
 msgstr ""
 
 #. match whole word
-#: ../mousepad/mousepad-replace-dialog.c:284
+#: ../mousepad/mousepad-replace-dialog.c:263
 msgid "_Match whole word"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:295
+#: ../mousepad/mousepad-replace-dialog.c:274
 msgid "Replace _all in:"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:302
+#: ../mousepad/mousepad-replace-dialog.c:281
 msgid "Selection"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:303
+#: ../mousepad/mousepad-replace-dialog.c:282
 msgid "Document"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:304
+#: ../mousepad/mousepad-replace-dialog.c:283
 msgid "All Documents"
 msgstr ""
 
-#: ../mousepad/mousepad-replace-dialog.c:465
-msgid "occurence"
-msgstr ""
-
-#: ../mousepad/mousepad-replace-dialog.c:465
-msgid "occurences"
-msgstr ""
+#: ../mousepad/mousepad-replace-dialog.c:448
+#, c-format
+msgid "%d occurence"
+msgid_plural "%d occurences"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../mousepad/mousepad-replace-dialog.c:560
+#: ../mousepad/mousepad-replace-dialog.c:543
 msgid "_Replace All"
 msgstr ""
 
-#: ../mousepad/mousepad-search-bar.c:211
+#: ../mousepad/mousepad-search-bar.c:191
 msgid "Fi_nd:"
 msgstr ""
 
-#: ../mousepad/mousepad-search-bar.c:231
+#: ../mousepad/mousepad-search-bar.c:211
 msgid "_Next"
 msgstr ""
 
-#: ../mousepad/mousepad-search-bar.c:242
+#: ../mousepad/mousepad-search-bar.c:222
 msgid "_Previous"
 msgstr ""
 
-#: ../mousepad/mousepad-search-bar.c:253
+#: ../mousepad/mousepad-search-bar.c:233
 msgid "Highlight _All"
 msgstr ""
 
-#: ../mousepad/mousepad-search-bar.c:266 ../mousepad/mousepad-search-bar.c:273
+#: ../mousepad/mousepad-search-bar.c:246 ../mousepad/mousepad-search-bar.c:253
 msgid "Mat_ch Case"
 msgstr ""
 
-#: ../mousepad/mousepad-statusbar.c:152
+#: ../mousepad/mousepad-statusbar.c:135
 msgid "Toggle the overwrite mode"
 msgstr ""
 
 #. overwrite label
-#: ../mousepad/mousepad-statusbar.c:157
+#: ../mousepad/mousepad-statusbar.c:140
 msgid "OVR"
 msgstr ""
 
-#: ../mousepad/mousepad-statusbar.c:198
+#: ../mousepad/mousepad-statusbar.c:181
 #, c-format
 msgid "Line: %d Column: %d Selection: %d"
 msgstr ""
 
-#: ../mousepad/mousepad-statusbar.c:200
+#: ../mousepad/mousepad-statusbar.c:183
 #, c-format
 msgid "Line: %d Column: %d"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:387
-msgid "_File"
+#. show warning to the user
+#: ../mousepad/mousepad-util.c:573
+#, c-format
+msgid ""
+"Unable to create base directory \"%s\". Saving to file \"%s\" will be "
+"aborted."
+msgstr ""
+
+#. print error
+#: ../mousepad/mousepad-util.c:619
+#, c-format
+msgid "Failed to store the preferences to \"%s\": %s"
 msgstr ""
 
 #: ../mousepad/mousepad-window.c:388
+msgid "_File"
+msgstr ""
+
+#: ../mousepad/mousepad-window.c:389
 msgid "_New"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:388
+#: ../mousepad/mousepad-window.c:389
 msgid "Create a new document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:389
+#: ../mousepad/mousepad-window.c:390
 msgid "New _Window"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:389
+#: ../mousepad/mousepad-window.c:390
 msgid "Create a new document in a new window"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:390
+#: ../mousepad/mousepad-window.c:391
 msgid "New From Te_mplate"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:391
+#: ../mousepad/mousepad-window.c:392
 msgid "_Open..."
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:391
+#: ../mousepad/mousepad-window.c:392
 msgid "Open a file"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:392
+#: ../mousepad/mousepad-window.c:393
 msgid "Op_en Recent"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:393
+#: ../mousepad/mousepad-window.c:394
 msgid "No items found"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:394
+#: ../mousepad/mousepad-window.c:395
 msgid "Clear _History"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:394
+#: ../mousepad/mousepad-window.c:395
 msgid "Clear the recently used files history"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:395
+#: ../mousepad/mousepad-window.c:396
 msgid "Save the current document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:396
+#: ../mousepad/mousepad-window.c:397
 msgid "Save _As..."
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:396
+#: ../mousepad/mousepad-window.c:397
 msgid "Save current document as another file"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:397
+#: ../mousepad/mousepad-window.c:398
 msgid "Save A_ll"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:397
+#: ../mousepad/mousepad-window.c:398
 msgid "Save all document in this window"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:398
+#: ../mousepad/mousepad-window.c:399
 msgid "Re_vert"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:398
+#: ../mousepad/mousepad-window.c:399
 msgid "Revert to the saved version of the file"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:399
+#: ../mousepad/mousepad-window.c:400
 msgid "_Print..."
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:399
-msgid "Prin the current document"
+#: ../mousepad/mousepad-window.c:400
+msgid "Print the current document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:400
+#: ../mousepad/mousepad-window.c:401
 msgid "_Detach Tab"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:400
+#: ../mousepad/mousepad-window.c:401
 msgid "Move the current document to a new window"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:401
+#: ../mousepad/mousepad-window.c:402
 msgid "Close _Tab"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:401
+#: ../mousepad/mousepad-window.c:402
 msgid "Close the current document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:402
+#: ../mousepad/mousepad-window.c:403
 msgid "_Close Window"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:402
+#: ../mousepad/mousepad-window.c:403
 msgid "Close this window"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:404
+#: ../mousepad/mousepad-window.c:405
 msgid "_Edit"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:405
+#: ../mousepad/mousepad-window.c:406
 msgid "Undo the last action"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:406
+#: ../mousepad/mousepad-window.c:407
 msgid "Redo the last undone action"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:407
+#: ../mousepad/mousepad-window.c:408
 msgid "Cut the selection"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:408
+#: ../mousepad/mousepad-window.c:409
 msgid "Copy the selection"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:409
+#: ../mousepad/mousepad-window.c:410
 msgid "Paste the clipboard"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:410
+#: ../mousepad/mousepad-window.c:411
 msgid "Paste _Special"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:411
+#: ../mousepad/mousepad-window.c:412
 msgid "Paste from _History"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:411
+#: ../mousepad/mousepad-window.c:412
 msgid "Paste from the clipboard history"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:412
+#: ../mousepad/mousepad-window.c:413
 msgid "Paste as _Column"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:412
+#: ../mousepad/mousepad-window.c:413
 msgid "Paste the clipboard text into a column"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:413
+#: ../mousepad/mousepad-window.c:414
 msgid "Delete the current selection"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:414
+#: ../mousepad/mousepad-window.c:415
 msgid "Select the text in the entire document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:415
+#: ../mousepad/mousepad-window.c:416
 msgid "Change the selection"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:415
+#: ../mousepad/mousepad-window.c:416
 msgid "Change a normal selection into a column selection and vice versa"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:416
+#: ../mousepad/mousepad-window.c:417
 msgid "Search for text"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:417
+#: ../mousepad/mousepad-window.c:418
 msgid "Find _Next"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:417
+#: ../mousepad/mousepad-window.c:418
 msgid "Search forwards for the same text"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:418
+#: ../mousepad/mousepad-window.c:419
 msgid "Find _Previous"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:418
+#: ../mousepad/mousepad-window.c:419
 msgid "Search backwards for the same text"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:419
+#: ../mousepad/mousepad-window.c:420
 msgid "Find and Rep_lace..."
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:419
+#: ../mousepad/mousepad-window.c:420
 msgid "Search for and replace text"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:421
+#: ../mousepad/mousepad-window.c:422
 msgid "_View"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:422
+#: ../mousepad/mousepad-window.c:423
 msgid "Select F_ont..."
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:422
+#: ../mousepad/mousepad-window.c:423
 msgid "Change the editor font"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:424
+#: ../mousepad/mousepad-window.c:425
 msgid "_Text"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:425
+#: ../mousepad/mousepad-window.c:426
 msgid "_Convert"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:426
+#: ../mousepad/mousepad-window.c:427
 msgid "to _Uppercase"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:426
+#: ../mousepad/mousepad-window.c:427
 msgid "Change the case of the selection to uppercase"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:427
+#: ../mousepad/mousepad-window.c:428
 msgid "to _Lowercase"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:427
+#: ../mousepad/mousepad-window.c:428
 msgid "Change the case of the selection to lowercase"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:428
+#: ../mousepad/mousepad-window.c:429
 msgid "to _Title Case"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:428
+#: ../mousepad/mousepad-window.c:429
 msgid "Change the case of the selection to title case"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:429
+#: ../mousepad/mousepad-window.c:430
 msgid "to _Opposite Case"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:429
+#: ../mousepad/mousepad-window.c:430
 msgid "Change the case of the selection opposite case"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:430
+#: ../mousepad/mousepad-window.c:431
 msgid "_Tabs to Spaces"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:430
+#: ../mousepad/mousepad-window.c:431
 msgid "Convert all tabs to spaces in the selection or document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:431
+#: ../mousepad/mousepad-window.c:432
 msgid "_Spaces to Tabs"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:431
+#: ../mousepad/mousepad-window.c:432
 msgid ""
 "Convert all the leading spaces to tabs in the selected line(s) or document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:432
+#: ../mousepad/mousepad-window.c:433
 msgid "St_rip Trailing Spaces"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:432
+#: ../mousepad/mousepad-window.c:433
 msgid "Remove all the trailing spaces from the selected line(s) or document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:433
+#: ../mousepad/mousepad-window.c:434
 msgid "_Transpose"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:433
+#: ../mousepad/mousepad-window.c:434
 msgid "Reverse the order of something"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:434
+#: ../mousepad/mousepad-window.c:435
 msgid "_Move Selection"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:435
+#: ../mousepad/mousepad-window.c:436
 msgid "Line _Up"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:435
+#: ../mousepad/mousepad-window.c:436
 msgid "Move the selection one line up"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:436
+#: ../mousepad/mousepad-window.c:437
 msgid "Line _Down"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:436
+#: ../mousepad/mousepad-window.c:437
 msgid "Move the selection one line down"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:437
+#: ../mousepad/mousepad-window.c:438
 msgid "D_uplicate Line / Selection"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:437
+#: ../mousepad/mousepad-window.c:438
 msgid "Duplicate the current line or selection"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:438
+#: ../mousepad/mousepad-window.c:439
 msgid "_Increase Indent"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:438
-msgid "Increase indent of selection or line"
+#: ../mousepad/mousepad-window.c:439
+msgid "Increase the indentation of the selection or current line"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:439
+#: ../mousepad/mousepad-window.c:440
 msgid "_Decrease Indent"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:439
-msgid "Decrease indent of selection or line"
+#: ../mousepad/mousepad-window.c:440
+msgid "Decrease the indentation of the selection or current line"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:441
+#: ../mousepad/mousepad-window.c:442
 msgid "_Document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:442
+#: ../mousepad/mousepad-window.c:443
 msgid "Tab _Size"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:443
+#: ../mousepad/mousepad-window.c:444
 msgid "Line E_nding"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:445
+#: ../mousepad/mousepad-window.c:446
 msgid "_Navigation"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:446
+#: ../mousepad/mousepad-window.c:447
 msgid "_Previous Tab"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:446
+#: ../mousepad/mousepad-window.c:447
 msgid "Select the previous tab"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:447
+#: ../mousepad/mousepad-window.c:448
 msgid "_Next Tab"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:447
+#: ../mousepad/mousepad-window.c:448
 msgid "Select the next tab"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:448
+#: ../mousepad/mousepad-window.c:449
 msgid "_Go to..."
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:448
+#: ../mousepad/mousepad-window.c:449
 msgid "Go to a specific location in the document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:450
+#: ../mousepad/mousepad-window.c:451
 msgid "_Help"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:451
+#: ../mousepad/mousepad-window.c:452
 msgid "_Contents"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:451
+#: ../mousepad/mousepad-window.c:452
 msgid "Display the Mousepad user manual"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:452
+#: ../mousepad/mousepad-window.c:453
 msgid "About this application"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:457
+#: ../mousepad/mousepad-window.c:458
 msgid "St_atusbar"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:457
+#: ../mousepad/mousepad-window.c:458
 msgid "Change the visibility of the statusbar"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:458
+#: ../mousepad/mousepad-window.c:459
 msgid "Line N_umbers"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:458
+#: ../mousepad/mousepad-window.c:459
 msgid "Show line numbers"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:459
+#: ../mousepad/mousepad-window.c:460
 msgid "_Auto Indent"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:459
+#: ../mousepad/mousepad-window.c:460
 msgid "Auto indent a new line"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:460
+#: ../mousepad/mousepad-window.c:461
 msgid "_Word Wrap"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:460
+#: ../mousepad/mousepad-window.c:461
 msgid "Toggle breaking lines in between words"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:461
+#: ../mousepad/mousepad-window.c:462
 msgid "Insert _Spaces"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:461
+#: ../mousepad/mousepad-window.c:462
 msgid "Insert spaces when the tab button is pressed"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:466
+#: ../mousepad/mousepad-window.c:467
 msgid "Unix (_LF)"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:466
+#: ../mousepad/mousepad-window.c:467
 msgid "Set the line ending of the document to Unix (LF)"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:467
+#: ../mousepad/mousepad-window.c:468
 msgid "Mac (_CR)"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:467
+#: ../mousepad/mousepad-window.c:468
 msgid "Set the line ending of the document to Mac (CR)"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:468
+#: ../mousepad/mousepad-window.c:469
 msgid "DOS / Windows (C_R LF)"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:468
+#: ../mousepad/mousepad-window.c:469
 msgid "Set the line ending of the document to DOS / Windows (CR LF)"
 msgstr ""
 
 #. add the label with the root warning
-#: ../mousepad/mousepad-window.c:664
+#: ../mousepad/mousepad-window.c:639
 msgid "Warning, you are using the root account, you may harm your system."
 msgstr ""
 
 #. show the warning
 #. show the warning and cleanup
-#: ../mousepad/mousepad-window.c:1058 ../mousepad/mousepad-window.c:3201
+#: ../mousepad/mousepad-window.c:1077 ../mousepad/mousepad-window.c:3264
 msgid "Failed to open file"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:1243
+#: ../mousepad/mousepad-window.c:1273
 msgid "Read Only"
 msgstr ""
 
 #. create other action
-#: ../mousepad/mousepad-window.c:1883
+#: ../mousepad/mousepad-window.c:1927
 msgid "Set custom tab size"
 msgstr ""
 
 #. create suitable label for the other menu
-#: ../mousepad/mousepad-window.c:1931
+#: ../mousepad/mousepad-window.c:1975
 #, c-format
 msgid "Ot_her (%d)..."
 msgstr ""
 
 #. set action label
-#: ../mousepad/mousepad-window.c:1942
+#: ../mousepad/mousepad-window.c:1986
 msgid "Ot_her..."
 msgstr ""
 
 #. build description
-#. get the offset length
-#: ../mousepad/mousepad-window.c:2242 ../mousepad/mousepad-window.c:3183
+#. get the offset length: 'Encoding: '
+#: ../mousepad/mousepad-window.c:2286 ../mousepad/mousepad-window.c:2518
 msgid "Encoding"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:2372
+#: ../mousepad/mousepad-window.c:2416
 #, c-format
 msgid "Open '%s'"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:2500
+#: ../mousepad/mousepad-window.c:2568
 msgid "Failed to clear the recent history"
 msgstr ""
 
 #. create an item to inform the user
-#: ../mousepad/mousepad-window.c:2919
+#: ../mousepad/mousepad-window.c:2992
 msgid "No clipboard data"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:3058
+#: ../mousepad/mousepad-window.c:3131
 #, c-format
 msgid "The template is not UTF-8 valid"
 msgstr ""
 
 #. show an error
-#: ../mousepad/mousepad-window.c:3068
+#: ../mousepad/mousepad-window.c:3141
 msgid "Failed to open new file from a template"
 msgstr ""
 
 #. create new file chooser dialog
-#: ../mousepad/mousepad-window.c:3093
+#: ../mousepad/mousepad-window.c:3166
 msgid "Open File"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:3197
+#: ../mousepad/mousepad-window.c:3260
 #, c-format
 msgid ""
 "Failed to open \"%s\" for reading. It will be removed from the document "
@@ -850,26 +870,26 @@ msgid ""
 msgstr ""
 
 #. show the error
-#: ../mousepad/mousepad-window.c:3271 ../mousepad/mousepad-window.c:3391
+#: ../mousepad/mousepad-window.c:3373 ../mousepad/mousepad-window.c:3498
 msgid "Failed to save the document"
 msgstr ""
 
 #. create the dialog
-#: ../mousepad/mousepad-window.c:3295
+#: ../mousepad/mousepad-window.c:3397
 msgid "Save As"
 msgstr ""
 
 #. show the error
-#: ../mousepad/mousepad-window.c:3473
+#: ../mousepad/mousepad-window.c:3593
 msgid "Failed to reload the document"
 msgstr ""
 
 #. show the error
-#: ../mousepad/mousepad-window.c:3500
+#: ../mousepad/mousepad-window.c:3620
 msgid "Failed to print the document"
 msgstr ""
 
-#: ../mousepad/mousepad-window.c:3901
+#: ../mousepad/mousepad-window.c:4031
 msgid "Choose Mousepad Font"
 msgstr ""
 


More information about the Xfce4-commits mailing list