...
 
Commits (6)
LaTeXila NEWS
Release 3.24.3, 2017-08-20
--------------------------
* latexmk post-processor: fix bug with LaTeX errors and warnings not detected
with new versions of latexmk.
* Small bug fixes:
* Search: replace all button: center content vertically.
* LaTeX and Math menus: grab focus to active text view after inserting text.
Release 3.24.2, 2017-06-25
--------------------------
* Fix a crash when moving a tab to a new window (regression in 3.24).
Release 3.24.1, 2017-06-11
--------------------------
* Create app menu only if the desktop prefers one, to avoid a double menubar on
......
LaTeXila
========
This is the version 3.24.1 of LaTeXila.
This is the version 3.24.3 of LaTeXila.
LaTeXila is an Integrated LaTeX Environment for the GNOME desktop.
......
......@@ -5,7 +5,7 @@
AC_PREREQ([2.64])
AC_INIT([LaTeXila],
[3.24.1],
[3.24.3],
[https://bugzilla.gnome.org/enter_bug.cgi?product=latexila],
[latexila],
[https://wiki.gnome.org/Apps/LaTeXila])
......
......@@ -77,7 +77,6 @@ public class DocumentsPanel : Notebook
int pos = page_num (tab);
remove_page (pos);
tab.destroy ();
}
public void remove_all_tabs ()
......
......@@ -537,6 +537,8 @@ public class LatexMenu : Gtk.ActionGroup
}
active_document.end_user_action ();
main_window.active_view.grab_focus ();
}
private string get_indentation ()
......
......@@ -359,19 +359,15 @@ fetch_latexmk_messages (LatexilaPostProcessorLatexmk *pp,
add_sub_message (pp, msg);
}
static void
fetch_sub_command_output (LatexilaPostProcessorLatexmk *pp,
gchar *line)
static gboolean
sub_command_output_matches_start_latexmk_message (const gchar *line)
{
static GRegex *regex_for_rule = NULL;
static GRegex *regex_rule = NULL;
GError *error = NULL;
g_assert (pp->priv->state == STATE_SUB_COMMAND_OUTPUT_START ||
pp->priv->state == STATE_SUB_COMMAND_OUTPUT_IN);
if (G_UNLIKELY (regex_for_rule == NULL))
{
GError *error = NULL;
regex_for_rule = g_regex_new ("^For rule '.*', running",
G_REGEX_OPTIMIZE,
0,
......@@ -381,12 +377,27 @@ fetch_sub_command_output (LatexilaPostProcessorLatexmk *pp,
{
g_warning ("PostProcessorLatexmk: %s", error->message);
g_error_free (error);
return;
return FALSE;
}
}
return (g_str_has_prefix (line, "Latexmk: applying rule") ||
g_regex_match (regex_for_rule, line, 0, NULL));
}
static void
fetch_sub_command_output (LatexilaPostProcessorLatexmk *pp,
gchar *line)
{
static GRegex *regex_rule = NULL;
g_assert (pp->priv->state == STATE_SUB_COMMAND_OUTPUT_START ||
pp->priv->state == STATE_SUB_COMMAND_OUTPUT_IN);
if (G_UNLIKELY (regex_rule == NULL))
{
GError *error = NULL;
regex_rule = g_regex_new ("^Rule '.*':",
G_REGEX_OPTIMIZE,
0,
......@@ -402,15 +413,15 @@ fetch_sub_command_output (LatexilaPostProcessorLatexmk *pp,
if (pp->priv->state == STATE_SUB_COMMAND_OUTPUT_START)
{
if (g_str_has_prefix (line, "Latexmk: applying rule") ||
g_regex_match (regex_for_rule, line, 0, NULL))
if (sub_command_output_matches_start_latexmk_message (line))
goto end;
pp->priv->state = STATE_SUB_COMMAND_OUTPUT_IN;
}
if (g_str_has_prefix (line, "Latexmk:") ||
g_regex_match (regex_rule, line, 0, NULL))
if (!sub_command_output_matches_start_latexmk_message (line) &&
(g_str_has_prefix (line, "Latexmk:") ||
g_regex_match (regex_rule, line, 0, NULL)))
{
LatexilaBuildMsg *msg;
......
......@@ -186,6 +186,7 @@ public class SearchAndReplace : GLib.Object
Grid replace_all_grid = new Grid ();
replace_all_grid.set_orientation (Orientation.HORIZONTAL);
replace_all_grid.set_column_spacing (8);
replace_all_grid.set_valign (Align.CENTER);
Image image = new Image.from_icon_name ("edit-find-replace", IconSize.MENU);
replace_all_grid.add (image);
......