]> git.lyx.org Git - lyx.git/blobdiff - src/support/filetools.h
improve language flag for Objective-C compiler call
[lyx.git] / src / support / filetools.h
index 782ba2cc31773218b868d3441b116d849d3a1655..58d11542d47505b317e0bcb473ef7e504a15da76 100644 (file)
@@ -64,13 +64,19 @@ FileName const fileSearch(std::string const & path,
                             search_mode mode = must_exist);
 
 ///
-bool isLyXFilename(std::string const & filename);
+bool isLyXFileName(std::string const & filename);
 
 ///
-bool isSGMLFilename(std::string const & filename);
+bool isSGMLFileName(std::string const & filename);
 
-///
-bool isValidLaTeXFilename(std::string const & filename);
+/// check for characters in filenames not allowed by LaTeX
+bool isValidLaTeXFileName(std::string const & filename);
+
+/** check for characters in filenames that might lead to
+  problems when manually compiling the LaTeX export of LyX
+  and opening the result with some older DVI-viewers
+*/
+bool isValidDVIFileName(std::string const & filename);
 
 /** Returns the path of a library data file.
     Search the file name.ext in the subdirectory dir of
@@ -92,6 +98,13 @@ i18nLibFileSearch(std::string const & dir,
                  std::string const & name,
                  std::string const & ext = std::string());
 
+/** Same as libFileSearch(), but tries first to find a preferred
+  version of the file by appending the icon set name to the dir
+  */
+FileName const
+imageLibFileSearch(std::string & dir, std::string const & name,
+                  std::string const & ext = std::string());
+
 /// How to quote a filename
 enum quote_style {
        /** Quote for the (OS dependant) shell. This is needed for command
@@ -225,7 +238,7 @@ makeRelPath(docstring const & abspath, docstring const & basepath);
 std::string const onlyPath(std::string const & fname);
 
 /// Strips path from filename
-std::string const onlyFilename(std::string const & fname);
+std::string const onlyFileName(std::string const & fname);
 
 /** Check and Replace Environmentvariables ${NAME} in Path.
     Replaces all occurences of these, if they are found in the
@@ -234,6 +247,18 @@ std::string const onlyFilename(std::string const & fname);
 */
 std::string const replaceEnvironmentPath(std::string const & path);
 
+/**
+   Return a string to be used as a prefix to a command for setting the
+   environment of the TeX engine with respect to the path \p path.
+ */
+std::string latexEnvCmdPrefix(std::string const & path);
+
+/** Replace all references to a current directory (a lonely '.' or
+    the prefix "./") in \c pathlist with \c path. Also prefixes
+    all non-absolute paths with \c path.
+*/
+std::string const replaceCurdirPath(std::string const & path, std::string const & pathlist);
+
 /** Set \c link to the path \c file points to as a symbolic link.
     \return true if successful.
  */
@@ -250,9 +275,6 @@ bool readLink(FileName const & file, FileName & link);
 FileName const findtexfile(std::string const & fil,
                              std::string const & format);
 
-/// read the BoundingBox entry from a ps/eps/pdf-file
-std::string const readBB_from_PSFile(FileName const & file);
-
 /** \param file1, file2 the two files to be compared. Must have absolute paths.
  *  \returns 1 if \c file1 has a more recent timestamp than \c file2,
  *           0 if their timestamps are the same,
@@ -262,10 +284,16 @@ std::string const readBB_from_PSFile(FileName const & file);
  */
 int compare_timestamps(FileName const & file1, FileName const & file2);
 
+/// \param lfuns: true if we're converting lfuns, false if prefs
+bool prefs2prefs(FileName const & filename, FileName const & tempfile,
+                 bool lfuns);
+
 typedef std::pair<int, std::string> cmd_ret;
 
 cmd_ret const runCommand(std::string const & cmd);
 
+int fileLock(const char * lock_file);
+void fileUnlock(int fd, const char * lock_file);
 
 } // namespace support
 } // namespace lyx