Introduce errors-show

a way to re-open the (LaTeX or other processing) errors dialog after it
had been closed without having to re-compile the document (#2775)
This commit is contained in:
Juergen Spitzmueller 2024-12-31 12:49:38 +01:00
parent 6563d81cd2
commit 7903b665a6
5 changed files with 26 additions and 0 deletions

View File

@ -17,6 +17,9 @@
!!!The following new LyX functions have been introduced in 2.5:
- The new function show-errors re-displays the (e.g., LaTeX) errors dialog
if there had been any processing errors.
- The new function word-invertcase is a companion of word-upcase and
word-lowcase: it inverts each character between lowcase and upcase,
which is useful when one FORGOT THE cAPS lOCK KEY.

View File

@ -575,6 +575,7 @@ Menuset
Submenu "Change Tracking|C" "document_change"
OptItem "Build Program|B" "build-program"
Item "LaTeX Log|L" "dialog-show latexlog"
Item "Processing Errors|r" "errors-show"
Item "Start Appendix Here|x" "appendix"
Separator
ViewFormats

View File

@ -513,6 +513,7 @@ enum FuncCode
// 400
LFUN_REFERENCE_TO_PARAGRAPH, // spitz, 20240728
LFUN_WORD_INVERTCASE, // lasgouttes 20241015
LFUN_ERRORS_SHOW, // spitz 20241231
LFUN_LASTACTION // end of the table
};

View File

@ -1579,6 +1579,14 @@ void LyXAction::init()
*/
{ LFUN_ENVIRONMENT_SPLIT, "environment-split", Noop, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_ERRORS_SHOW
* \li Action: Shows export error dialog if errors exist.
* \li Syntax: errors-show
* \li Origin: spitz, 31 Dec 2024
* \endvar
*/
{ LFUN_ERRORS_SHOW, "errors-show", NoBuffer, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_ERT_INSERT

View File

@ -2673,6 +2673,12 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
break;
}
case LFUN_ERRORS_SHOW: {
enable = buf && (!buf->errorList(d.last_export_format).empty()
|| !buf->masterBuffer()->errorList(d.last_export_format).empty());
break;
}
case LFUN_COMMAND_EXECUTE:
case LFUN_MESSAGE:
case LFUN_MENU_OPEN:
@ -4916,6 +4922,13 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
break;
}
case LFUN_ERRORS_SHOW: {
// We guess it's from master if the single buffer list is empty
bool const from_master = bv->buffer().errorList(d.last_export_format).empty();
errors(d.last_export_format, from_master);
break;
}
case LFUN_MESSAGE:
dr.setMessage(cmd.argument());
break;