X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-main-window.c;h=1d621fbfea4cb874f756aff0d33a971c5beba5fb;hp=18ccad541fbb186b3377695929072212b24fbc22;hb=7b9c42bc690092373ab9e35d4848fc85635dd100;hpb=26bbed080f7d04a8434a8b348fb4136aba4c6f23 diff --git a/src/maemo/modest-main-window.c b/src/maemo/modest-main-window.c index 18ccad5..1d621fb 100644 --- a/src/maemo/modest-main-window.c +++ b/src/maemo/modest-main-window.c @@ -39,13 +39,13 @@ #include #include + #include "modest-widget-memory.h" #include "modest-window-priv.h" #include "modest-main-window-ui.h" #include "modest-account-mgr.h" #include "modest-conf.h" - -#include "modest-maemo-utils.h" +#include #include "modest-tny-platform-factory.h" #include "modest-tny-msg.h" #include "modest-mail-operation.h" @@ -86,8 +86,8 @@ struct _ModestMainWindowPrivate { typedef struct _GetMsgAsyncHelper { ModestMainWindowPrivate *main_window_private; guint action; - ModestMailOperationReplyType reply_type; - ModestMailOperationForwardType forward_type; + ModestTnyMsgReplyType reply_type; + ModestTnyMsgForwardType forward_type; gchar *from; TnyIterator *iter; } GetMsgAsyncHelper; @@ -227,8 +227,6 @@ restore_sizes (ModestMainWindow *self) conf = modest_runtime_get_conf (); - modest_widget_memory_restore (conf,G_OBJECT(self), - "modest-main-window"); modest_widget_memory_restore (conf, G_OBJECT(priv->main_paned), "modest-main-paned"); modest_widget_memory_restore (conf, G_OBJECT(priv->header_view), @@ -279,64 +277,32 @@ on_delete_event (GtkWidget *widget, GdkEvent *event, ModestMainWindow *self) return FALSE; } -static GtkWidget * -menubar_to_menu (GtkUIManager *ui_manager) +static void +set_homogeneous (GtkWidget *widget, + gpointer data) { - GtkWidget *main_menu; - GtkWidget *menubar; - GList *iter; - - /* Create new main menu */ - main_menu = gtk_menu_new(); - - /* Get the menubar from the UI manager */ - menubar = gtk_ui_manager_get_widget (ui_manager, "/MenuBar"); - - iter = gtk_container_get_children (GTK_CONTAINER (menubar)); - while (iter) { - GtkWidget *menu; - - menu = GTK_WIDGET (iter->data); - gtk_widget_reparent(menu, main_menu); - - iter = g_list_next (iter); - } - return main_menu; + gtk_tool_item_set_expand (GTK_TOOL_ITEM (widget), TRUE); + gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (widget), TRUE); } static GtkWidget* get_toolbar (ModestMainWindow *self) { - GtkWidget *toolbar, *progress_box, *progress_alignment; - GtkToolItem *progress_item; + GtkWidget *toolbar, *reply_button, *menu; ModestWindowPrivate *parent_priv; - ModestMainWindowPrivate *priv; - GtkWidget *stop_icon; parent_priv = MODEST_WINDOW_GET_PRIVATE(self); - priv = MODEST_MAIN_WINDOW_GET_PRIVATE(self); /* Toolbar */ - toolbar = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar"); - progress_box = gtk_hbox_new (FALSE, HILDON_MARGIN_DEFAULT); - progress_alignment = gtk_alignment_new (0.5, 0.5, 1, 0); - - gtk_container_add (GTK_CONTAINER(progress_alignment), priv->progress_bar); - gtk_box_pack_start (GTK_BOX(progress_box), progress_alignment, TRUE, TRUE, 0); - - progress_item = gtk_tool_item_new (); - gtk_container_add (GTK_CONTAINER(progress_item), progress_box); - gtk_tool_item_set_homogeneous (progress_item, FALSE); - gtk_tool_item_set_expand(progress_item, TRUE); - - gtk_toolbar_insert (GTK_TOOLBAR(toolbar), progress_item, - gtk_toolbar_get_n_items(GTK_TOOLBAR(toolbar))); + toolbar = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar"); + reply_button = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar/ToolbarMessageReply"); - stop_icon = gtk_image_new_from_icon_name("qgn_toolb_gene_stop", GTK_ICON_SIZE_BUTTON); - gtk_toolbar_insert (GTK_TOOLBAR(toolbar), gtk_tool_button_new(stop_icon, NULL), - gtk_toolbar_get_n_items(GTK_TOOLBAR(toolbar))); + menu = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolbarReplyContextMenu"); + gtk_widget_tap_and_hold_setup (GTK_WIDGET (reply_button), menu, NULL, 0); + + /* Set homogeneous toolbar */ + gtk_container_foreach (GTK_CONTAINER (toolbar), set_homogeneous, NULL); - gtk_widget_show_all (toolbar); return toolbar; } @@ -352,6 +318,7 @@ connect_signals (ModestMainWindow *self) { ModestWindowPrivate *parent_priv; ModestMainWindowPrivate *priv; + GtkWidget *menu; priv = MODEST_MAIN_WINDOW_GET_PRIVATE(self); parent_priv = MODEST_WINDOW_GET_PRIVATE(self); @@ -360,9 +327,12 @@ connect_signals (ModestMainWindow *self) g_signal_connect (G_OBJECT(priv->folder_view), "folder_selection_changed", G_CALLBACK(modest_ui_actions_on_folder_selection_changed), self); + menu = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/FolderViewContextMenu"); + gtk_widget_tap_and_hold_setup (GTK_WIDGET (priv->folder_view), menu, NULL, 0); + /* header view */ - g_signal_connect (G_OBJECT(priv->header_view), "status_update", - G_CALLBACK(modest_ui_actions_on_header_status_update), self); +/* g_signal_connect (G_OBJECT(priv->header_view), "status_update", */ +/* G_CALLBACK(modest_ui_actions_on_header_status_update), self); */ g_signal_connect (G_OBJECT(priv->header_view), "header_selected", G_CALLBACK(modest_ui_actions_on_header_selected), self); g_signal_connect (G_OBJECT(priv->header_view), "header_activated", @@ -381,23 +351,19 @@ connect_signals (ModestMainWindow *self) */ g_signal_connect (G_OBJECT(modest_runtime_get_conf()), "key_changed", G_CALLBACK(on_key_changed), self); - g_signal_connect (G_OBJECT(self), "delete-event", G_CALLBACK(on_delete_event), self); - - } gboolean sync_accounts_cb (ModestMainWindow *win) { - modest_ui_actions_on_send_receive (GTK_WIDGET(win), MODEST_WINDOW(win)); + modest_ui_actions_on_send_receive (NULL, MODEST_WINDOW(win)); return FALSE; } - ModestWindow* modest_main_window_new (void) { @@ -416,6 +382,7 @@ modest_main_window_new (void) parent_priv->ui_manager = gtk_ui_manager_new(); action_group = gtk_action_group_new ("ModestMainWindowActions"); + gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); /* Add common actions */ gtk_action_group_add_actions (action_group, @@ -443,8 +410,9 @@ modest_main_window_new (void) parent_priv->toolbar = get_toolbar(self); hildon_window_add_toolbar (HILDON_WINDOW (self), GTK_TOOLBAR (parent_priv->toolbar)); + /* Menubar */ - parent_priv->menubar = menubar_to_menu (parent_priv->ui_manager); + parent_priv->menubar = modest_maemo_utils_menubar_to_menu (parent_priv->ui_manager); hildon_window_set_menu (HILDON_WINDOW (self), GTK_MENU (parent_priv->menubar)); /* folder view */ @@ -462,7 +430,7 @@ modest_main_window_new (void) MODEST_HEADER_VIEW(modest_header_view_new (NULL, MODEST_HEADER_VIEW_STYLE_DETAILS)); if (!priv->header_view) g_printerr ("modest: cannot instantiate header view\n"); - + modest_header_view_set_style (priv->header_view, MODEST_HEADER_VIEW_STYLE_TWOLINES); folder_win = wrapped_in_scrolled_window (GTK_WIDGET(priv->folder_view), FALSE); header_win = wrapped_in_scrolled_window (GTK_WIDGET(priv->header_view), FALSE); @@ -478,15 +446,15 @@ modest_main_window_new (void) gtk_box_pack_start (GTK_BOX(main_vbox), priv->main_paned, TRUE, TRUE,0); gtk_container_add (GTK_CONTAINER(self), main_vbox); - restore_sizes (MODEST_MAIN_WINDOW(self)); - + restore_sizes (MODEST_MAIN_WINDOW(self)); + gtk_window_set_title (GTK_WINDOW(self), _("Modest")); gtk_window_set_icon_from_file (GTK_WINDOW(self), MODEST_APP_ICON, NULL); gtk_widget_show_all (main_vbox); - /* 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); +/* /\* 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); */ /* Connect signals */ connect_signals (self); @@ -495,13 +463,13 @@ modest_main_window_new (void) tny_account_store_view_set_account_store (TNY_ACCOUNT_STORE_VIEW (priv->folder_view), TNY_ACCOUNT_STORE (modest_runtime_get_account_store ())); g_idle_add ((GSourceFunc)sync_accounts_cb, self); - /* do send & receive when we are idle */ - - return MODEST_WINDOW(self); -} - - - + /* do send & receive when we are idle */ + g_message ("online? %s", + tny_device_is_online (modest_runtime_get_device()) ? "yes" : "no"); + /* Needed to show the contents of the toolbar */ + gtk_widget_show_all (GTK_WIDGET (self)); + return MODEST_WINDOW(self); +}