commit ed8dfa3fa0eb75b3f4b73fb55e9018c2ffc39d53
Author: Kornel Benko <[email protected]>
Date: Sun Aug 5 09:54:44 2018 +0200
Expand tilde meaning in front of a path name.
This allows to address data in the current lyx-system-directory.
The additional prefix is '~:s/'
The original prefix '~/' still addresses current users home directory.
---
src/support/FileName.cpp | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/support/FileName.cpp b/src/support/FileName.cpp
index 1e3cacf..7fa0631 100644
--- a/src/support/FileName.cpp
+++ b/src/support/FileName.cpp
@@ -110,9 +110,16 @@ struct FileName::Private
static
string const handleTildeName(string const & name)
{
- return name == "~" ? Package::get_home_dir().absFileName() :
- prefixIs(name, "~/") ?
Package::get_home_dir().absFileName() + name.substr(1) :
- name;
+ string resname;
+ if ( name == "~" )
+ resname = Package::get_home_dir().absFileName();
+ else if ( prefixIs(name, "~/"))
+ resname = Package::get_home_dir().absFileName() +
name.substr(1);
+ else if ( prefixIs(name, "~:s/"))
+ resname = package().system_support().absFileName() +
name.substr(3);
+ else
+ resname = name;
+ return resname;
}
/// The absolute file name in UTF-8 encoding.