From: Vincent van Ravesteijn Date: Fri, 26 Nov 2010 02:01:04 +0000 (+0000) Subject: Fix bug #7035: Read-only status and compressed status not set correctly when an autos... X-Git-Tag: 2.0.0~1683 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=3508aaf2dbd228d54c7c20959ca5475698aedcb5;p=features.git Fix bug #7035: Read-only status and compressed status not set correctly when an autosave or emergency file is loaded, or when the file is been converted by lyx2lyx. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36497 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/Buffer.cpp b/src/Buffer.cpp index ebbac0f556..9cb4b5d5e8 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -889,8 +889,8 @@ Buffer::ReadStatus Buffer::readFile(FileName const & fn) } d->file_fully_loaded = true; - d->read_only = !fname.isWritable(); - params().compressed = fname.isZippedFile(); + d->read_only = !d->filename.isWritable(); + params().compressed = d->filename.isZippedFile(); saveCheckSum(); return ReadSuccess; } @@ -3659,6 +3659,13 @@ Buffer::ReadStatus Buffer::loadEmergency() ReadStatus const ret_llf = loadThisLyXFile(emergencyFile); bool const success = (ret_llf == ReadSuccess); if (success) { + if (isReadonly()) { + Alert::warning(_("File is read-only"), + bformat(_("An emergency file is succesfully loaded, " + "but the original file %1$s is marked read-only. " + "Please make sure to save the document as a different " + "file."), from_utf8(d->filename.absFileName()))); + } markDirty(); str = _("Document was successfully recovered."); } else @@ -3714,6 +3721,14 @@ Buffer::ReadStatus Buffer::loadAutosave() ReadStatus const ret_llf = loadThisLyXFile(autosaveFile); // the file is not saved if we load the autosave file. if (ret_llf == ReadSuccess) { + if (isReadonly()) { + Alert::warning(_("File is read-only"), + bformat(_("A backup file is succesfully loaded, " + "but the original file %1$s is marked read-only. " + "Please make sure to save the document as a " + "different file."), + from_utf8(d->filename.absFileName()))); + } markDirty(); return ReadSuccess; }