X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fgtk-glade%2Fmodest-ui.c;h=c313f1bc1828ccd4145868de7518aae9d1f372c1;hb=30c3b06771618bc36e6ad37800d599a7cfdb2594;hp=3e7f9e4d3d884c0f019a320ee5513247bebbd3d5;hpb=8852855998585a12d217705e0034312fe3de5d06;p=modest diff --git a/src/gtk-glade/modest-ui.c b/src/gtk-glade/modest-ui.c index 3e7f9e4..c313f1b 100644 --- a/src/gtk-glade/modest-ui.c +++ b/src/gtk-glade/modest-ui.c @@ -68,6 +68,8 @@ static void on_forward_clicked (GtkWidget *widget, ModestUI *modest_ui); static void on_delete_clicked (GtkWidget *widget, ModestUI *modest_ui); +static void on_view_attachments_toggled(GtkWidget *widget, ModestUI *modest_ui); + #if 1 static void on_send_button_clicked (GtkWidget *widget, ModestEditorWindow *modest_editwin); #else @@ -161,6 +163,8 @@ modest_ui_init (ModestUI *obj) priv->modest_conf = NULL; priv->modest_window_mgr = NULL; priv->glade_xml = NULL; + priv->folder_view = NULL; + priv->header_view = NULL; } @@ -196,6 +200,8 @@ modest_ui_new (ModestConf *modest_conf) ModestAccountMgr *modest_acc_mgr; ModestIdentityMgr *modest_id_mgr; TnyAccountStoreIface *account_store_iface; + GSList *account_names_list; + GSList *identities_list; g_return_val_if_fail (modest_conf, NULL); @@ -250,6 +256,14 @@ modest_ui_new (ModestConf *modest_conf) g_signal_connect (priv->modest_window_mgr, "last_window_closed", G_CALLBACK(modest_ui_last_window_closed), NULL); + + account_names_list=modest_account_mgr_server_account_names(modest_acc_mgr, NULL, MODEST_PROTO_TYPE_ANY, NULL, FALSE); + identities_list=modest_identity_mgr_identity_names(modest_id_mgr, NULL); + if (!(account_names_list!=NULL || identities_list!=NULL)) + wizard_account_dialog(MODEST_UI(obj)); + g_slist_free(account_names_list); + g_slist_free(identities_list); + return obj; } @@ -264,7 +278,8 @@ modest_ui_show_main_window (ModestUI *modest_ui) GtkWidget *message_view; GtkWidget *account_settings_item; GtkWidget *new_account_item; - GtkWidget *delete_item; + GtkWidget *delete_item; + GtkWidget *view_attachments_item; GtkWidget *folder_view_holder, *header_view_holder, @@ -286,6 +301,7 @@ modest_ui_show_main_window (ModestUI *modest_ui) folder_view = GTK_WIDGET(modest_main_window_folder_tree(priv->modest_acc_mgr, priv->account_store)); + priv->folder_view = folder_view; folder_view_holder = glade_xml_get_widget (priv->glade_xml, "folders"); if (!folder_view||!folder_view_holder) { g_warning ("failed to create folder tree"); @@ -294,6 +310,7 @@ modest_ui_show_main_window (ModestUI *modest_ui) gtk_container_add (GTK_CONTAINER(folder_view_holder), folder_view); header_view = GTK_WIDGET(modest_main_window_header_tree (NULL)); + priv->header_view = header_view; header_view_holder = glade_xml_get_widget (priv->glade_xml, "mail_list"); if (!header_view) { g_warning ("failed to create header tree"); @@ -349,6 +366,24 @@ modest_ui_show_main_window (ModestUI *modest_ui) g_signal_connect (delete_item, "activate", G_CALLBACK(on_delete_clicked), modest_ui); + view_attachments_item = glade_xml_get_widget (priv->glade_xml, "menu_view_attachments"); + if (!view_attachments_item) + { + g_warning ("The view_attachments_item isn't available!"); + return FALSE; + } + + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(view_attachments_item), + modest_conf_get_bool(priv->modest_conf, + MODEST_CONF_MSG_VIEW_SHOW_ATTACHMENTS_INLINE, + NULL) + ); + + g_signal_connect (view_attachments_item, + "toggled", + G_CALLBACK(on_view_attachments_toggled), + modest_ui); + register_toolbar_callbacks (modest_ui); modest_window_mgr_register (priv->modest_window_mgr, @@ -474,10 +509,10 @@ close_edit_window (GtkWidget *win, GdkEvent *event, gpointer data) 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)); - // g_message("closing window"); - } /* else { + g_message("closing window"); + } else { g_message("not closing window"); - }*/ + } } } @@ -1012,6 +1047,7 @@ on_new_mail_clicked (GtkWidget *widget, ModestUI *modest_ui) 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)); + gtk_text_buffer_set_text(buf, "", -1); 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), @@ -1214,10 +1250,10 @@ on_send_button_clicked (GtkWidget *widget, ModestEditorWindow *modest_editwin) gchar *body; GtkTextIter start, end; GtkTextBuffer *buf; - /* TnyAccountStoreIface *account_store; + TnyAccountStoreIface *account_store; const GList *transport_accounts; TnyTransportAccountIface *transport_account; - ModestConf *conf; */ + ModestConf *conf; ModestIdentityMgr *id_mgr; EditWinData *win_data; @@ -1231,7 +1267,7 @@ on_send_button_clicked (GtkWidget *widget, ModestEditorWindow *modest_editwin) (modest_tny_transport_actions_new ()); priv = MODEST_UI_GET_PRIVATE(modest_ui); -#if 0 + account_store = priv->account_store; transport_accounts = tny_account_store_iface_get_transport_accounts (account_store); @@ -1241,7 +1277,7 @@ on_send_button_clicked (GtkWidget *widget, ModestEditorWindow *modest_editwin) } else /* take the first one! */ transport_account = TNY_TRANSPORT_ACCOUNT_IFACE(transport_accounts->data); -#endif + to_entry = glade_xml_get_widget (win_data->glade_xml, "to_entry"); subject_entry = glade_xml_get_widget (win_data->glade_xml, "subject_entry"); body_view = glade_xml_get_widget (win_data->glade_xml, "body_view"); @@ -1258,14 +1294,17 @@ on_send_button_clicked (GtkWidget *widget, ModestEditorWindow *modest_editwin) MODEST_IDENTITY_DEFAULT_IDENTITY, MODEST_IDENTITY_EMAIL, NULL); + if (!email_from) + email_from = ""; + g_message("sending \"%s\" %s ==> %s", subject, email_from, to); -/* + modest_tny_transport_actions_send_message (actions, transport_account, email_from, to, "", "", subject, body); -*/ + g_free (body); g_object_unref (G_OBJECT(actions)); @@ -1277,7 +1316,27 @@ on_send_button_clicked (GtkWidget *widget, ModestEditorWindow *modest_editwin) g_warning("editor window has vanished!"); } +static void +on_view_attachments_toggled(GtkWidget *widget, ModestUI *modest_ui) +{ + GtkWidget *view_attachments_item, *paned; + ModestTnyMsgView *msg_view; + ModestUIPrivate *priv; + + priv = MODEST_UI_GET_PRIVATE(modest_ui); + view_attachments_item = glade_xml_get_widget (priv->glade_xml, "menu_view_attachments"); + g_return_if_fail(view_attachments_item); + + modest_conf_set_bool(priv->modest_conf, + MODEST_CONF_MSG_VIEW_SHOW_ATTACHMENTS_INLINE, + gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(view_attachments_item)), + NULL); + /* refresh message view */ + paned = glade_xml_get_widget (priv->glade_xml,"mail_paned"); + msg_view = MODEST_TNY_MSG_VIEW(gtk_paned_get_child2 (GTK_PANED(paned))); + modest_tny_msg_view_redraw(MODEST_TNY_MSG_VIEW(msg_view)); +} static void on_delete_clicked (GtkWidget *widget, ModestUI *modest_ui) { @@ -1361,11 +1420,11 @@ on_sendreceive_button_clicked (GtkWidget *widget, ModestUI *modest_ui) tny_account_store_iface_get_store_accounts (account_store); for (iter = store_accounts; iter; iter = iter->next) + { modest_tny_store_actions_update_folders (store_actions, TNY_STORE_ACCOUNT_IFACE (iter->data)); - /* TODO, lock, refresh display */ - + } g_object_unref (store_actions); }