GList *listAddress );
/* callback functions */
-#if !GTK_CHECK_VERSION(2,24,0)
+
static gboolean compose_edit_size_alloc (GtkEditable *widget,
GtkAllocation *allocation,
- GtkSHRuler *shruler);
-static void compose_toggle_ruler_cb (GtkToggleAction *action,
- gpointer data);
-#endif
+ GtkSHRuler *shruler);
static void account_activated (GtkComboBox *optmenu,
gpointer data);
static void attach_selected (GtkTreeView *tree_view,
static void compose_toggle_autoindent_cb(GtkToggleAction *action,
gpointer data);
+static void compose_toggle_ruler_cb (GtkToggleAction *action,
+ gpointer data);
static void compose_toggle_sign_cb (GtkToggleAction *action,
gpointer data);
static void compose_toggle_encrypt_cb (GtkToggleAction *action,
{"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 */
{"Options/RemoveReferences", NULL, N_("Remo_ve references"), NULL, NULL, G_CALLBACK(compose_toggle_remove_refs_cb) }, /* TOGGLE */
-#if !GTK_CHECK_VERSION(2,24,0)
{"Tools/ShowRuler", NULL, N_("Show _ruler"), NULL, NULL, G_CALLBACK(compose_toggle_ruler_cb) }, /* Toggle */
-#endif
};
static GtkRadioActionEntry compose_radio_rm_entries[] =
gchar *mailto_from = NULL;
PrefsAccount *mailto_account = NULL;
MsgInfo* dummyinfo = NULL;
+ gint cursor_pos = -1;
MailField mfield = NO_FIELD_PRESENT;
gchar* buf;
GtkTextMark *mark;
* is therefore created before placing the cursor
*/
case BODY_FIELD_PRESENT:
- gtk_widget_grab_focus(compose->text);
+ cursor_pos = quote_fmt_get_cursor_pos();
+ if (cursor_pos == -1)
+ gtk_widget_grab_focus(compose->header_last->entry);
+ else
+ gtk_widget_grab_focus(compose->text);
break;
}
compose->modified = FALSE;
compose_set_title(compose);
- hooks_invoke(COMPOSE_CREATED_HOOKLIST, compose);
+ hooks_invoke(COMPOSE_CREATED_HOOKLIST, compose);
return compose;
}
Compose *compose;
GtkTextView *textview;
GtkTextBuffer *textbuf;
- GtkTextIter iter;
+ gint cursor_pos = -1;
ComposeMode mode;
cm_return_val_if_fail(msginfo != NULL, NULL);
SIGNAL_UNBLOCK(textbuf);
- gtk_text_buffer_get_start_iter(textbuf, &iter);
- gtk_text_buffer_place_cursor(textbuf, &iter);
-
- gtk_widget_grab_focus(compose->header_last->entry);
+ cursor_pos = quote_fmt_get_cursor_pos();
+ if (cursor_pos == -1)
+ gtk_widget_grab_focus(compose->header_last->entry);
+ else
+ gtk_widget_grab_focus(compose->text);
if (!no_extedit && prefs_common.auto_exteditor)
compose_exec_ext_editor(compose);
}
header_entry = (ComposeHeaderEntry *) compose->header_list->data;
- header = gtk_combo_box_text_get_active_text(
- GTK_COMBO_BOX_TEXT(header_entry->combo));
+ header = gtk_combo_box_get_active_text(GTK_COMBO_BOX(header_entry->combo));
if (header && !strlen(gtk_entry_get_text(GTK_ENTRY(header_entry->entry)))) {
if (account->protocol == A_NNTP) {
GtkWidget *paned;
GtkWidget *edit_vbox;
-#if !GTK_CHECK_VERSION(2,24,0)
GtkWidget *ruler_hbox;
GtkWidget *ruler;
-#endif
GtkWidget *scrolledwin;
GtkWidget *text;
GtkTextBuffer *buffer;
gtk_box_pack_start(GTK_BOX(edit_vbox), subject_hbox, FALSE, FALSE, 0);
-#if !GTK_CHECK_VERSION(2,24,0)
/* ruler */
ruler_hbox = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX(edit_vbox), ruler_hbox, FALSE, FALSE, 0);
gtk_ruler_set_range(GTK_RULER(ruler), 0.0, 100.0, 1.0, 100.0);
gtk_box_pack_start(GTK_BOX(ruler_hbox), ruler, TRUE, TRUE,
BORDER_WIDTH);
-#endif
+
/* text widget */
scrolledwin = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin),
gtk_container_add(GTK_CONTAINER(scrolledwin), text);
-#if !GTK_CHECK_VERSION(2,24,0)
g_signal_connect_after(G_OBJECT(text), "size_allocate",
G_CALLBACK(compose_edit_size_alloc),
ruler);
-#endif
g_signal_connect(G_OBJECT(buffer), "changed",
G_CALLBACK(compose_changed_cb), compose);
g_signal_connect(G_OBJECT(text), "grab_focus",
compose->notebook = notebook;
compose->edit_vbox = edit_vbox;
-#if !GTK_CHECK_VERSION(2,24,0)
compose->ruler_hbox = ruler_hbox;
compose->ruler = ruler;
-#endif
compose->scrolledwin = scrolledwin;
compose->text = text;
compose_list = g_list_append(compose_list, compose);
-#if !GTK_CHECK_VERSION(2,24,0)
if (!prefs_common.show_ruler)
gtk_widget_hide(ruler_hbox);
-
+
cm_toggle_menu_set_active_full(compose->ui_manager, "Menu/Tools/ShowRuler", prefs_common.show_ruler);
-#endif
+
/* Priority */
compose->priority = PRIORITY_NORMAL;
compose_update_priority_menu_item(compose);
for (mime_type_list = strlist; mime_type_list != NULL;
mime_type_list = mime_type_list->next) {
- gtk_combo_box_text_append_text(
- GTK_COMBO_BOX_TEXT(mimetype_entry),
- mime_type_list->data);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(mimetype_entry), mime_type_list->data);
g_free(mime_type_list->data);
}
g_list_free(strlist);
* includes "non-client" (windows-izm) in calculation, so this calculation
* may not be accurate.
*/
-#if !GTK_CHECK_VERSION(2,24,0)
static gboolean compose_edit_size_alloc(GtkEditable *widget,
GtkAllocation *allocation,
GtkSHRuler *shruler)
return TRUE;
}
-#endif
+
typedef struct {
gchar *header;
gchar *entry;
compose_update_privacy_system_menu_item(compose, warn);
}
-#if !GTK_CHECK_VERSION(2,24,0)
static void compose_toggle_ruler_cb(GtkToggleAction *action, gpointer data)
{
Compose *compose = (Compose *)data;
prefs_common.show_ruler = FALSE;
}
}
-#endif
+
static void compose_attach_drag_received_cb (GtkWidget *widget,
GdkDragContext *context,
gint x,