]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/qt_helpers.h
Complete the removal of the embedding stuff. Maybe. It's hard to be sure we got every...
[lyx.git] / src / frontends / qt4 / qt_helpers.h
index 216e876fa26d1db253b2dc9a48c6ed85f7195132..f42c993361b2f7660058972e1356e5b9a7f94999 100644 (file)
 #include "support/qstring_helpers.h"
 #include "support/strfwd.h"
 
-#include <vector>
-
 class QComboBox;
 class QLineEdit;
 class QCheckBox;
 class QString;
 class QWidget;
+template <class T> class QList;
 
 class LengthCombo;
 
 namespace lyx {
 
 namespace support { class FileFilterList; }
+namespace support { class FileName; }
 
 namespace frontend {
 
@@ -71,12 +71,15 @@ QString const qt_(char const * str, const char * comment = 0);
 QString const qt_(std::string const & str);
 
 ///
-typedef std::pair<docstring, std::string> LanguagePair;
+typedef std::pair<QString, QString> LanguagePair;
 
 /** If the caller is the character dialog, add "No change" and "Reset"
 *  to the vector.
 */
-std::vector<LanguagePair> const getLanguageData(bool character_dlg);
+QList<LanguagePair> languageData(bool character_dlg);
+
+support::FileName libFileSearch(QString const & dir, QString const & name,
+                               QString const & ext = QString());
 
 /** Wrapper around browseFile which tries to provide a filename
        relative to relpath.  If the relative path is of the form "foo.txt"
@@ -84,15 +87,15 @@ std::vector<LanguagePair> const getLanguageData(bool character_dlg);
        of the form "../baz/foo.txt", an absolute path is returned. This is
        intended to be useful for insets which encapsulate files/
 */
-docstring browseRelFile(docstring const & filename,
-       docstring const & refpath,
-       docstring const & title,
+QString browseRelFile(QString const & filename,
+       QString const & refpath,
+       QString const & title,
        support::FileFilterList const & filters,
        bool save = false,
-       docstring const & label1 = docstring(),
-       docstring const & dir1 = docstring(),
-       docstring const & label2 = docstring(),
-       docstring const & dir2 = docstring());
+       QString const & label1 = QString(),
+       QString const & dir1 = QString(),
+       QString const & label2 = QString(),
+       QString const & dir2 = QString());
 
 
 /** Build filelists of all availabe bst/cls/sty-files. Done through
@@ -103,12 +106,27 @@ void rescanTexStyles();
 /** Fill \c contents from one of the three texfiles.
  *  Each entry in the file list is returned as a name_with_path
  */
-void getTexFileList(std::string const & filename, std::vector<std::string> & contents);
+QStringList texFileList(QString const & filename);
 
 // wrapper around the docstring versions
-QString internalPath(const QString &);
-QString onlyFilename(const QString & str);
-QString onlyPath(const QString & str);
+QString internalPath(QString const &);
+QString onlyFilename(QString const & str);
+QString onlyPath(QString const & str);
+
+QString changeExtension(QString const & oldname, QString const & extension);
+
+/// Remove the extension from \p name
+QString removeExtension(QString const & name);
+
+/** Add the extension \p ext to \p name.
+ Use this instead of changeExtension if you know that \p name is without
+ extension, because changeExtension would wrongly interpret \p name if it
+ contains a dot.
+ */
+QString addExtension(QString const & name, QString const & extension);
+
+/// Return the extension of the file (not including the .)
+QString getExtension(QString const & name);
 
 } // namespace lyx