X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fhildon%2Fmodest-ui-main-view.c;h=99667135d656b36accce2cceff183b1979afcd3c;hb=802220234f693f8f35061813ca0bfaf1fff6506b;hp=98253558de69de222d660a10d7c87fab72767d46;hpb=8dbc731a324aeda416f502dec92f48e6316b3f56;p=modest diff --git a/src/hildon/modest-ui-main-view.c b/src/hildon/modest-ui-main-view.c index 9825355..9966713 100644 --- a/src/hildon/modest-ui-main-view.c +++ b/src/hildon/modest-ui-main-view.c @@ -1,13 +1,46 @@ +/* Copyright (c) 2006, Nokia Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the Nokia Corporation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + #include #include #include #include +#include + #ifdef HAVE_CONFIG_H #include #endif /*HAVE_CONFIG_H*/ -#include +#include +#include /* TODO: put in auto* */ #include @@ -93,21 +126,23 @@ gboolean modest_ui_show_main_window (ModestUI *modest_ui) { GtkWidget *win; - gint height, width; + gint height, width; ModestUIPrivate *priv; - GtkWidget *folder_view, *header_view; - GtkWidget *message_view; - GtkWidget *account_settings_item; - GtkWidget *forward_attached_menu_item; - GtkWidget *delete_item; - GtkWidget *open_item; - GtkWidget *view_attachments_item; - GtkWidget *new_account_item; + GtkWidget *folder_view, *header_view; + GtkWidget *message_view; + GtkWidget *account_settings_item; + GtkWidget *forward_attached_menu_item; + GtkWidget *delete_item; + GtkWidget *open_item; + GtkWidget *view_attachments_item; + GtkWidget *new_account_item; + GtkWidget *main_menu, *menu_item, *main_toolbar; GtkWidget *folder_view_holder, *header_view_holder, *mail_paned; gboolean show_attachments_inline; + HildonProgram *program; priv = MODEST_UI_GET_PRIVATE(modest_ui); @@ -116,7 +151,11 @@ modest_ui_show_main_window (ModestUI *modest_ui) width = modest_conf_get_int (priv->modest_conf, MODEST_CONF_MAIN_WINDOW_WIDTH,NULL); - win = glade_xml_get_widget (priv->glade_xml, "main"); + program = HILDON_PROGRAM (hildon_program_get_instance ()); + priv->program = program; + g_set_application_name (_("Modest")); + + win = glade_xml_get_widget (priv->glade_xml, "appview1"); if (!win) { g_warning ("could not create main window"); return FALSE; @@ -148,13 +187,15 @@ modest_ui_show_main_window (ModestUI *modest_ui) MODEST_CONF_MSG_VIEW_SHOW_ATTACHMENTS_INLINE, NULL); - message_view = GTK_WIDGET(modest_tny_msg_view_new (NULL, show_attachments_inline)); + message_view = GTK_WIDGET(modest_tny_msg_view_new (NULL)); priv->message_view = message_view; if (!message_view) { g_warning ("failed to create message view"); return FALSE; } - + //g_signal_connect(G_OBJECT(message_view), "on_mailto_clicked", + // G_CALLBACK(ui_on_mailto_clicked), modest_ui); + mail_paned = glade_xml_get_widget (priv->glade_xml, "mail_paned"); gtk_paned_add2 (GTK_PANED(mail_paned), message_view); @@ -233,10 +274,41 @@ modest_ui_show_main_window (ModestUI *modest_ui) modest_ui); g_signal_connect (win, "delete-event", G_CALLBACK(modest_ui_main_view_destroy), modest_ui); - gtk_widget_set_usize (GTK_WIDGET(win), width, height); - hildon_app_set_title (HILDON_APP(win), PACKAGE_STRING); + + gtk_window_set_title (GTK_WINDOW(win), _("Main")); + + main_menu = gtk_menu_new (); + menu_item = glade_xml_get_widget (priv->glade_xml, "MessageMenuItem"); + gtk_widget_reparent(menu_item, main_menu); + menu_item = glade_xml_get_widget (priv->glade_xml, "EditMenuItem"); + gtk_widget_reparent(menu_item, main_menu); + menu_item = glade_xml_get_widget (priv->glade_xml, "FoldersMenuItem"); + gtk_widget_reparent(menu_item, main_menu); + menu_item = glade_xml_get_widget (priv->glade_xml, "ViewMenuItem"); + gtk_widget_reparent(menu_item, main_menu); + menu_item = glade_xml_get_widget (priv->glade_xml, "EMailMenuItem"); + gtk_widget_reparent(menu_item, main_menu); + menu_item = glade_xml_get_widget (priv->glade_xml, "ToolsMenuItem"); + gtk_widget_reparent(menu_item, main_menu); + menu_item = glade_xml_get_widget (priv->glade_xml, "CloseMenuItem"); + gtk_widget_reparent(menu_item, main_menu); + + hildon_window_set_menu (HILDON_WINDOW(win), GTK_MENU(main_menu)); + + main_toolbar = glade_xml_get_widget (priv->glade_xml, "toolbar1"); + g_object_ref (main_toolbar); + gtk_container_remove (GTK_CONTAINER(glade_xml_get_widget (priv->glade_xml, + "main_top_container")), main_toolbar); + hildon_window_add_toolbar (HILDON_WINDOW(win), GTK_TOOLBAR(main_toolbar)); gtk_widget_show_all (win); + + menu_item = glade_xml_get_widget (priv->glade_xml, "menubar1"); + gtk_widget_hide(menu_item); + + hildon_program_add_window (HILDON_PROGRAM(program), + HILDON_WINDOW(win)); + return TRUE; } @@ -364,7 +436,7 @@ on_message_clicked (ModestTnyFolderTreeView *folder_tree, msg_view = MODEST_TNY_MSG_VIEW (priv->message_view); modest_tny_msg_view_set_message (msg_view, message); - + button = glade_xml_get_widget (priv->glade_xml, "toolb_reply"); if (button) { gtk_widget_set_sensitive(button, TRUE); @@ -389,9 +461,7 @@ modest_main_window_header_tree (TnyMsgFolderIface *folder) ModestTnyHeaderTreeViewColumn cols[] = { MODEST_TNY_HEADER_TREE_VIEW_COLUMN_MSGTYPE, MODEST_TNY_HEADER_TREE_VIEW_COLUMN_ATTACH, - MODEST_TNY_HEADER_TREE_VIEW_COLUMN_FROM, - MODEST_TNY_HEADER_TREE_VIEW_COLUMN_SUBJECT, - MODEST_TNY_HEADER_TREE_VIEW_COLUMN_RECEIVED_DATE + MODEST_TNY_HEADER_TREE_VIEW_COLUMN_COMPACT_HEADER }; for (i = 0 ; i != sizeof(cols) / sizeof(ModestTnyHeaderTreeViewColumn); ++i) @@ -466,8 +536,6 @@ on_view_attachments_toggled(GtkWidget *widget, gpointer user_data) MODEST_CONF_MSG_VIEW_SHOW_ATTACHMENTS_INLINE, view_attachments_inline, NULL); - - modest_tny_msg_view_set_show_attachments_inline_flag(msg_view, view_attachments_inline); } @@ -532,21 +600,27 @@ on_sendreceive_button_clicked (GtkWidget *widget, gpointer user_data) ModestUI *modest_ui = (ModestUI *)user_data; ModestUIPrivate *priv; TnyAccountStoreIface *account_store; - const GList *store_accounts; - const GList *iter; + TnyListIface *store_accounts = NULL; + TnyIteratorIface *iter; g_return_if_fail (modest_ui); priv = MODEST_UI_GET_PRIVATE(modest_ui); - + account_store = priv->account_store; - store_accounts = - tny_account_store_iface_get_store_accounts (account_store); - - for (iter = store_accounts; iter; iter = iter->next) { - modest_tny_store_actions_update_folders (TNY_STORE_ACCOUNT_IFACE (iter->data)); + store_accounts = TNY_LIST_IFACE(tny_list_new()); + tny_account_store_iface_get_accounts (account_store, store_accounts, + TNY_ACCOUNT_STORE_IFACE_STORE_ACCOUNTS); + iter = tny_list_iface_create_iterator (store_accounts); + + while (!tny_iterator_iface_is_done(iter)) { + modest_tny_store_actions_update_folders + (TNY_STORE_ACCOUNT_IFACE (tny_iterator_iface_current(iter))); + tny_iterator_iface_next (iter); } - + g_object_unref (iter); + g_object_unref (store_accounts); + if (priv->header_view && priv->current_folder) { modest_tny_header_tree_view_set_folder (MODEST_TNY_HEADER_TREE_VIEW(priv->header_view), @@ -598,5 +672,4 @@ on_headers_status_update (GtkWidget *header_view, const gchar *msg, gint status_ gtk_widget_hide (status_box); gtk_statusbar_pop (status_bar, status_id); } -} - +}