ENC_ACTION(C_WINDOWS_1255)},
{N_("/_Options/Character _encoding/---"), NULL, NULL, 0, "<Separator>"},
+ {N_("/_Options/Character _encoding/Arabic (ISO-8859-_6)"),
+ ENC_ACTION(C_ISO_8859_6)},
+ {N_("/_Options/Character _encoding/Arabic (Windows-1256)"),
+ ENC_ACTION(C_CP1256)},
+ {N_("/_Options/Character _encoding/---"), NULL, NULL, 0, "<Separator>"},
+
{N_("/_Options/Character _encoding/Turkish (ISO-8859-_9)"),
ENC_ACTION(C_ISO_8859_9)},
{N_("/_Options/Character _encoding/---"), NULL, NULL, 0, "<Separator>"},
void compose_entry_mark_default_to(Compose *compose, const gchar *mailto)
{
- static GtkStyle *bold_style = NULL;
- static GdkColor bold_color;
+ static GdkColor yellow;
+ static GdkColor black;
+ static gboolean yellow_initialised = FALSE;
GSList *h_list;
GtkEntry *entry;
+ if (!yellow_initialised) {
+ gdk_color_parse("#f5f6be", &yellow);
+ gdk_color_parse("#000000", &black);
+ yellow_initialised = gdk_colormap_alloc_color(
+ gdk_colormap_get_system(), &yellow, FALSE, TRUE);
+ yellow_initialised &= gdk_colormap_alloc_color(
+ gdk_colormap_get_system(), &black, FALSE, TRUE);
+ }
+
for (h_list = compose->header_list; h_list != NULL; h_list = h_list->next) {
entry = GTK_ENTRY(((ComposeHeaderEntry *)h_list->data)->entry);
if (gtk_entry_get_text(entry) &&
!g_utf8_collate(gtk_entry_get_text(entry), mailto)) {
- gtk_widget_ensure_style(GTK_WIDGET(entry));
- if (!bold_style) {
- gtkut_convert_int_to_gdk_color
- (prefs_common.color_new, &bold_color);
- bold_style = gtk_style_copy(gtk_widget_get_style
- (GTK_WIDGET(entry)));
- pango_font_description_set_weight
- (bold_style->font_desc, PANGO_WEIGHT_BOLD);
- bold_style->fg[GTK_STATE_NORMAL] = bold_color;
+ if (yellow_initialised) {
+ gtk_widget_modify_base(
+ GTK_WIDGET(((ComposeHeaderEntry *)h_list->data)->entry),
+ GTK_STATE_NORMAL, &yellow);
+ gtk_widget_modify_text(
+ GTK_WIDGET(((ComposeHeaderEntry *)h_list->data)->entry),
+ GTK_STATE_NORMAL, &black);
}
- gtk_widget_set_style(GTK_WIDGET(entry), bold_style);
}
}
}
prev = cur = iter_;
gtk_text_iter_backward_char(&cur);
if (gtk_text_iter_has_tag(&cur, compose->no_join_tag)) {
+ gtk_text_iter_forward_char(&cur);
+ *iter = cur;
return FALSE;
}
gtk_text_iter_forward_char(&cur);
test_conv_global_out = conv_codeset_strdup(chars, src_codeset, out_codeset);
}
- if (!test_conv_global_out && compose->orig_charset) {
+ if (!test_conv_global_out && compose->orig_charset
+ && strcmp(compose->orig_charset, CS_US_ASCII)) {
out_codeset = compose->orig_charset;
debug_print("failure; trying to convert to %s\n", out_codeset);
test_conv_reply = conv_codeset_strdup(chars, src_codeset, out_codeset);
if (!test_conv_global_out && !test_conv_reply) {
/* we're lost */
out_codeset = CS_INTERNAL;
- debug_print("finally using %s\n", out_codeset);
+ debug_print("failure; finally using %s\n", out_codeset);
}
g_free(test_conv_global_out);
g_free(test_conv_reply);
#if USE_ASPELL
if (event->button == 3) {
GtkTextIter iter;
+ GtkTextIter sel_start, sel_end;
+ gboolean stuff_selected;
gint x, y;
/* move the cursor to allow GtkAspell to check the word
* under the mouse */
&x, &y);
gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW(text),
&iter, x, y);
+ /* get selection */
+ stuff_selected = gtk_text_buffer_get_selection_bounds(
+ GTK_TEXT_VIEW(text)->buffer,
+ &sel_start, &sel_end);
+
gtk_text_buffer_place_cursor (GTK_TEXT_VIEW(text)->buffer, &iter);
+ /* reselect stuff */
+ if (stuff_selected
+ && gtk_text_iter_in_range(&iter, &sel_start, &sel_end)) {
+ gtk_text_buffer_select_range(GTK_TEXT_VIEW(text)->buffer,
+ &sel_start, &sel_end);
+ }
return FALSE; /* pass the event so that the right-click goes through */
}
#endif
target_locked = MSG_IS_LOCKED(compose->targetinfo->flags);
flag.perm_flags = target_locked?MSG_LOCKED:0;
}
+ flag.tmp_flags = MSG_DRAFT;
folder_item_scan(draft);
if ((msgnum = folder_item_add_msg(draft, tmp, &flag, TRUE)) < 0) {