]> git.lyx.org Git - lyx.git/blobdiff - src/support/os.h
New auto-open feature from Bo Peng (with help from Jean-Marc and Enrico)
[lyx.git] / src / support / os.h
index ca4bd675ec9b3031ab644365bfe2e48e15f6780c..415868f8029f7798996902cd0bc17dd319f36813 100644 (file)
@@ -47,6 +47,20 @@ std::string external_path(std::string const & p);
 /// Converts a host OS style path to unix style.
 std::string internal_path(std::string const & p);
 
+/// Converts a unix style path list to host OS style.
+std::string external_path_list(std::string const & p);
+
+/// Converts a host OS style path list to unix style.
+std::string internal_path_list(std::string const & p);
+
+/**
+ * Converts a unix style path into a form suitable for inclusion in a LaTeX
+ * document.
+ * Caution: This function handles only the OS specific part of that task.
+ * Never use it directly, use lyx::support::latex_path instead.
+ */
+std::string latex_path(std::string const & p);
+
 /// Is the path absolute?
 bool is_absolute_path(std::string const & p);
 
@@ -60,6 +74,31 @@ char const * popen_read_mode();
  */
 char path_separator();
 
+/** If @c use_cygwin_paths is true, LyX will output cygwin style paths
+ *  rather than native Win32 ones. Obviously, this option is used only
+ *  under Cygwin.
+ */
+void cygwin_path_fix(bool use_cygwin_paths);
+
+enum auto_open_mode {
+       VIEW,
+       EDIT
+};
+
+/** Check whether or not a file can be viewed by a default viewer 
+ *  \param extension (without leading .)
+ *  \mode can be opened in VIEW or EDIT mode
+ *  \returns whether or not the format can be viewed
+ */
+bool canAutoOpenFile(std::string const & ext, auto_open_mode const mode=VIEW);
+
+/** view a file, with given command and parameter.
+ *  \param filename
+ *  \param mode open in VIEW or EDIT mode
+ *  \returns whether or not the file is viewed (or edited) successfully.
+ */
+bool autoOpenFile(std::string const & filename, auto_open_mode const mode=VIEW);
+
 } // namespace os
 } // namespace support
 } // namespace lyx