#ifdef HAVE_MAGIC_H
#include <magic.h>
#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
#include <cerrno>
#include <cstdlib>
// simple parser in Systemcall.cpp do the substitution.
return '"' + subst(name, "\"", "\\\"") + '"';
#endif
+ case quote_shell_filename:
+ return quoteName(os::external_path(name), quote_shell);
case quote_python:
return "\"" + subst(subst(name, "\\", "\\\\"), "\"", "\\\"")
+ "\"";
return mode == may_not_exist ? fullname : FileName();
// Only add the extension if it is not already the extension of
// fullname.
- if (getExtension(fullname.absFileName()) != ext)
+ if (getExtension(fullname.absFileName()) != ext) {
+ if (mode == check_hidpi) {
+ FileName fullname2x = FileName(addExtension(fullname.absFileName() + "@2x", ext));
+ if (fullname2x.isReadableFile())
+ return fullname2x;
+ }
fullname = FileName(addExtension(fullname.absFileName(), ext));
+ }
if (fullname.isReadableFile() || mode == may_not_exist)
return fullname;
return FileName();
// 2) build_lyxdir (if not empty)
// 3) system_lyxdir
FileName const libFileSearch(string const & dir, string const & name,
- string const & ext)
+ string const & ext, search_mode mode)
{
FileName fullname = fileSearch(addPath(package().user_support().absFileName(), dir),
- name, ext);
+ name, ext, mode);
if (!fullname.empty())
return fullname;
if (!package().build_support().empty())
fullname = fileSearch(addPath(package().build_support().absFileName(), dir),
- name, ext);
+ name, ext, mode);
if (!fullname.empty())
return fullname;
- return fileSearch(addPath(package().system_support().absFileName(), dir), name, ext);
+ return fileSearch(addPath(package().system_support().absFileName(), dir),
+ name, ext, mode);
}
FileName const imageLibFileSearch(string & dir, string const & name,
- string const & ext)
+ string const & ext, search_mode mode)
{
if (!lyx::lyxrc.icon_set.empty()) {
string const imagedir = addPath(dir, lyx::lyxrc.icon_set);
- FileName const fn = libFileSearch(imagedir, name, ext);
+ FileName const fn = libFileSearch(imagedir, name, ext, mode);
if (fn.exists()) {
dir = imagedir;
return fn;
}
}
- return libFileSearch(dir, name, ext);
+ return libFileSearch(dir, name, ext, mode);
}
return "env TEXINPUTS=\"." + sep + texinputs_prefix
+ sep + texinputs + "\" ";
else
- return "cmd /d /c set TEXINPUTS=." + sep + texinputs_prefix
- + sep + texinputs + "&";
+#ifndef USE_QPROCESS
+ return "cmd /d /c set \"TEXINPUTS=."
+ + sep + texinputs_prefix
+ + sep + texinputs + "\"&";
+#else
+ return "cmd /d /c set \"\"\"TEXINPUTS=."
+ + sep + texinputs_prefix
+ + sep + texinputs + "\"\"\"&";
+#endif
}