string const to_base = removeExtension(to.absFilename());
string const to_extension = getExtension(to.absFilename());
- vector<FileName> const files =
- support::dirList(FileName(path), getExtension(from.absFilename()));
+ vector<FileName> const files = FileName(path).dirList(getExtension(from.absFilename()));
for (vector<FileName>::const_iterator it = files.begin();
it != files.end(); ++it) {
string const from2 = it->absFilename();
}
+FileName::~FileName()
+{
+ delete d;
+}
+
+
FileName::FileName(FileName const & rhs) : d(new Private)
{
d->fi = rhs.d->fi;
}
-std::vector<FileName> dirList(FileName const & dirname, std::string const & ext)
+std::vector<FileName> FileName::dirList(std::string const & ext)
{
std::vector<FileName> dirlist;
- if (!dirname.isDirectory()) {
- LYXERR0("Directory '" << dirname << "' does not exist!");
+ if (!isDirectory()) {
+ LYXERR0("Directory '" << *this << "' does not exist!");
return dirlist;
}
- QDir dir(dirname.d->fi.absoluteFilePath());
+ QDir dir(d->fi.absoluteFilePath());
if (!ext.empty()) {
QString filter;
}
+docstring const FileName::relPath(string const & path) const
+{
+ // FIXME UNICODE
+ return makeRelPath(qstring_to_ucs4(d->fi.absoluteFilePath()), from_utf8(path));
+}
+
+
bool operator==(FileName const & lhs, FileName const & rhs)
{
return lhs.absFilename() == rhs.absFilename();
string DocFileName::relFilename(string const & path) const
{
// FIXME UNICODE
- return to_utf8(makeRelPath(qstring_to_ucs4(d->fi.absoluteFilePath()), from_utf8(path)));
+ return to_utf8(relPath(path));
}
#include "support/strfwd.h"
#include <ctime>
+#include <vector>
namespace lyx {
///
FileName & operator=(FileName const &);
- virtual ~FileName() {}
+ virtual ~FileName();
/** Set a new filename.
* \param filename the file in question. Must have an absolute path.
* Encoding is always UTF-8.
/// change to a directory, return success
bool chdir() const;
-//private:
- friend class DocFileName;
+ /// \return list other files in the directory having optional extension 'ext'.
+ std::vector<FileName> dirList(std::string const & ext = empty_string());
+
+ /// \param buffer_path if empty, uses `pwd`
+ docstring const relPath(std::string const & path) const;
+
+private:
///
struct Private;
Private * const d;
cmd_ret const runCommand(std::string const & cmd);
-/// \return list files in a directory having optional extension ext..
-std::vector<FileName> dirList(FileName const & dir,
- std::string const & ext = empty_string());
} // namespace support
} // namespace lyx