#include "support/debug.h"
#include "support/filetools.h"
#include "support/lstrings.h"
-#include "support/lyxlib.h"
#include "support/os.h"
#include "support/Package.h"
#include "support/qstring_helpers.h"
}
+bool FileName::isAbsolute() const
+{
+ return d->fi.isAbsolute();
+}
+
+
string FileName::absFilename() const
{
return fromqstr(d->fi.absoluteFilePath());
bool FileName::changePermission(unsigned long int mode) const
{
- if (!isWritable()) {
- LYXERR0("File " << *this << " is not writable!");
- return false;
- }
-
#if defined (HAVE_CHMOD) && defined (HAVE_MODE_T)
if (::chmod(toFilesystemEncoding().c_str(), mode_t(mode)) != 0) {
LYXERR0("File " << *this << ": cannot change permission to "
string FileName::onlyFileName() const
{
- return support::onlyFilename(absFilename());
+ return fromqstr(d->fi.fileName());
}
FileName FileName::onlyPath() const
{
- return FileName(support::onlyPath(absFilename()));
+ FileName path;
+ path.d->fi.setFile(d->fi.filePath());
+ return path;
}
void DocFileName::set(string const & name, string const & buffer_path)
{
- save_abs_path_ = absolutePath(name);
- FileName::set(save_abs_path_ ? name : makeAbsPath(name, buffer_path).absFilename());
+ FileName::set(name);
+ if (!isAbsolute())
+ FileName::set(makeAbsPath(name, buffer_path).absFilename());
zipped_valid_ = false;
}