]> git.lyx.org Git - lyx.git/blobdiff - src/bufferlist.C
citation patch from Angus
[lyx.git] / src / bufferlist.C
index b43b3da8057b6efcd2c523ecb9c392539b3f400b..8fb771f814ed4a9e5693373b3f0438191fd37b92 100644 (file)
@@ -88,7 +88,7 @@ bool BufferList::empty() const
 }
 
 
-extern void MenuWrite(Buffer *);
+extern bool MenuWrite(Buffer *);
 extern bool MenuWriteAs(Buffer *);
 
 bool BufferList::QwriteAll()
@@ -111,10 +111,17 @@ bool BufferList::QwriteAll()
                                case 1: // Yes
                                        if ((*it)->isUnnamed())
                                                reask = !MenuWriteAs((*it));
-                                       else
-                                               MenuWrite((*it));
+                                       else {
+                                               reask = !MenuWrite((*it));
+                                       }
                                        break;
                                case 2: // No
+                                       // if we crash after this we could
+                                       // have no autosave file but I guess
+                                       // this is really inprobable (Jug)
+                                       if ((*it)->isUnnamed()) {
+                                               removeAutosaveFile((*it)->fileName());
+                                       }
                                        askMoreConfirmation = true;
                                        unsaved += MakeDisplayPath(fname, 50);
                                        unsaved += "\n";
@@ -192,6 +199,9 @@ bool BufferList::close(Buffer * buf)
                                }
                                break;
                        case 2:
+                               if (buf->isUnnamed()) {
+                                       removeAutosaveFile(buf->fileName());
+                               }
                                reask = false;
                                break;
                        case 3: // Cancel
@@ -451,12 +461,11 @@ Buffer * BufferList::newFile(string const & name, string tname)
                b->paragraph = new LyXParagraph;
        }
 
-#ifdef NEW_WITH_FILENAME
-       b->markDirty();
-#else
-#warning Why mark a new document dirty? I deactivate this for unnamed docs! (Jug)
-       b->setUnnamed();
-#endif
+#warning Why mark a new document dirty? I deactivate this (Jug)
+       if (!lyxrc.new_ask_filename) {
+//             b->markDirty();
+               b->setUnnamed();
+       }
        b->setReadonly(false);
        
        return b;