static void modest_ui_window_destroy (GtkWidget *win, GdkEvent *event, gpointer data);
static void modest_ui_last_window_closed (GObject *obj, gpointer data);
-static GtkWidget* modest_main_window_toolbar (void);
static GtkWidget* modest_main_window_folder_tree (ModestAccountMgr *modest_acc_mgr,
TnyAccountStoreIface *account_store);
static GtkWidget* modest_main_window_header_tree (TnyMsgFolderIface *folder);
-
-static void on_account_settings1_activate (GtkMenuItem *,
- gpointer);
+//static void on_account_settings1_activate (GtkMenuItem *,
+// gpointer);
static void on_password_requested (ModestTnyAccountStore *account_store,
const gchar *account_name, gpointer user_data);
}
}
-
+#if 0
static void
hide_edit_window (GtkWidget *win, GdkEvent *event, gpointer data)
{
gtk_widget_hide (win);
modest_window_mgr_unregister(priv->modest_window_mgr, G_OBJECT(win));
}
-
+#endif
static void
close_edit_window (GtkWidget *win, GdkEvent *event, gpointer data)
win_data = modest_editor_window_get_data(edit_win);
priv = MODEST_UI_GET_PRIVATE(win_data->modest_ui);
+ g_message("window was %s modified", modest_editor_window_get_modified(edit_win) ? "" : "not");
+
gtk_widget_hide (GTK_WIDGET(edit_win));
modest_window_mgr_unregister(priv->modest_window_mgr, G_OBJECT(edit_win));
gtk_widget_destroy(GTK_WIDGET(edit_win));
return TRUE;
}
-
+#if 0
gboolean
modest_ui_new_edit_window (ModestUI *modest_ui, const gchar* to,
const gchar* cc, const gchar* bcc,
return TRUE;
}
-
+#endif
static void
modest_ui_window_destroy (GtkWidget *win, GdkEvent *event, gpointer data)
free(account_name);
}
-
+#if 0
static void
on_account_settings1_activate (GtkMenuItem *menuitem,
gpointer user_data)
g_object_unref(glade_xml);
}
+#endif
static void
return folder_tree;
}
+static void on_editor_entry_changed(GtkEditable *editable,
+ gpointer user_data)
+{
+ GtkWidget *edit_win;
+ EditWinData *windata;
+
+ edit_win = gtk_widget_get_toplevel(GTK_WIDGET(editable));
+ windata = (EditWinData *)modest_editor_window_get_data(MODEST_EDITOR_WINDOW(edit_win));
+
+ modest_editor_window_set_modified(MODEST_EDITOR_WINDOW(edit_win), TRUE);
+}
+
+static void on_editor_buffer_changed (GtkTextBuffer *textbuffer,
+ gpointer user_data)
+{
+ GtkWidget *edit_win;
+ EditWinData *windata;
+
+ edit_win = gtk_widget_get_toplevel(GTK_WIDGET(textbuffer));
+ windata = (EditWinData *)modest_editor_window_get_data(MODEST_EDITOR_WINDOW(edit_win));
+
+ modest_editor_window_set_modified(MODEST_EDITOR_WINDOW(edit_win), TRUE);
+}
static void
on_new_mail_clicked (GtkWidget *widget, ModestUI *modest_ui)
{
GtkWidget *edit_win;
GladeXML *glade_xml;
- GtkWidget *btn;
+ GtkWidget *btn, *w;
+ GtkTextBuffer *buf;
EditWinData *windata;
ModestUIPrivate *priv;
gint height, width;
windata = (EditWinData *)modest_editor_window_get_data(MODEST_EDITOR_WINDOW(edit_win));
g_return_if_fail(windata);
+ windata->edit_win = MODEST_EDITOR_WINDOW(edit_win);
glade_xml = windata->glade_xml;
btn = glade_xml_get_widget (glade_xml, "toolb_send");
g_signal_connect (btn, "clicked", G_CALLBACK(on_send_button_clicked),
edit_win);
+ w = glade_xml_get_widget (glade_xml, "to_entry");
+ g_signal_connect(w, "changed", G_CALLBACK(on_editor_entry_changed), edit_win);
+ w = glade_xml_get_widget (glade_xml, "subject_entry");
+ g_signal_connect(w, "changed", G_CALLBACK(on_editor_entry_changed), edit_win);
+ w = glade_xml_get_widget (glade_xml, "body_view");
+ buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(w));
+ g_signal_connect(buf, "changed", G_CALLBACK(on_editor_buffer_changed), edit_win);
+
g_signal_connect (edit_win, "destroy-event", G_CALLBACK(close_edit_window),
edit_win);
g_signal_connect (edit_win, "delete-event", G_CALLBACK(close_edit_window),
modest_editor_window_set_subject_header(MODEST_EDITOR_WINDOW(edit_win), subject_header);
modest_editor_window_set_body(MODEST_EDITOR_WINDOW(edit_win), body);
+ modest_editor_window_set_modified(MODEST_EDITOR_WINDOW(edit_win), FALSE);
+
gtk_widget_show(edit_win);
}
switch (qstype) {
case QUOTED_SEND_REPLY:
g_string_prepend(re_sub, _("Re: "));
- // modest_ui_new_edit_window (modest_ui, from, /* cc */ "", /* bcc */ "", re_sub->str, quoted, NULL);
new_editor_with_presets(modest_ui, from, /* cc */ "", /* bcc */ "", re_sub->str, quoted);
break;
case QUOTED_SEND_FORWARD:
g_string_prepend(re_sub, _("Fwd: "));
- // modest_ui_new_edit_window (modest_ui, /* from */ "", /* cc */ "", /* bcc */ "", re_sub->str, quoted, NULL);
new_editor_with_presets(modest_ui, /* from */ "", /* cc */ "", /* bcc */ "", re_sub->str, quoted);
break;
default: