priv = MODEST_SHELL_WINDOW_GET_PRIVATE (self);
menu_item = gtk_menu_item_new_with_label (label);
- g_signal_connect_after (G_OBJECT (menu_item), "activate-item",
- G_CALLBACK (callback), (gpointer) self);
+ g_signal_connect (G_OBJECT (menu_item), "activate",
+ G_CALLBACK (callback), (gpointer) self);
if (accelerator != NULL) {
guint accel_key;
} else {
gtk_widget_destroy (menu_item);
}
+ gtk_widget_show (menu_item);
}
static void
static void update_title (ModestShell *self);
static void on_back_button_clicked (GtkToolButton *button, ModestShell *self);
+static void on_title_button_clicked (GtkToolButton *button, ModestShell *self);
typedef struct _ModestShellPrivate ModestShellPrivate;
gtk_toolbar_insert (GTK_TOOLBAR (priv->top_toolbar), priv->title_button, -1);
gtk_container_child_set (GTK_CONTAINER (priv->top_toolbar), GTK_WIDGET (priv->title_button), "expand", TRUE, NULL);
g_object_set (priv->title_button, "is-important", TRUE, NULL);
+ g_signal_connect (G_OBJECT (priv->title_button), "clicked", G_CALLBACK (on_title_button_clicked), obj);
priv->notebook = gtk_notebook_new ();
gtk_widget_show (priv->notebook);
update_title (self);
}
}
+
+static void
+on_title_button_clicked (GtkToolButton *button, ModestShell *self)
+{
+ ModestShellPrivate *priv;
+ gint n_pages;
+ gboolean delete_event_retval;
+ GtkWidget *child;
+ GtkWidget *menu;
+
+ priv = MODEST_SHELL_GET_PRIVATE (self);
+
+ n_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook));
+ if (n_pages < 1)
+ return;
+
+ child = gtk_notebook_get_nth_page (GTK_NOTEBOOK (priv->notebook), -1);
+ menu = modest_shell_window_get_menu (MODEST_SHELL_WINDOW (child));
+
+ if (menu) {
+ gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 1, gtk_get_current_event_time ());
+ }
+}