gpointer data);
static void compose_toggle_autowrap_cb (GtkToggleAction *action,
gpointer data);
+static void compose_toggle_autoindent_cb(GtkToggleAction *action,
+ gpointer data);
static void compose_toggle_ruler_cb (GtkToggleAction *action,
gpointer data);
static GtkToggleActionEntry compose_toggle_entries[] =
{
{"Edit/AutoWrap", NULL, N_("Aut_o wrapping"), "<shift><control>L", NULL, G_CALLBACK(compose_toggle_autowrap_cb) }, /* TOGGLE */
+ {"Edit/AutoIndent", NULL, N_("Follow _indentation"), NULL, NULL, G_CALLBACK(compose_toggle_autoindent_cb) }, /* TOGGLE */
{"Options/Sign", NULL, N_("Si_gn"), NULL, NULL, G_CALLBACK(compose_toggle_sign_cb) }, /* Toggle */
{"Options/Encrypt", NULL, N_("_Encrypt"), NULL, NULL, G_CALLBACK(compose_toggle_encrypt_cb) }, /* Toggle */
{"Options/RequestRetRcpt", NULL, N_("_Request Return Receipt"), NULL, NULL, G_CALLBACK(compose_toggle_return_receipt_cb) }, /* TOGGLE */
int priority = PRIORITY_NORMAL;
MsgInfo *replyinfo = NULL, *fwdinfo = NULL;
gboolean autowrap = prefs_common.autowrap;
+ gboolean autoindent = prefs_common.auto_indent;
g_return_val_if_fail(msginfo != NULL, NULL);
g_return_val_if_fail(msginfo->folder != NULL, NULL);
param = atoi(&queueheader_buf[strlen("X-Claws-Auto-Wrapping:")]);
autowrap = param;
}
+ if (!procheader_get_header_from_msginfo(msginfo, queueheader_buf,
+ sizeof(queueheader_buf), "X-Claws-Auto-Indent:")) {
+ param = atoi(&queueheader_buf[strlen("X-Claws-Auto-Indent:")]);
+ autoindent = param;
+ }
if (!procheader_get_header_from_msginfo(msginfo, queueheader_buf,
sizeof(queueheader_buf), "X-Claws-Privacy-System:")) {
privacy_system = g_strdup(&queueheader_buf[strlen("X-Claws-Privacy-System:")]);
compose = compose_create(account, msginfo->folder, COMPOSE_REEDIT, batch);
cm_toggle_menu_set_active_full(compose->ui_manager, "Menu/Edit/AutoWrap", autowrap);
+ cm_toggle_menu_set_active_full(compose->ui_manager, "Menu/Edit/AutoIndent", autoindent);
compose->autowrap = autowrap;
compose->replyinfo = replyinfo;
compose->fwdinfo = fwdinfo;
modified = TRUE;
gtk_text_buffer_insert(buffer, &break_pos, "\n", 1);
compose->automatic_break = FALSE;
- if (itemized_len && prefs_common.auto_indent) {
+ if (itemized_len && compose->autoindent) {
gtk_text_buffer_insert(buffer, &break_pos, itemized_chars, -1);
if (!item_continuation)
gtk_text_buffer_insert(buffer, &break_pos, " ", 2);
modified = TRUE;
gtk_text_buffer_insert(buffer, &break_pos, "\n", 1);
compose->automatic_break = FALSE;
- if (itemized_len && prefs_common.auto_indent) {
+ if (itemized_len && compose->autoindent) {
gtk_text_buffer_insert(buffer, &break_pos, itemized_chars, -1);
if (!item_continuation)
gtk_text_buffer_insert(buffer, &break_pos, " ", 2);
/* remove trailing spaces */
cur = break_pos;
rem_item_len = itemized_len;
- while (prefs_common.auto_indent && rem_item_len-- > 0)
+ while (compose->autoindent && rem_item_len-- > 0)
gtk_text_iter_backward_char(&cur);
gtk_text_iter_backward_char(&cur);
"X-Claws-End-Special-Headers:", "X-Claws-Account-Id:",
"X-Sylpheed-Privacy", "X-Sylpheed-Sign:", "X-Sylpheed-Encrypt",
"X-Sylpheed-End-Special-Headers:", "X-Sylpheed-Account-Id:",
- "X-Claws-Auto-Wrapping:",
+ "X-Claws-Auto-Wrapping:", "X-Claws-Auto-Indent:",
NULL
};
if ((fp = g_fopen(compose->redirect_filename, "rb")) == NULL) {
}
err |= (fprintf(fp, "X-Claws-Auto-Wrapping:%d\n", compose->autowrap) < 0);
+ err |= (fprintf(fp, "X-Claws-Auto-Indent:%d\n", compose->autoindent) < 0);
/* end of headers */
err |= (fprintf(fp, "X-Claws-End-Special-Headers: 1\n") < 0);
MENUITEM_ADDUI_MANAGER(compose->ui_manager, "/Menu/Edit", "WrapPara", "Edit/WrapPara", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(compose->ui_manager, "/Menu/Edit", "WrapAllLines", "Edit/WrapAllLines", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(compose->ui_manager, "/Menu/Edit", "AutoWrap", "Edit/AutoWrap", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(compose->ui_manager, "/Menu/Edit", "AutoIndent", "Edit/AutoIndent", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(compose->ui_manager, "/Menu/Edit", "Separator3", "Edit/---", GTK_UI_MANAGER_SEPARATOR)
compose->boundary = NULL;
compose->autowrap = prefs_common.autowrap;
-
+ compose->autoindent = prefs_common.auto_indent;
compose->use_signing = FALSE;
compose->use_encryption = FALSE;
compose->privacy_system = NULL;
compose_select_account(compose, account, TRUE);
cm_toggle_menu_set_active_full(compose->ui_manager, "Menu/Edit/AutoWrap", prefs_common.autowrap);
+ cm_toggle_menu_set_active_full(compose->ui_manager, "Menu/Edit/AutoIndent", prefs_common.auto_indent);
if (account->set_autocc && account->auto_cc && mode != COMPOSE_REEDIT)
compose_entry_append(compose, account->auto_cc, COMPOSE_CC);
}
err |= (fprintf(fp, "X-Claws-Auto-Wrapping:%d\n", compose->autowrap) < 0);
+ err |= (fprintf(fp, "X-Claws-Auto-Indent:%d\n", compose->autoindent) < 0);
/* end of headers */
err |= (fprintf(fp, "X-Claws-End-Special-Headers: 1\n") < 0);
compose->autowrap = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
}
+static void compose_toggle_autoindent_cb(GtkToggleAction *action,
+ gpointer data)
+{
+ Compose *compose = (Compose *)data;
+ compose->autoindent = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
+}
+
static void compose_toggle_sign_cb(GtkToggleAction *action, gpointer data)
{
Compose *compose = (Compose *)data;
g_object_set_data(G_OBJECT(item), "mainwin", mainwin);
gtk_widget_show(item);
- gtk_widget_add_accelerator(item, "activate",
- gtk_ui_manager_get_accel_group(mainwin->ui_manager),
- GDK_0, GDK_CONTROL_MASK,
- GTK_ACCEL_LOCKED | GTK_ACCEL_VISIBLE);
+ accel_path = g_strdup_printf("<ClawsColorLabels>/None");
+ gtk_menu_item_set_accel_path(GTK_MENU_ITEM(item), accel_path);
+ g_free(accel_path);
+ gtk_accel_map_add_entry("<ClawsColorLabels>/None", GDK_0, GDK_CONTROL_MASK);
item = gtk_menu_item_new();
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
gtk_widget_show(item);
accel_path = g_strdup_printf("<ClawsColorLabels>/%d", i);
gtk_menu_item_set_accel_path(GTK_MENU_ITEM(item), accel_path);
- g_free(accel_path);
if (i < 9)
- gtk_widget_add_accelerator(item, "activate",
- gtk_ui_manager_get_accel_group(mainwin->ui_manager),
- GDK_1+i, GDK_CONTROL_MASK,
- GTK_ACCEL_LOCKED | GTK_ACCEL_VISIBLE);
+ gtk_accel_map_add_entry(accel_path, GDK_1+i, GDK_CONTROL_MASK);
+ g_free(accel_path);
}
gtk_widget_show(menu);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(label_menuitem), menu);