#include <modest-osso-state-saving.h>
#include <libosso.h>
#include <hildon/hildon-pannable-area.h>
+#include <hildon/hildon-helper.h>
#include <modest-window-mgr.h>
#include <modest-window-priv.h>
#include <modest-signal-mgr.h>
GtkWidget *empty_view;
GtkWidget *contents_view;
GtkWidget *top_vbox;
+ GtkWidget *new_message_button;
/* state bar */
ContentsState contents_state;
static void modest_header_window_disconnect_signals (ModestWindow *self);
static void setup_menu (ModestHeaderWindow *self);
-static GtkWidget *create_empty_view (void);
+static GtkWidget *create_empty_view (ModestWindow *self);
static GtkWidget *create_header_view (ModestWindow *progress_window,
TnyFolder *folder);
static GtkWindowClass *parent_class = NULL;
#define EMPTYVIEW_XALIGN 0.5
-#define EMPTYVIEW_YALIGN 0.0
+#define EMPTYVIEW_YALIGN 0.5
#define EMPTYVIEW_XSPACE 1.0
-#define EMPTYVIEW_YSPACE 0.0
+#define EMPTYVIEW_YSPACE 1.0
priv->queue_change_handler = 0;
priv->current_store_account = NULL;
priv->sort_button = NULL;
+ priv->new_message_button = NULL;
modest_window_mgr_register_help_id (modest_runtime_get_window_mgr(),
GTK_WINDOW(obj),
G_OBJECT (modest_runtime_get_window_mgr ()),
"progress-list-changed",
G_CALLBACK (on_progress_list_changed), self);
+ priv->sighandlers =
+ modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT (priv->new_message_button),
+ "clicked",
+ G_CALLBACK (modest_ui_actions_on_new_msg), self);
}
static GtkWidget *
}
static GtkWidget *
-create_empty_view (void)
+create_empty_view (ModestWindow *self)
{
GtkWidget *label = NULL;
GtkWidget *align = NULL;
+ GtkWidget *vbox = NULL;
+ GtkWidget *button = NULL;
+ GdkPixbuf *new_message_pixbuf;
+
+ vbox = gtk_vbox_new (0, FALSE);
align = gtk_alignment_new(EMPTYVIEW_XALIGN, EMPTYVIEW_YALIGN, EMPTYVIEW_XSPACE, EMPTYVIEW_YSPACE);
label = gtk_label_new (_("mcen_ia_nomessages"));
+ hildon_helper_set_logical_font (label, "LargeSystemFont");
+ gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5);
gtk_widget_show (label);
gtk_widget_show (align);
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER);
gtk_container_add (GTK_CONTAINER (align), label);
+ gtk_box_pack_end (GTK_BOX (vbox), align, TRUE, TRUE, 0);
+
+ button = hildon_button_new (MODEST_EDITABLE_SIZE,
+ HILDON_BUTTON_ARRANGEMENT_HORIZONTAL);
+
+ hildon_button_set_title (HILDON_BUTTON (button), _("mcen_ti_new_message"));
+ new_message_pixbuf = modest_platform_get_icon ("general_add", MODEST_ICON_SIZE_BIG);
+ hildon_button_set_image (HILDON_BUTTON (button),
+ gtk_image_new_from_pixbuf (new_message_pixbuf));
+ g_object_unref (new_message_pixbuf);
+ gtk_widget_show_all (button);
+ gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+
+ gtk_widget_show (vbox);
- return align;
+ g_signal_connect (button,
+ "clicked",
+ G_CALLBACK (modest_ui_actions_on_new_msg), self);
+
+ return vbox;
}
static void
ModestAccountMgr *mgr;
ModestAccountSettings *settings = NULL;
ModestServerAccountSettings *store_settings = NULL;
+ GtkWidget *action_area_box;
+ GdkPixbuf *new_message_pixbuf;
+ GtkWidget *alignment;
self = MODEST_HEADER_WINDOW(g_object_new(MODEST_TYPE_HEADER_WINDOW, NULL));
priv = MODEST_HEADER_WINDOW_GET_PRIVATE(self);
priv->folder = g_object_ref (folder);
priv->contents_view = hildon_pannable_area_new ();
+ alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment),
+ 0, 0,
+ HILDON_MARGIN_DOUBLE, HILDON_MARGIN_DOUBLE);
/* We need to do this here to properly listen for mail
operations because create_header_view launches a mail
self);
priv->header_view = create_header_view (MODEST_WINDOW (self), folder);
- priv->empty_view = create_empty_view ();
+ priv->empty_view = create_empty_view (MODEST_WINDOW (self));
/* Transform the floating reference in a "hard" reference. We
need to do this because the widgets could be added/removed
g_signal_connect (G_OBJECT (self), "edit-mode-changed",
G_CALLBACK (edit_mode_changed), (gpointer) self);
+
+ action_area_box = hildon_tree_view_get_action_area_box (GTK_TREE_VIEW (priv->header_view));
+ priv->new_message_button = hildon_button_new (0, HILDON_BUTTON_ARRANGEMENT_HORIZONTAL);
+
+ hildon_button_set_title (HILDON_BUTTON (priv->new_message_button), _("mcen_ti_new_message"));
+ new_message_pixbuf = modest_platform_get_icon ("general_add", MODEST_ICON_SIZE_BIG);
+ hildon_button_set_image (HILDON_BUTTON (priv->new_message_button), gtk_image_new_from_pixbuf (new_message_pixbuf));
+ g_object_unref (new_message_pixbuf);
+
+ gtk_box_pack_start (GTK_BOX (action_area_box), priv->new_message_button, TRUE, TRUE, 0);
+ gtk_widget_show_all (priv->new_message_button);
+ hildon_tree_view_set_action_area_visible (GTK_TREE_VIEW (priv->header_view), TRUE);
+
setup_menu (self);
priv->top_vbox = gtk_vbox_new (FALSE, 0);
- gtk_box_pack_end (GTK_BOX (priv->top_vbox), priv->contents_view, TRUE, TRUE, 0);
+ gtk_container_add (GTK_CONTAINER (alignment), priv->contents_view);
+ gtk_box_pack_end (GTK_BOX (priv->top_vbox), alignment, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (self), priv->top_vbox);
+ gtk_widget_show (alignment);
gtk_widget_show (priv->contents_view);
gtk_widget_show (priv->top_vbox);
hildon_button_set_title (HILDON_BUTTON (priv->sort_button), _("mcen_me_sort"));
g_signal_connect (G_OBJECT (priv->sort_button), "clicked",
G_CALLBACK (modest_ui_actions_on_sort), (gpointer) self);
+ hildon_button_set_style(HILDON_BUTTON (priv->sort_button), HILDON_BUTTON_STYLE_PICKER);
modest_hildon2_window_add_button_to_menu (MODEST_HILDON2_WINDOW (self), GTK_BUTTON (priv->sort_button),
modest_ui_dimming_rules_on_sort);
modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_inbox_sendandreceive"), NULL,
break;
}
+ hildon_tree_view_set_action_area_visible (GTK_TREE_VIEW (priv->header_view), !enabled);
if (enabled) {
modest_header_view_set_filter (MODEST_HEADER_VIEW (priv->header_view),
filter);