]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.C
Fix natbib bug spotted by JMarc.
[lyx.git] / src / lyxfunc.C
index a1b316d092db1365152c35f5bc238c33e02f9a6f..23979786b884500f5f0921965fbb6f07b750e2cf 100644 (file)
@@ -327,8 +327,8 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
                        || lyxrc.print_command == "none";
                break;
        case LFUN_EXPORT:
-               disable = ev.argument == "fax" &&
-                       !Exporter::IsExportable(buf, ev.argument);
+               disable = ev.argument != "custom"
+                       && !Exporter::IsExportable(buf, ev.argument);
                break;
        case LFUN_UNDO:
                disable = buf->undostack.empty();
@@ -338,9 +338,12 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
                break;
        case LFUN_CUT:
        case LFUN_COPY:
-               if (tli && tli->lyxCode() == Inset::TABULAR_CODE) {
-                       InsetTabular * t(static_cast<InsetTabular*>(tli));
-                       if (t->hasSelection()) {
+               if (tli) {
+                       UpdatableInset * in = tli;
+                       if (in->lyxCode() != Inset::TABULAR_CODE) {
+                               in = tli->getFirstLockingInsetOfType(Inset::TABULAR_CODE);
+                       }
+                       if (in && static_cast<InsetTabular*>(in)->hasSelection()) {
                                disable = false;
                                break;
                        }
@@ -459,6 +462,13 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
                disable =  !view()->
                        isSavedPosition(strToUnsignedInt(ev.argument));
                break;
+       case LFUN_MERGE_CHANGES:
+       case LFUN_ACCEPT_CHANGE:
+       case LFUN_REJECT_CHANGE:
+       case LFUN_ACCEPT_ALL_CHANGES:
+       case LFUN_REJECT_ALL_CHANGES:
+               disable = !buf->params.tracking_changes;
+               break;
        case LFUN_INSET_TOGGLE: {
                LyXText * lt = view()->getLyXText();
                disable = !(isEditableInset(lt->getInset())
@@ -621,6 +631,9 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
                if (ev.argument == buf->fileName())
                        flag.setOnOff(true);
                break;
+       case LFUN_TRACK_CHANGES:
+               flag.setOnOff(buf->params.tracking_changes);
+               break;
        default:
                break;
        }
@@ -1644,7 +1657,7 @@ void LyXFunc::menuNew(string const & name, bool fromTemplate)
 
                FileDialog::Result result =
                        fileDlg.open(lyxrc.template_path,
-                                      _("*.lyx|LyX Documents (*.lyx)"));
+                                      _("*.lyx| LyX Documents (*.lyx)"));
 
                if (result.first == FileDialog::Later)
                        return;
@@ -1683,7 +1696,7 @@ void LyXFunc::open(string const & fname)
 
                FileDialog::Result result =
                        fileDlg.open(initpath,
-                                      "*.lyx|LyX Documents (*.lyx)");
+                                      _("*.lyx| LyX Documents (*.lyx)"));
 
                if (result.first == FileDialog::Later)
                        return;
@@ -1712,7 +1725,7 @@ void LyXFunc::open(string const & fname)
        if (!f.exist()) {
                if (!Alert::askQuestion(_("No such file"), disp_fn,
                        _("Start a new document with this filename ?"))) {
-                       owner->message(_("Canceled"));
+                       owner->message(_("Canceled."));
                        return;
                }
                // the user specifically chose this name. Believe them.
@@ -1837,7 +1850,7 @@ void LyXFunc::doImport(string const & argument)
        if (FileInfo(lyxfile, true).exist() && filename != lyxfile) {
                if (!Alert::askQuestion(_("A document by the name"),
                        MakeDisplayPath(lyxfile), _("already exists. Overwrite?"))) {
-                       owner->message(_("Canceled"));
+                       owner->message(_("Canceled."));
                        return;
                }
        }