mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-20 11:48:30 -06:00
Bug 639322 part 2b: display an error message if a user attempts to export to somewhere in gnc_dotgnucash_dir
and add a hint for translators to the error message string git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20100 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
ff4ff5a752
commit
6fb1dd93ee
@ -400,6 +400,9 @@ show_session_error (QofBackendError io_error,
|
||||
break;
|
||||
|
||||
case ERR_FILEIO_RESERVED_WRITE:
|
||||
/* Translators: the first %s is a path in the filesystem,
|
||||
* the second %s is PACKAGE_NAME, which by default is "GnuCash"
|
||||
*/
|
||||
fmt = _("You attempted to save in\n%s\nor a subdirectory thereof. "
|
||||
"This is not allowed as %s reserves that directory for internal use.\n\n"
|
||||
"Please try again in a different directory.");
|
||||
@ -1004,12 +1007,23 @@ gnc_file_do_export(const char * filename)
|
||||
newfile = norm_file;
|
||||
}
|
||||
|
||||
/* For file based uri's, remember the directory as the default. */
|
||||
/* Some extra steps for file based uri's only */
|
||||
if (gnc_uri_is_file_protocol(protocol))
|
||||
{
|
||||
/* Remember the directory as the default. */
|
||||
gchar *default_dir = g_path_get_dirname(path);
|
||||
gnc_set_default_directory (GCONF_DIR_EXPORT, default_dir);
|
||||
gnc_set_default_directory (GCONF_DIR_OPEN_SAVE, default_dir);
|
||||
g_free(default_dir);
|
||||
|
||||
/* Prevent user to store file in GnuCash' private configuration
|
||||
* directory (~/.gnucash by default in linux, but can be overridden)
|
||||
*/
|
||||
DEBUG("User path: %s, dotgnucash_dir: %s", path, gnc_dotgnucash_dir());
|
||||
if (g_str_has_prefix(path, gnc_dotgnucash_dir()))
|
||||
{
|
||||
show_session_error (ERR_FILEIO_RESERVED_WRITE, newfile, GNC_FILE_DIALOG_SAVE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check to see if the user specified the same file as the current
|
||||
|
Loading…
Reference in New Issue
Block a user