]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView.cpp
support for Australian and Newzealand as document language; fileformat change
[lyx.git] / src / BufferView.cpp
index a06b6fec4561d10a01bf02d006f931043d0d43d4..957a0b067307d63b13c0a65fef4e317c9488fb6e 100644 (file)
@@ -1034,9 +1034,17 @@ bool BufferView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
                // buffer clean/dirty status by itself.
                flag.setEnabled(!buffer_.isReadonly() && buffer_.undo().hasRedoStack());
                break;
-       case LFUN_FILE_INSERT:
        case LFUN_FILE_INSERT_PLAINTEXT_PARA:
-       case LFUN_FILE_INSERT_PLAINTEXT:
+       case LFUN_FILE_INSERT_PLAINTEXT: {
+               docstring const fname = cmd.argument();
+               if (!FileName::isAbsolute(to_utf8(fname))) {
+                       flag.message(_("Absolute filename expected."));
+                       return false;
+               }
+               flag.setEnabled(cur.inTexted());
+               break;
+       }
+       case LFUN_FILE_INSERT:
        case LFUN_BOOKMARK_SAVE:
                // FIXME: Actually, these LFUNS should be moved to Text
                flag.setEnabled(cur.inTexted());
@@ -1937,6 +1945,16 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                        cur.setCurrentFont();
                        dr.forceBufferUpdate();
                }
+       }
+
+       case LFUN_FILE_INSERT_PLAINTEXT_PARA:
+       case LFUN_FILE_INSERT_PLAINTEXT: {
+               bool const as_paragraph = (act == LFUN_FILE_INSERT_PLAINTEXT_PARA);
+               string const fname = to_utf8(cmd.argument());
+               if (!FileName::isAbsolute(fname))
+                       dr.setMessage(_("Absolute filename expected."));
+               else
+                       insertPlaintextFile(FileName(fname), as_paragraph);
                break;
        }