-gboolean
-modest_ui_show_main_window (ModestUI *modest_ui)
-{
- GtkWidget *win;
- gint height, width;
- ModestUIPrivate *priv;
- GtkWidget *folder_view, *header_view;
- GtkWidget *message_view;
- GtkWidget *account_settings_item;
- GtkWidget *new_account_item;
- GtkWidget *delete_item;
-
- GtkWidget *folder_view_holder,
- *header_view_holder,
- *mail_paned;
-
- priv = MODEST_UI_GET_PRIVATE(modest_ui);
-
- height = modest_conf_get_int (priv->modest_conf,
- MODEST_CONF_MAIN_WINDOW_HEIGHT,NULL);
- width = modest_conf_get_int (priv->modest_conf,
- MODEST_CONF_MAIN_WINDOW_WIDTH,NULL);
-
- win = glade_xml_get_widget (priv->glade_xml, "main");
- if (!win) {
- g_warning ("could not create main window");
- return FALSE;
- }
-
- folder_view =
- GTK_WIDGET(modest_main_window_folder_tree(priv->modest_acc_mgr,
- priv->account_store));
- folder_view_holder = glade_xml_get_widget (priv->glade_xml, "folders");
- if (!folder_view||!folder_view_holder) {
- g_warning ("failed to create folder tree");
- return FALSE;
- }
- gtk_container_add (GTK_CONTAINER(folder_view_holder), folder_view);
-
- header_view = GTK_WIDGET(modest_main_window_header_tree (NULL));
- header_view_holder = glade_xml_get_widget (priv->glade_xml, "mail_list");
- if (!header_view) {
- g_warning ("failed to create header tree");
- return FALSE;
- }
- gtk_container_add (GTK_CONTAINER(header_view_holder), header_view);
-
- g_signal_connect (G_OBJECT(folder_view), "folder_selected",
- G_CALLBACK(on_folder_clicked), modest_ui);
-
- message_view = GTK_WIDGET(modest_tny_msg_view_new (NULL));
- if (!message_view) {
- g_warning ("failed to create message view");
- return FALSE;
- }
- mail_paned = glade_xml_get_widget (priv->glade_xml, "mail_paned");
- gtk_paned_add2 (GTK_PANED(mail_paned), message_view);
-
- g_signal_connect (header_view, "message_selected",
- G_CALLBACK(on_message_clicked),
- modest_ui);
-
- account_settings_item = glade_xml_get_widget (priv->glade_xml, "AccountSettingsMenuItem");
- if (!account_settings_item)
- {
- g_warning ("The account settings item isn't available!\n");
- return FALSE;
- }
- g_signal_connect (account_settings_item, "activate",
- G_CALLBACK(on_account_settings1_activate),
- modest_ui);
-
- new_account_item = glade_xml_get_widget (priv->glade_xml, "NewAccountWizzardMenuItem");
- if (!new_account_item)
- {
- g_warning ("The new account item isn't available!\n");
- return FALSE;
- }
-/*
- g_signal_connect (new_account_item, "activate",
- G_CALLBACK(on_new_account1_activate),
- modest_ui);
-*/
- delete_item = glade_xml_get_widget (priv->glade_xml, "delete1");
- if (!delete_item)
- {
- g_warning ("The delete item isn't available!\n");
- return FALSE;
- }
-
- g_signal_connect (delete_item, "activate", G_CALLBACK(on_delete_clicked),
- modest_ui);
-
- register_toolbar_callbacks (modest_ui);
-
- modest_window_mgr_register (priv->modest_window_mgr,
- G_OBJECT(win), MODEST_MAIN_WINDOW, 0);
- g_signal_connect (win, "destroy-event", G_CALLBACK(modest_ui_window_destroy),
- modest_ui);
- g_signal_connect (win, "delete-event", G_CALLBACK(modest_ui_window_destroy),
- modest_ui);
- gtk_widget_set_usize (GTK_WIDGET(win), height, width);
- gtk_window_set_title (GTK_WINDOW(win), PACKAGE_STRING);
-
- gtk_widget_show_all (win);
- return TRUE;
-}
-
-
-static void
-register_toolbar_callbacks (ModestUI *modest_ui)
-{
- ModestUIPrivate *priv;
- GtkWidget *button;
-
- g_return_if_fail (modest_ui);
-
- priv = MODEST_UI_GET_PRIVATE (modest_ui);
-
- button = glade_xml_get_widget (priv->glade_xml, "toolb_new_mail");
- if (button)
- g_signal_connect (button, "clicked",
- G_CALLBACK(on_new_mail_clicked), modest_ui);
-
- button = glade_xml_get_widget (priv->glade_xml, "toolb_reply");
- if (button) {
- g_signal_connect (button, "clicked",
- G_CALLBACK(on_reply_clicked), modest_ui);
- gtk_widget_set_sensitive(button, FALSE);
- }
-
- button = glade_xml_get_widget (priv->glade_xml, "toolb_reply_all");
- if (button) {
- //g_signal_connect (button, "clicked",
- // G_CALLBACK(on_reply_all_clicked), modest_ui);
- gtk_widget_set_sensitive(button, FALSE);
- }
-
- button = glade_xml_get_widget (priv->glade_xml, "toolb_forward");
- if (button) {
- g_signal_connect (button, "clicked",
- G_CALLBACK(on_forward_clicked), modest_ui);
- gtk_widget_set_sensitive(button, FALSE);
- }
-
- button = glade_xml_get_widget (priv->glade_xml, "toolb_move_to");
- if (button) {
- //g_signal_connect (button, "clicked",
- // G_CALLBACK(on_move_to_clicked), modest_ui);
- gtk_widget_set_sensitive(button, FALSE);
- }
-
- button = glade_xml_get_widget (priv->glade_xml, "toolb_delete");
- if (button) {
- g_signal_connect (button, "clicked",
- G_CALLBACK(on_delete_clicked), modest_ui);
- gtk_widget_set_sensitive(button, FALSE);
- }
-}
-
-
-static void
-hide_edit_window (GtkWidget *win, GdkEvent *event, gpointer data)
-{
- ModestUIPrivate *priv;
-
- priv = MODEST_UI_GET_PRIVATE(data);
- gtk_widget_hide (win);
- modest_window_mgr_unregister(priv->modest_window_mgr, G_OBJECT(win));
-}
-
-
-GtkContainer
-*modest_ui_new_editor_window (ModestUI *modest_ui, gpointer *user_data)
-{
- GtkWidget *top_container, *to_entry, *subject_entry, *body_view;
-
- ModestUIPrivate *priv;
- GladeXML *ui_ref;
- GtkWidget *btn, *dummy;
- GtkTextBuffer *buf;
-
- priv = MODEST_UI_GET_PRIVATE(modest_ui);
- int height = modest_conf_get_int (priv->modest_conf,
- MODEST_CONF_EDIT_WINDOW_HEIGHT,NULL);
- int width = modest_conf_get_int (priv->modest_conf,
- MODEST_CONF_EDIT_WINDOW_WIDTH,NULL);
-
- ui_ref = glade_xml_new(MODEST_GLADE, "new_mail", NULL);
- if (!ui_ref)
- return NULL;
-
- *user_data = ui_ref;
-
- top_container = glade_xml_get_widget(ui_ref, "new_mail_top_container");
- if (!top_container) {
- g_object_unref(G_OBJECT(ui_ref));
- return NULL;
- }
-
- return GTK_CONTAINER(top_container);
-}
-
-
-gboolean
-modest_ui_editor_window_set_to_header(ModestEditorWindow *edit_win, gchar *to)
-{
- GladeXML *glade_xml;
- GtkWidget *w;
-
- glade_xml = (GladeXML *)modest_editor_window_get_data(edit_win);
- w = glade_xml_get_widget(glade_xml, "to_entry");
- gtk_entry_set_text(GTK_ENTRY(w), to);
-
- return TRUE;
-}
-
-
-gboolean
-modest_ui_new_edit_window (ModestUI *modest_ui, const gchar* to,
- const gchar* cc, const gchar* bcc,
- const gchar* subject, const gchar *body,
- const GSList* att)
-{
- GtkWidget *win, *to_entry, *subject_entry, *body_view;
-
- ModestUIPrivate *priv;
- GtkWidget *btn, *dummy;
- GtkTextBuffer *buf;
-
- priv = MODEST_UI_GET_PRIVATE(modest_ui);
- int height = modest_conf_get_int (priv->modest_conf,
- MODEST_CONF_EDIT_WINDOW_HEIGHT,NULL);
- int width = modest_conf_get_int (priv->modest_conf,
- MODEST_CONF_EDIT_WINDOW_WIDTH,NULL);
-
- win = glade_xml_get_widget (priv->glade_xml, "new_mail");
- if (!win) {
- g_warning ("could not create new mail window");
- return FALSE;
- }
-
- /* FIXME: this also assumes that there can be only one edit window! */
- if (!modest_window_mgr_find_by_type(priv->modest_window_mgr, MODEST_EDIT_WINDOW)) {
- /* there already is one edit win, maybe we should preserver its contents */
- modest_window_mgr_register (priv->modest_window_mgr,
- G_OBJECT(win), MODEST_EDIT_WINDOW, 0);
- }
-
- to_entry = glade_xml_get_widget (priv->glade_xml, "to_entry");
- subject_entry = glade_xml_get_widget (priv->glade_xml, "subject_entry");
- body_view = glade_xml_get_widget (priv->glade_xml, "body_view");
-
- gtk_entry_set_text(GTK_ENTRY(subject_entry), subject);
- gtk_entry_set_text(GTK_ENTRY(to_entry), to);
-
- buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(body_view));
- if (body) {
- gtk_text_buffer_set_text(buf, body, -1);
- } else {
- gtk_text_buffer_set_text(buf, "", -1);
- }
- g_signal_connect (win, "destroy-event", G_CALLBACK(hide_edit_window),
- modest_ui);
- g_signal_connect (win, "delete-event", G_CALLBACK(hide_edit_window),
- modest_ui);
-
- gtk_widget_set_usize (GTK_WIDGET(win), height, width);
- gtk_window_set_title (GTK_WINDOW(win),
- subject ? subject : "Untitled");
-
-
- btn = glade_xml_get_widget (priv->glade_xml, "toolb_send");
- g_signal_connect (btn, "clicked", G_CALLBACK(on_send_button_clicked),
- modest_ui);
-
- gtk_widget_show_all (win);
-
- return TRUE;
-}
-
-
-static void
-modest_ui_window_destroy (GtkWidget *win, GdkEvent *event, gpointer data)
-{
- ModestUIPrivate *priv;
-
- g_return_if_fail (data);
- g_return_if_fail(MODEST_IS_UI(data));
- priv = MODEST_UI_GET_PRIVATE((ModestUI *)data);
- g_return_if_fail(priv);
- if (!modest_window_mgr_unregister (priv->modest_window_mgr, G_OBJECT(win)))
- g_warning ("modest window mgr: failed to unregister %p",
- G_OBJECT(win));
- else
- gtk_widget_hide(win);