#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 {
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"
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
/** 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