X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfunc.C;h=ff526d5968dab7ef08868c7e5c70bf392af54565;hb=52eb91c94fb70d58dceef430659c8781de2eccda;hp=123e896bf42326f21211b96a96231d0dd74ede8d;hpb=40bced2e30cb5910fc38c716029b5fc5276bfe8e;p=lyx.git diff --git a/src/lyxfunc.C b/src/lyxfunc.C index 123e896bf4..ff526d5968 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -232,7 +232,7 @@ void LyXFunc::handleKeyFunc(kb_action action) c = 0; lyx_view_->view()->getIntl().getTransManager().deadkey( - c, get_accent(action).accent, view()->getLyXText(), view()->cursor()); + c, get_accent(action).accent, view()->cursor().innerText(), view()->cursor()); // Need to clear, in case the minibuffer calls these // actions keyseq->clear(); @@ -577,6 +577,11 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const case LFUN_DIALOG_SHOW_NEW_INSET: enable = cur.inset().lyxCode() != InsetBase::ERT_CODE; + if (cur.inset().lyxCode() == InsetBase::CAPTION_CODE) { + FuncStatus flag; + if (cur.inset().getStatus(cur, cmd, flag)) + return flag; + } break; case LFUN_DIALOG_UPDATE: { @@ -841,7 +846,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd) if (view()->buffer()) // cancel any selection dispatch(FuncRequest(LFUN_MARK_OFF)); - setMessage(_("Cancel")); + setMessage(from_ascii(N_("Cancel"))); break; case LFUN_META_PREFIX: @@ -882,7 +887,6 @@ void LyXFunc::dispatch(FuncRequest const & cmd) lyx_view_->message(str + _(" done.")); } else { writeAs(lyx_view_->buffer()); - lyx_view_->updateTab(); } updateFlags = Update::None; break; @@ -891,7 +895,6 @@ void LyXFunc::dispatch(FuncRequest const & cmd) BOOST_ASSERT(lyx_view_ && lyx_view_->buffer()); writeAs(lyx_view_->buffer(), argument); updateFlags = Update::None; - lyx_view_->updateTab(); break; case LFUN_BUFFER_RELOAD: { @@ -1057,9 +1060,18 @@ void LyXFunc::dispatch(FuncRequest const & cmd) } else { // case 1: print to a file + FileName const filename(makeAbsPath(target_name, path)); + if (fs::exists(filename.toFilesystemEncoding())) { + docstring text = bformat( + _("The file %1$s already exists.\n\n" + "Do you want to over-write that file?"), + makeDisplayPath(filename.absFilename())); + if (Alert::prompt(_("Over-write file?"), + text, 0, 1, _("&Over-write"), _("&Cancel")) != 0) + break; + } command += lyxrc.print_to_file - + quoteName(makeAbsPath(target_name, - path).toFilesystemEncoding()) + + quoteName(filename.toFilesystemEncoding()) + ' ' + quoteName(dviname); res = one.startscript(Systemcall::DontWait, @@ -1104,7 +1116,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd) BOOST_ASSERT(lyx_view_); string const arg = argument; if (arg.empty()) { - setErrorMessage(_("Missing argument")); + setErrorMessage(from_ascii(N_("Missing argument"))); break; } FileName const fname = i18nLibFileSearch("doc", arg, "lyx"); @@ -1387,9 +1399,8 @@ void LyXFunc::dispatch(FuncRequest const & cmd) BOOST_ASSERT(lyx_view_); FileName const filename = makeAbsPath(argument, lyx_view_->buffer()->filePath()); - // FIXME Should use bformat - setMessage(_("Opening child document ") + - makeDisplayPath(filename.absFilename()) + "..."); + setMessage(bformat(_("Opening child document %1$s..."), + makeDisplayPath(filename.absFilename()))); view()->saveBookmark(false); string const parentfilename = lyx_view_->buffer()->fileName(); if (theBufferList().exists(filename.absFilename())) @@ -1475,8 +1486,9 @@ void LyXFunc::dispatch(FuncRequest const & cmd) string lyx_name; string const x11_name = split(argument, lyx_name, ' '); if (lyx_name.empty() || x11_name.empty()) { - setErrorMessage(_("Syntax: set-color " - " ")); + setErrorMessage(from_ascii(N_( + "Syntax: set-color " + " "))); break; } @@ -1601,11 +1613,10 @@ void LyXFunc::dispatch(FuncRequest const & cmd) } if (defaults.writeFile(FileName(defaults.fileName()))) - // FIXME Should use bformat - setMessage(_("Document defaults saved in ") - + makeDisplayPath(fname)); + setMessage(bformat(_("Document defaults saved in %1$s"), + makeDisplayPath(fname))); else - setErrorMessage(_("Unable to save document defaults")); + setErrorMessage(from_ascii(N_("Unable to save document defaults"))); break; } @@ -1760,8 +1771,8 @@ void LyXFunc::dispatch(FuncRequest const & cmd) // if we executed a mutating lfun, mark the buffer as dirty if (flag.enabled() - && !lyxaction.funcHasFlag(cmd.action, LyXAction::NoBuffer) - && !lyxaction.funcHasFlag(cmd.action, LyXAction::ReadOnly)) + && !lyxaction.funcHasFlag(action, LyXAction::NoBuffer) + && !lyxaction.funcHasFlag(action, LyXAction::ReadOnly)) view()->buffer()->markDirty(); if (view()->cursor().inTexted()) { @@ -1772,7 +1783,8 @@ void LyXFunc::dispatch(FuncRequest const & cmd) if (!quitting) { lyx_view_->updateMenubar(); lyx_view_->updateToolbars(); - sendDispatchMessage(getMessage(), cmd); + // Some messages may already be translated, so we cannot use _() + sendDispatchMessage(translateIfPossible(getMessage()), cmd); } }