Skip to content
Commits on Source (24)
......@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.1)
cmake_policy(VERSION 3.1)
project(evolution
VERSION 3.46.2
VERSION 3.46.3
LANGUAGES C)
set(PROJECT_BUGREPORT "https://gitlab.gnome.org/GNOME/evolution/issues/")
set(PROJECT_URL "http://wiki.gnome.org/Apps/Evolution/")
......
Evolution 3.46.3 2023-01-06
---------------------------
Bug Fixes:
I#1684 - e_task_table_get_selected: Skip non-existent comp_data
I#2109 - Calendar: Unset "Show Event Preview" shortcut
I#2176 - Duplicate attachments when forwarding
I#2180 - MarkdownEditor: Correct signature boundary start on text insert
I#2193 - RSS: Crash when reading feed with empty author
I#2204 - itip-formatter: iframe height miscalculated without frame flattening
I#2205 - Composer: Spell checking is auto-enabled on mode change
Miscellaneous:
Fix few memory leaks
EMailReader: Correct sensitivity of toolbar buttons
Add Interlingue translation into the list of supported locales
Translations:
Andika Triwidada (id)
Bruce Cowan (en_GB)
Daniel Mustieles (es)
Jiri Grönroos (fi)
Jordi Mas (ca)
Jürgen Benvenuti (de)
Luming Zh (zh_CN)
Nart Tlisha (ab)
Olga Smirnova (ie)
Evolution 3.46.2 2022-12-02
---------------------------
 
......
......@@ -789,12 +789,12 @@ Evo.mailDisplayUpdateIFramesHeightRecursive = function(doc)
Evo.mailDisplayUpdateIFramesHeightRecursive(iframes[ii].contentDocument);
}
if (!doc.body || !doc.defaultView || !doc.defaultView.frameElement)
if (!doc.scrollingElement || !doc.defaultView || !doc.defaultView.frameElement)
return;
if (doc.defaultView.frameElement.height == doc.body.scrollHeight)
if (doc.defaultView.frameElement.height == doc.scrollingElement.scrollHeight)
doc.defaultView.frameElement.height = 10;
doc.defaultView.frameElement.height = doc.body.scrollHeight + 2 + (doc.body.scrollWidth > doc.body.clientWidth ? 20 : 0);
doc.defaultView.frameElement.height = doc.scrollingElement.scrollHeight + 2 + (doc.scrollingElement.scrollWidth > doc.scrollingElement.clientWidth ? 20 : 0);
}
Evo.MailDisplayUpdateIFramesHeight = function()
......@@ -1421,8 +1421,10 @@ EvoItip.SetElementInnerHTML = function(iframe_id, element_id, html_content)
{
var elem = Evo.FindElement(iframe_id, element_id);
if (elem)
if (elem) {
elem.innerHTML = html_content;
window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
}
}
EvoItip.SetShowCheckbox = function(iframe_id, element_id, show, update_second)
......@@ -1448,6 +1450,8 @@ EvoItip.SetShowCheckbox = function(iframe_id, element_id, show, update_second)
if (elem) {
elem.hidden = !show;
}
window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
}
}
......@@ -1461,6 +1465,8 @@ EvoItip.SetAreaText = function(iframe_id, element_id, text)
if (row.lastElementChild) {
row.lastElementChild.innerHTML = text;
}
window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
}
}
......@@ -1478,6 +1484,8 @@ EvoItip.UpdateTimes = function(iframe_id, element_id, header, label)
if (elem.lastElementChild) {
elem.lastElementChild.innerHTML = label;
}
window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
}
}
......@@ -1505,6 +1513,8 @@ EvoItip.AppendInfoRow = function(iframe_id, table_id, row_id, icon_name, message
cell = row.insertCell(-1);
cell.innerHTML = message;
window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
}
EvoItip.RemoveInfoRow = function(iframe_id, row_id)
......@@ -1513,6 +1523,7 @@ EvoItip.RemoveInfoRow = function(iframe_id, row_id)
if (row && row.parentNode) {
row.parentNode.removeChild(row);
window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
}
}
......@@ -1524,6 +1535,8 @@ EvoItip.RemoveChildNodes = function(iframe_id, element_id)
while (elem.lastChild) {
elem.removeChild(elem.lastChild);
}
window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
}
}
......@@ -1576,6 +1589,8 @@ EvoItip.HideButtons = function(iframe_id, element_id)
if (button)
button.hidden = true;
}
window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
}
}
......
......@@ -33,9 +33,9 @@ msgid ""
msgstr ""
"Project-Id-Version: manual_evolution\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-09-23 13:40+0000\n"
"PO-Revision-Date: 2022-09-25 01:07+0200\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"POT-Creation-Date: 2022-11-25 08:52+0000\n"
"PO-Revision-Date: 2022-12-09 21:48+0100\n"
"Last-Translator: Jürgen Benvenuti <gastornis@posteo.org>\n"
"Language-Team: German <gnome-de@gnome.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
......@@ -14728,20 +14728,20 @@ msgstr "Hilfe erhalten"
#. (itstool) path: page/p
#: C/problems-getting-help.page:24
msgid ""
"To receive help on problems you can send an email to the <link href=\"http://"
"mail.gnome.org/mailman/listinfo/evolution-list\"><app>Evolution</app> "
"mailing list</link> or talk to developers and other users in the IRC chat "
"To receive help on problems you can open a thread on <link href=\"https://"
"discourse.gnome.org/tag/evolution\"><app>GNOME Discourse</app> with the "
"evolution tag</link> or talk to developers and other users in the IRC chat "
"channel #evolution on the server irc.gimp.net. To connect to an IRC server "
"you can for example <link xref=\"help:polari/\" href=\"https://help.gnome."
"org/users/polari/stable/\">use the application <app>Polari</app></link>."
msgstr ""
"Um Hilfe bei Problemen zu erhalten, können Sie eine E-Mail an die <link href="
"\"http://mail.gnome.org/mailman/listinfo/evolution-list\">Mailing-Liste von "
"<app>Evolution</app></link> senden oder kontaktieren Sie die Entwickler und "
"andere Benutzer im IRC-Chat im Kanal #evolution auf dem Server irc.gimp.net. "
"Verwenden Sie z.B. <link xref=\"help:polari/\" href=\"https://help.gnome.org/"
"users/polari/stable/\">die Anwendung <app>Polari</app></link>, um sich mit "
"einem IRC-Server zu verbinden."
"Um Hilfe bei Problemen zu erhalten, können Sie ein Thema auf <link href="
"\"https://discourse.gnome.org/tag/evolution\"><app>GNOME Discourse</app> "
"eröffnen mit dem evolution-Schlagwort</link> oder kontaktieren Sie die "
"Entwickler und andere Benutzer im IRC-Chat im Kanal #evolution auf dem "
"Server irc.gimp.net. Verwenden Sie z.B. <link xref=\"help:polari/\" href="
"\"https://help.gnome.org/users/polari/stable/\">die Anwendung <app>Polari</"
"app></link>, um sich mit einem IRC-Server zu verbinden."
 
#. (itstool) path: info/desc
#: C/problems-reporting-bugs.page:5
......
This diff is collapsed.
This diff is collapsed.
......@@ -15,12 +15,14 @@
# David Medina <rbndavid@gmail.com>, 2015, 2016.
# Gil Forcada <gilforcada@guifi.net>, 2006-2020.
#
# «Enclosure» en el context de «RSS enclosure» és «adjunció»
#
msgid ""
msgstr ""
"Project-Id-Version: evolution\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/evolution/issues\n"
"POT-Creation-Date: 2022-08-15 18:29+0000\n"
"PO-Revision-Date: 2022-09-04 13:08+0200\n"
"PO-Revision-Date: 2022-12-03 10:08+0200\n"
"Last-Translator: Jordi Mas i Hernàndez <jmas@softcatala.org>\n"
"Language-Team: Catalan <info@softcatala.org>\n"
"Language: ca\n"
......@@ -4319,7 +4321,7 @@ msgstr "No s'ha pogut obrir aquesta llibreta d'adreces."
 
#: ../src/addressbook/addressbook.error.xml.h:2
msgid "Failed to communicate with LDAP server."
msgstr "No sha pogut comunicar amb el servidor LDAP."
msgstr "No s'ha pogut comunicar amb el servidor LDAP."
 
#: ../src/addressbook/addressbook.error.xml.h:3
msgid "This address book server does not have any suggested search bases."
......@@ -6736,7 +6738,7 @@ msgstr ""
#. Translators: {0} is the name of the calendar/memo list/task list.
#: ../src/calendar/calendar.error.xml.h:91
msgid "Failed to add timezone to “{0}”"
msgstr "No sha pogut afegir la zona horària a «{0}»"
msgstr "No s'ha pogut afegir la zona horària a «{0}»"
 
#. The {0} is a calendar/memo list/task list name, which is useless here
#: ../src/calendar/calendar.error.xml.h:93
......@@ -6761,23 +6763,23 @@ msgstr "No s'ha pogut obrir la llista de tasques «{0}»"
#. Translators: {0} is the name of the calendar.
#: ../src/calendar/calendar.error.xml.h:101
msgid "Failed to create an event in the calendar “{0}”"
msgstr "No sha pogut crear un esdeveniment al calendari «{0}»"
msgstr "No s'ha pogut crear un esdeveniment al calendari «{0}»"
 
#. Translators: {0} is the name of the memo list.
#: ../src/calendar/calendar.error.xml.h:103
msgid "Failed to create a memo in the memo list “{0}”"
msgstr "No sha pogut crear una anotació a la llista d'anotacions «{0}»"
msgstr "No s'ha pogut crear una anotació a la llista d'anotacions «{0}»"
 
#. Translators: {0} is the name of the task list.
#: ../src/calendar/calendar.error.xml.h:105
msgid "Failed to create a task in the task list “{0}”"
msgstr "No sha pogut crear una tasca a la llista de tasques «{0}»"
msgstr "No s'ha pogut crear una tasca a la llista de tasques «{0}»"
 
#. Translators: {0} is the name of the calendar.
# c-format
#: ../src/calendar/calendar.error.xml.h:107
msgid "Failed to modify an event in the calendar “{0}”"
msgstr "No sha pogut modificar un esdeveniment al calendari «{0}»"
msgstr "No s'ha pogut modificar un esdeveniment al calendari «{0}»"
 
#. Translators: {0} is the name of the memo list.
#: ../src/calendar/calendar.error.xml.h:109
......@@ -12355,7 +12357,7 @@ msgstr "Commuta la visualització del camp «CC»"
 
#: ../src/composer/e-composer-actions.c:538
msgid "_From Override Field"
msgstr "_Del camp de sobreescriptura"
msgstr "_Sobreescriptura del camp «_De»"
 
#: ../src/composer/e-composer-actions.c:540
msgid ""
......@@ -19951,7 +19953,7 @@ msgstr "_Utilitza una icona personalitzada"
 
#: ../src/mail/em-folder-properties.c:312
msgid "Use te_xt color"
msgstr "_Useu el color del text"
msgstr "U_tilitza el color del text"
 
#: ../src/mail/em-folder-properties.c:518
msgid "Path:"
......@@ -22093,7 +22095,7 @@ msgstr "La carpeta «{0}» no conté cap missatge duplicat."
 
#: ../src/mail/mail.error.xml.h:170
msgid "Failed to connect account “{0}”."
msgstr "No sha pogut connectar el compte «{0}»."
msgstr "No s'ha pogut connectar el compte «{0}»."
 
#: ../src/mail/mail.error.xml.h:171
msgid "Failed to disconnect account “{0}”."
......@@ -24010,7 +24012,7 @@ msgstr ""
 
#: ../src/modules/calendar/e-calendar-preferences.ui.h:87
msgid "Enable de_sktop notifications"
msgstr "Habilita les notificacions d_escriptori"
msgstr "_Habilita les notificacions d'escriptori"
 
#: ../src/modules/calendar/e-calendar-preferences.ui.h:88
msgid "Enable _audio notifications"
......@@ -24067,7 +24069,7 @@ msgid ""
"Specify login user name as part of the URL in case the server requires "
"authentication, like: https://USER@example.com/"
msgstr ""
"Especifica el nom d'usuari com a part de l'URL en el cas que el servidor "
"Especifiqueu el nom d'usuari com a part de l'URL en el cas que el servidor "
"requereixi autenticació, semblant a: https://USUARI@exemple.com/"
 
#: ../src/modules/calendar/e-calendar-preferences.ui.h:107
......@@ -24270,7 +24272,7 @@ msgstr "Suprimeix les cites seleccionades"
 
#: ../src/modules/calendar/e-cal-shell-view-actions.c:1453
msgid "Delete This _Occurrence"
msgstr "Suprimeix aquesta a_parició"
msgstr "S_uprimeix aquesta coincidència"
 
#: ../src/modules/calendar/e-cal-shell-view-actions.c:1455
msgid "Delete this occurrence"
......@@ -26948,11 +26950,11 @@ msgstr "_Baixa articles complets"
#: ../src/modules/rss/camel/camel-rss-folder.c:689
#: ../src/modules/rss/evolution/e-rss-preferences.c:835
msgid "Download feed _enclosures"
msgstr "Baixa _tancaments de canal de continguts"
msgstr "Baixa _adjuncions de canal de continguts"
 
#: ../src/modules/rss/camel/camel-rss-folder-summary.c:269
msgid "Enclosures:"
msgstr "Tancaments:"
msgstr "Adjuncions:"
 
#: ../src/modules/rss/camel/camel-rss-provider.c:17
#: ../src/modules/rss/camel/camel-rss-store.c:48
......@@ -26985,7 +26987,7 @@ msgstr "Autor desconegut"
#: ../src/modules/rss/evolution/e-rss-preferences.c:53
#: ../src/modules/rss/evolution/e-rss-preferences.c:827
msgid "Markdown"
msgstr "_Markdown"
msgstr "Markdown"
 
#: ../src/modules/rss/evolution/e-rss-preferences.c:414
#, c-format
......@@ -27031,13 +27033,13 @@ msgstr "C_ontingut:"
 
#: ../src/modules/rss/evolution/e-rss-preferences.c:1224
msgid "_Download feed enclosures"
msgstr "_Baixa tancaments de canal de continguts"
msgstr "_Baixa adjuncions de canal de continguts"
 
#. Translators: This is part of "Do not download enclosures larger than [ nnn
#. ] KB"
#: ../src/modules/rss/evolution/e-rss-preferences.c:1243
msgid "Do not download enclosures larger than"
msgstr "No baixis tancaments més grans que"
msgstr "No baixis adjuncions més grans que"
 
#. Translators: This is part of "Do not download enclosures larger than [ nnn
#. ] KB"
......@@ -29150,7 +29152,7 @@ msgstr "Ha fallat la invocació d'autenticació per a «{0}»"
 
#: ../src/shell/shell.error.xml.h:17
msgid "Failed to connect “{0}”"
msgstr "No sha pogut connectar el «{0}»"
msgstr "No s'ha pogut connectar el «{0}»"
 
#: ../src/shell/shell.error.xml.h:18
msgid "_Reconnect"
......@@ -29166,7 +29168,7 @@ msgstr "No s'ha pogut connectar el calendari «{0}»"
 
#: ../src/shell/shell.error.xml.h:21
msgid "Failed to connect mail account “{0}”"
msgstr "No sha pogut connectar el compte de correu «{0}»"
msgstr "No s'ha pogut connectar el compte de correu «{0}»"
 
#: ../src/shell/shell.error.xml.h:22
msgid "Failed to connect memo list “{0}”"
......@@ -29388,7 +29390,7 @@ msgstr "No s'ha proporcionat cap nom de fitxer"
 
#: ../src/smime/gui/certificate-manager.c:847
msgid "Failed to backup key and certificate"
msgstr "No sha pogut fer la còpia de seguretat de la clau i del certificat"
msgstr "No s'ha pogut fer la còpia de seguretat de la clau i del certificat"
 
#: ../src/smime/gui/certificate-manager.c:939
msgid "Select a certificate to import…"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -1312,10 +1312,9 @@ struct get_selected_uids_closure {
GSList *objects;
};
/* Used from e_table_selected_row_foreach(), builds a list of the selected UIDs */
static void
add_uid_cb (gint model_row,
gpointer data)
add_comp_data_cb (gint model_row,
gpointer data)
{
struct get_selected_uids_closure *closure = data;
ECalModelComponent *comp_data;
......@@ -1324,7 +1323,8 @@ add_uid_cb (gint model_row,
model = e_task_table_get_model (closure->task_table);
comp_data = e_cal_model_get_component_at (model, model_row);
closure->objects = g_slist_prepend (closure->objects, comp_data);
if (comp_data)
closure->objects = g_slist_prepend (closure->objects, comp_data);
}
/**
......@@ -1344,8 +1344,7 @@ e_task_table_get_selected (ETaskTable *task_table)
closure.task_table = task_table;
closure.objects = NULL;
e_table_selected_row_foreach (
E_TABLE (task_table), add_uid_cb, &closure);
e_table_selected_row_foreach (E_TABLE (task_table), add_comp_data_cb, &closure);
return closure.objects;
}
......
......@@ -3343,6 +3343,7 @@ e_msg_composer_add_attachments_from_part_list (EMsgComposer *composer,
GHashTable *added_mime_parts;
GQueue queue = G_QUEUE_INIT;
GList *link;
guint in_message_attachment = 0;
g_return_if_fail (E_IS_MSG_COMPOSER (composer));
......@@ -3360,6 +3361,21 @@ e_msg_composer_add_attachments_from_part_list (EMsgComposer *composer,
CamelMimePart *mime_part;
CamelContentType *content_type;
if (e_mail_part_id_has_suffix (part, ".rfc822")) {
in_message_attachment++;
continue;
}
if (e_mail_part_id_has_suffix (part, ".rfc822.end")) {
if (in_message_attachment)
in_message_attachment--;
continue;
}
/* Do not attach attachments from attached messages */
if (in_message_attachment)
continue;
if (!e_mail_part_get_is_attachment (part))
continue;
......
......@@ -596,7 +596,8 @@ html_editor_update_actions (EHTMLEditor *editor,
}
static void
html_editor_spell_languages_changed (EHTMLEditor *editor)
html_editor_update_spell_languages (EHTMLEditor *editor,
gboolean autoenable_spelling)
{
EContentEditor *cnt_editor;
ESpellChecker *spell_checker;
......@@ -607,7 +608,8 @@ html_editor_spell_languages_changed (EHTMLEditor *editor)
languages = e_spell_checker_list_active_languages (spell_checker, NULL);
e_content_editor_set_spell_check_enabled (cnt_editor, languages && *languages);
if (autoenable_spelling)
e_content_editor_set_spell_check_enabled (cnt_editor, languages && *languages);
/* Set the languages for webview to highlight misspelled words */
e_content_editor_set_spell_checking_languages (cnt_editor, (const gchar **) languages);
......@@ -622,6 +624,12 @@ html_editor_spell_languages_changed (EHTMLEditor *editor)
g_strfreev (languages);
}
static void
html_editor_spell_languages_changed (EHTMLEditor *editor)
{
html_editor_update_spell_languages (editor, TRUE);
}
typedef struct _ContextMenuData {
GWeakRef *editor_weakref; /* EHTMLEditor * */
EContentEditorNodeFlags flags;
......@@ -751,7 +759,7 @@ html_editor_parent_changed (GtkWidget *widget,
static void
html_editor_realize (GtkWidget *widget)
{
html_editor_spell_languages_changed (E_HTML_EDITOR (widget));
html_editor_update_spell_languages (E_HTML_EDITOR (widget), FALSE);
}
static void
......@@ -1876,6 +1884,13 @@ e_html_editor_set_mode (EHTMLEditor *editor,
iface && iface->spell_check_next_word && iface->spell_check_prev_word);
e_content_editor_clear_undo_redo_history (cnt_editor);
if (editor->priv->use_content_editor) {
/* Inherit whether the inline spelling is enabled, because when there are
any selected languages, then it auto-enables inline spelling. */
e_content_editor_set_spell_check_enabled (cnt_editor,
e_content_editor_get_spell_check_enabled (editor->priv->use_content_editor));
}
}
editor->priv->mode = mode;
......
......@@ -43,6 +43,8 @@ struct _EMarkdownEditorPrivate {
EThreeState start_bottom;
EThreeState top_signature;
gchar *signature_uid;
gboolean fix_selection_start_mark;
gboolean can_move_signature_start_mark;
gboolean selection_saved;
GtkTextIter selection_start; /* valid only if selection_saved is TRUE */
GtkTextIter selection_end; /* valid only if selection_saved is TRUE */
......@@ -872,6 +874,8 @@ e_markdown_editor_insert_signature (EContentEditor *cnt_editor,
content = plain_text;
}
self->priv->can_move_signature_start_mark = FALSE;
buffer = gtk_text_view_get_buffer (self->priv->text_view);
gtk_text_buffer_get_bounds (buffer, &start, &end);
gtk_text_buffer_get_iter_at_mark (buffer, &selection_start, gtk_text_buffer_get_insert (buffer));
......@@ -993,6 +997,8 @@ e_markdown_editor_insert_signature (EContentEditor *cnt_editor,
g_free (plain_text);
self->priv->can_move_signature_start_mark = TRUE;
return g_strdup (self->priv->signature_uid);
}
......@@ -1591,6 +1597,75 @@ e_markdown_editor_has_selection_cb (GtkTextBuffer *buffer,
g_object_thaw_notify (object);
}
static void
e_markdown_editor_insert_text_cb (GtkTextBuffer *textbuffer,
GtkTextIter *location,
const gchar *text,
gint len,
gpointer user_data)
{
EMarkdownEditor *self = user_data;
GSList *marks, *link;
if (!self->priv->can_move_signature_start_mark) {
self->priv->fix_selection_start_mark = FALSE;
return;
}
marks = gtk_text_iter_get_marks (location);
for (link = marks; link; link = g_slist_next (link)) {
GtkTextMark *mark = link->data;
if (g_strcmp0 (gtk_text_mark_get_name (mark), EVO_SIGNATURE_START_MARK) == 0)
break;
}
self->priv->fix_selection_start_mark = link != NULL;
g_slist_free (marks);
}
static void
e_markdown_editor_insert_text_after_cb (GtkTextBuffer *textbuffer,
GtkTextIter *location,
const gchar *text,
gint len,
gpointer user_data)
{
EMarkdownEditor *self = user_data;
GSList *marks, *link;
if (!self->priv->fix_selection_start_mark ||
!self->priv->can_move_signature_start_mark)
return;
self->priv->fix_selection_start_mark = FALSE;
marks = gtk_text_iter_get_marks (location);
for (link = marks; link; link = g_slist_next (link)) {
GtkTextMark *mark = link->data;
if (g_strcmp0 (gtk_text_mark_get_name (mark), EVO_SIGNATURE_START_MARK) == 0)
break;
}
/* The mark was not moved, then move it after the inserted text */
if (!link) {
GtkTextMark *sig_start_mark;
sig_start_mark = gtk_text_buffer_get_mark (textbuffer, EVO_SIGNATURE_START_MARK);
if (sig_start_mark)
gtk_text_buffer_delete_mark_by_name (textbuffer, EVO_SIGNATURE_START_MARK);
gtk_text_buffer_create_mark (textbuffer, EVO_SIGNATURE_START_MARK, location, TRUE);
}
g_slist_free (marks);
}
static void
e_markdown_editor_realize_cb (GtkWidget *widget,
gpointer user_data)
......@@ -1611,6 +1686,12 @@ e_markdown_editor_realize_cb (GtkWidget *widget,
e_signal_connect_notify_object (buffer, "notify::has-selection",
G_CALLBACK (e_markdown_editor_has_selection_cb), self, 0);
e_markdown_editor_has_selection_cb (buffer, NULL, self);
g_signal_connect_object (buffer, "insert-text",
G_CALLBACK (e_markdown_editor_insert_text_cb), self, 0);
g_signal_connect_object (buffer, "insert-text",
G_CALLBACK (e_markdown_editor_insert_text_after_cb), self, G_CONNECT_AFTER);
}
static void
......@@ -2265,6 +2346,7 @@ e_markdown_editor_init (EMarkdownEditor *self)
{
self->priv = e_markdown_editor_get_instance_private (self);
self->priv->can_move_signature_start_mark = TRUE;
self->priv->spell_checker = e_spell_checker_new ();
self->priv->mode = E_CONTENT_EDITOR_MODE_MARKDOWN_PLAIN_TEXT;
self->priv->start_bottom = E_THREE_STATE_INCONSISTENT;
......
......@@ -418,6 +418,8 @@ e_preferences_window_show_page (EPreferencesWindow *window,
break;
}
}
g_list_free (children);
}
/*
......@@ -460,5 +462,6 @@ e_preferences_window_setup (EPreferencesWindow *window)
e_util_resize_window_for_screen (GTK_WINDOW (window), -1, -1, slist_children);
g_slist_free (slist_children);
g_list_free (children);
priv->setup = TRUE;
}
......@@ -69,6 +69,7 @@ static ESupportedLocales e_supported_locales[] = {
{ "hr", "hr_HR" },
{ "hu", "hu_HU" },
{ "id", "id_ID" },
{ "ie", "ie_XX" },
{ "is", "is_IS" },
{ "it", "it_IT" },
{ "ja", "ja_JP" },
......
......@@ -5228,6 +5228,11 @@ e_mail_reader_init (EMailReader *reader,
gtk_action_set_icon_name (GTK_ACTION (menu_tool_action), "mail-forward");
gtk_action_set_visible (GTK_ACTION (menu_tool_action), !e_util_get_use_header_bar ());
e_binding_bind_property (
e_mail_reader_get_action (reader, "mail-forward"), "sensitive",
menu_tool_action, "sensitive",
G_BINDING_SYNC_CREATE);
g_signal_connect (
menu_tool_action, "activate",
G_CALLBACK (action_mail_forward_cb), reader);
......@@ -5248,6 +5253,11 @@ e_mail_reader_init (EMailReader *reader,
gtk_action_set_icon_name (GTK_ACTION (menu_tool_action), "mail-reply-all");
gtk_action_set_visible (GTK_ACTION (menu_tool_action), !e_util_get_use_header_bar ());
e_binding_bind_property (
e_mail_reader_get_action (reader, "mail-reply-group"), "sensitive",
menu_tool_action, "sensitive",
G_BINDING_SYNC_CREATE);
g_signal_connect (
menu_tool_action, "activate",
G_CALLBACK (action_mail_reply_group_cb), reader);
......
......@@ -1742,7 +1742,7 @@ static GtkToggleActionEntry calendar_toggle_entries[] = {
{ "calendar-preview",
NULL,
N_("Show Event _Preview"),
"<Control>m",
NULL,
N_("Show event preview pane"),
NULL, /* Handled by property bindings */
TRUE },
......