* Enable sending mails again.
[modest] / src / gtk-glade / modest-ui.c
index b33b1ce..c313f1b 100644 (file)
@@ -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;
 
 }
 
@@ -256,7 +260,7 @@ modest_ui_new (ModestConf *modest_conf)
        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(obj);
+               wizard_account_dialog(MODEST_UI(obj));
        g_slist_free(account_names_list);
        g_slist_free(identities_list);
 
@@ -274,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,
@@ -296,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");
@@ -304,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");
@@ -359,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,
@@ -1225,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;
 
@@ -1242,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);
@@ -1252,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");
@@ -1269,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));
 
@@ -1288,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)
 {
@@ -1372,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);
 
 }