X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Ffiletools.h;h=6d717a58c66783794d9fe45b66f36377c4713fdc;hb=848c89564fce9c4bfec79b915746dc6bc47abc3d;hp=86abc47b4ad48046c59d327c27077acb77bf22c1;hpb=49b753f60330fe78a106ec55d8b99d0372464641;p=lyx.git diff --git a/src/support/filetools.h b/src/support/filetools.h index 86abc47b4a..6d717a58c6 100644 --- a/src/support/filetools.h +++ b/src/support/filetools.h @@ -13,7 +13,7 @@ #define LYX_FILETOOL_H #include "support/docstring.h" -#include "support/filename.h" +#include "support/FileName.h" #include #include @@ -29,7 +29,7 @@ bool destroyDir(FileName const & tmpdir); std::string const createBufferTmpDir(); /// Creates directory. Returns true on success -bool createDirectory(std::string const & name, int permissions); +bool createDirectory(FileName const & name, int permissions); /** Creates the global LyX temp dir. \p deflt can be an existing directory name. In this case a new directory @@ -81,7 +81,7 @@ std::vector const dirList(FileName const & dir, true: dir writeable false: not writeable */ -bool isDirWriteable(std::string const & path); +bool isDirWriteable(FileName const & path); /** Is a file readable ? Returns true if the file `path' is readable. @@ -94,6 +94,9 @@ bool isLyXFilename(std::string const & filename); /// bool isSGMLFilename(std::string const & filename); +/// +bool isValidLaTeXFilename(std::string const & filename); + /** Returns the path of a library data file. Search the file name.ext in the subdirectory dir of -# user_lyxdir @@ -224,7 +227,7 @@ std::string const unzippedFileName(std::string const & zipped_file); Will overwrite an already existing unzipped file without warning. */ FileName const unzipFile(FileName const & zipped_file, - std::string const & unzipped_file = std::string()); + std::string const & unzipped_file = std::string()); /// Returns true is path is absolute bool absolutePath(std::string const & path); @@ -236,7 +239,7 @@ std::string const expandPath(std::string const & path); If relpath is absolute, just use that. If basepath doesn't exist use CWD. */ -std::string const makeAbsPath(std::string const & RelPath = std::string(), +FileName const makeAbsPath(std::string const & RelPath = std::string(), std::string const & BasePath = std::string()); /** Creates a nice compact path for displaying. The parameter @@ -252,8 +255,8 @@ makeDisplayPath(std::string const & path, unsigned int threshold = 1000); different, then the absolute path will be used as relative path WARNING: the absolute path and base path must really be absolute paths!!! */ -std::string const -makeRelPath(std::string const & abspath, std::string const & basepath); +docstring const +makeRelPath(docstring const & abspath, docstring const & basepath); /// Strip filename from path name std::string const onlyPath(std::string const & fname); @@ -276,14 +279,19 @@ std::string const getFileContents(FileName const & fname); */ std::string const replaceEnvironmentPath(std::string const & path); -/* Set \c link to the path \c file points to as a symbolic link. - If \c resolve is true, then \c link is an absolute path - Returns true if successful */ -bool readLink(std::string const & file, - std::string & link, - bool resolve = false); +/** Set \c link to the path \c file points to as a symbolic link. + \return true if successful. + */ +bool readLink(FileName const & file, FileName & link); -/// Uses kpsewhich to find tex files +/** + * Search a TeX file in all locations the latex compiler would search it, + * with the help of kpsewhich. + * The current working directory must be set correctly, so that relative + * names work. + * \param fil The filename to search + * \param format The file format as used by kpsewhich, e.g. "bib", "bst" etc. + */ FileName const findtexfile(std::string const & fil, std::string const & format);