+
+static void
+set_homogeneous (GtkWidget *widget,
+ gpointer data)
+{
+ gtk_tool_item_set_expand (GTK_TOOL_ITEM (widget), TRUE);
+ gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (widget), TRUE);
+}
+
+static void
+modest_main_window_create_toolbar (ModestWindow *self)
+{
+ GtkWidget *reply_button, *menu;
+ ModestWindowPrivate *parent_priv;
+
+ parent_priv = MODEST_WINDOW_GET_PRIVATE(self);
+
+ /* Toolbar */
+ parent_priv->toolbar = gtk_ui_manager_get_widget (parent_priv->ui_manager,
+ "/ToolBar");
+
+ /* Set homogeneous toolbar */
+ gtk_container_foreach (GTK_CONTAINER (parent_priv->toolbar),
+ set_homogeneous, NULL);
+
+ /* Set reply message tap and hold menu */
+ reply_button = gtk_ui_manager_get_widget (parent_priv->ui_manager,
+ "/ToolBar/ToolbarMessageReply");
+
+ menu = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolbarReplyContextMenu");
+ gtk_widget_tap_and_hold_setup (GTK_WIDGET (reply_button), menu, NULL, 0);
+}
+
+static void
+modest_main_window_show_toolbar (ModestWindow *self,
+ gboolean show_toolbar)
+{
+ ModestWindowPrivate *parent_priv;
+
+ parent_priv = MODEST_WINDOW_GET_PRIVATE(self);
+
+ if (!parent_priv->toolbar)
+ return;
+
+ if (show_toolbar)
+ hildon_window_add_toolbar (HILDON_WINDOW (self),
+ GTK_TOOLBAR (parent_priv->toolbar));
+ else
+ hildon_window_remove_toolbar (HILDON_WINDOW (self),
+ GTK_TOOLBAR (parent_priv->toolbar));
+
+ /* Needed to show the contents of the toolbar */
+ gtk_widget_show_all (GTK_WIDGET (self));
+}