static void
restore_settings (ModestMsgEditWindow *self)
{
-
modest_widget_memory_restore (modest_runtime_get_conf(),
G_OBJECT(self), "modest-edit-msg-window");
}
GSList *cursor, *accounts;
account_mgr = modest_runtime_get_account_mgr();
- cursor = accounts = modest_account_mgr_account_names (account_mgr, NULL);
+ cursor = accounts = modest_account_mgr_account_names (account_mgr);
while (cursor) {
gchar *account_name = (gchar*)cursor->data;
gchar *from_string = modest_account_mgr_get_from_string (account_mgr,
GtkWidget *main_vbox;
ModestMsgEditWindowPrivate *priv;
ModestPairList *protos;
-
+
priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE(obj);
to_button = gtk_button_new_with_label (_("To..."));
cc_button = gtk_button_new_with_label (_("Cc..."));
bcc_button = gtk_button_new_with_label (_("Bcc..."));
-
protos = get_transports ();
- priv->from_field = modest_combo_box_new (protos);
+ priv->from_field = modest_combo_box_new (protos, g_str_equal);
modest_pair_list_free (protos);
priv->to_field = gtk_entry_new_with_max_length (80);
gtk_box_pack_start (GTK_BOX(main_vbox), priv->msg_body, TRUE, TRUE, 6);
gtk_widget_show_all (GTK_WIDGET(main_vbox));
+
+ if (!modest_conf_get_bool(modest_runtime_get_conf(), MODEST_CONF_SHOW_CC, NULL))
+ gtk_widget_hide (priv->cc_field);
+ if (!modest_conf_get_bool(modest_runtime_get_conf(), MODEST_CONF_SHOW_BCC, NULL))
+ gtk_widget_hide (priv->bcc_field);
+
gtk_container_add (GTK_CONTAINER(obj), main_vbox);
}
return main_menu;
}
+
+#if 0
+static void
+set_msg (ModestMsgEditWindow *self, TnyMsg *msg)
+{
+ TnyHeader *header;
+ GtkTextBuffer *buf;
+ const gchar *to, *cc, *bcc, *subject;
+ ModestMsgEditWindowPrivate *priv;
+
+ g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (self));
+ g_return_if_fail (TNY_IS_MSG (msg));
+
+ priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self);
+
+ header = tny_msg_get_header (msg);
+ to = tny_header_get_to (header);
+ cc = tny_header_get_cc (header);
+ bcc = tny_header_get_bcc (header);
+ subject = tny_header_get_subject (header);
+
+ if (to)
+ gtk_entry_set_text (GTK_ENTRY(priv->to_field), to);
+ if (cc)
+ gtk_entry_set_text (GTK_ENTRY(priv->cc_field), cc);
+ if (bcc)
+ gtk_entry_set_text (GTK_ENTRY(priv->bcc_field), bcc);
+ if (subject)
+ gtk_entry_set_text (GTK_ENTRY(priv->subject_field), subject);
+
+ buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW(priv->msg_body));
+ gtk_text_buffer_set_text (buf,
+ (const gchar *) modest_tny_msg_get_body (msg, FALSE),
+ -1);
+
+ /* TODO: lower priority, select in the From: combo to the
+ value that comes from msg <- not sure, should it be
+ allowed? */
+
+ /* TODO: set attachments */
+}
+#endif
+
+
+
ModestWindow*
-modest_msg_edit_window_new (ModestEditType type)
+modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name)
{
GObject *obj;
ModestWindowPrivate *parent_priv;
GtkActionGroup *action_group;
GError *error = NULL;
- g_return_val_if_fail (type < MODEST_EDIT_TYPE_NUM, NULL);
+ g_return_val_if_fail (msg, NULL);
obj = g_object_new(MODEST_TYPE_MSG_EDIT_WINDOW, NULL);
g_object_unref (action_group);
/* Load the UI definition */
- gtk_ui_manager_add_ui_from_file (parent_priv->ui_manager, MODEST_UIDIR "modest-edit-msg-window-ui.xml", &error);
+ gtk_ui_manager_add_ui_from_file (parent_priv->ui_manager, MODEST_UIDIR "modest-msg-edit-window-ui.xml", &error);
if (error != NULL) {
- g_warning ("Could not merge modest-edit-msg-window-ui.xml: %s", error->message);
+ g_warning ("Could not merge modest-msg-edit-window-ui.xml: %s", error->message);
g_error_free (error);
error = NULL;
}
parent_priv->toolbar = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar");
hildon_window_add_toolbar (HILDON_WINDOW (obj), GTK_TOOLBAR (parent_priv->toolbar));
+ /* should we hide the toolbar? */
+ if (!modest_conf_get_bool (modest_runtime_get_conf (), MODEST_CONF_SHOW_TOOLBAR, NULL))
+ gtk_widget_hide (parent_priv->toolbar);
+
+
/* Menubar */
parent_priv->menubar = menubar_to_menu (parent_priv->ui_manager);
hildon_window_set_menu (HILDON_WINDOW (obj), GTK_MENU (parent_priv->menubar));
/* Init window */
init_window (MODEST_MSG_EDIT_WINDOW(obj));
-
- restore_settings (MODEST_MSG_EDIT_WINDOW(obj));
+ restore_settings (MODEST_MSG_EDIT_WINDOW(obj));
+
gtk_window_set_title (GTK_WINDOW(obj), "Modest");
gtk_window_set_icon_from_file (GTK_WINDOW(obj), MODEST_APP_ICON, NULL);
g_signal_connect (G_OBJECT(obj), "delete-event",
G_CALLBACK(on_delete_event), obj);
+ modest_window_set_active_account (MODEST_WINDOW(obj), account_name);
return (ModestWindow*)obj;
}
-void
-modest_msg_edit_window_set_msg (ModestMsgEditWindow *self, TnyMsg *msg)
-{
- TnyHeader *header;
- GtkTextBuffer *buf;
- const gchar *to, *cc, *bcc, *subject;
- ModestMsgEditWindowPrivate *priv;
-
- g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (self));
- g_return_if_fail (TNY_IS_MSG (msg));
-
- priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self);
-
- header = tny_msg_get_header (msg);
- to = tny_header_get_to (header);
- cc = tny_header_get_cc (header);
- bcc = tny_header_get_bcc (header);
- subject = tny_header_get_subject (header);
-
- if (to)
- gtk_entry_set_text (GTK_ENTRY(priv->to_field), to);
- if (cc)
- gtk_entry_set_text (GTK_ENTRY(priv->cc_field), cc);
- if (bcc)
- gtk_entry_set_text (GTK_ENTRY(priv->bcc_field), bcc);
- if (subject)
- gtk_entry_set_text (GTK_ENTRY(priv->subject_field), subject);
-
- buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW(priv->msg_body));
- gtk_text_buffer_set_text (buf,
- (const gchar *) modest_tny_msg_get_body (msg, FALSE),
- -1);
-
- /* TODO: lower priority, select in the From: combo to the
- value that comes from msg <- not sure, should it be
- allowed? */
-
- /* TODO: set attachments */
-}
-
MsgData *
modest_msg_edit_window_get_msg_data (ModestMsgEditWindow *edit_window)
{
MsgData *data;
- ModestAccountData *account_data;
+ const gchar *account_name;
GtkTextBuffer *buf;
GtkTextIter b, e;
ModestMsgEditWindowPrivate *priv;
priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (edit_window);
- account_data = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->from_field));
+ account_name = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->from_field));
+ g_return_val_if_fail (account_name, NULL);
+
buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->msg_body));
gtk_text_buffer_get_bounds (buf, &b, &e);
-
+
/* don't free these (except from) */
data = g_slice_new0 (MsgData);
- data->from = g_strdup_printf ("%s <%s>", account_data->fullname, account_data->email) ;
+ data->from = modest_account_mgr_get_from_string (modest_runtime_get_account_mgr(),
+ account_name);
data->to = (gchar*) gtk_entry_get_text (GTK_ENTRY(priv->to_field));
data->cc = (gchar*) gtk_entry_get_text (GTK_ENTRY(priv->cc_field));
data->bcc = (gchar*) gtk_entry_get_text (GTK_ENTRY(priv->bcc_field));