[balsa] Improve pop-up menu positioning
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] Improve pop-up menu positioning
- Date: Mon, 24 Oct 2016 13:15:46 +0000 (UTC)
commit 3123bffcfc2f5833b535b8ea86455a9fcf6f8e5b
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Sun Oct 23 23:23:18 2016 -0400
Improve pop-up menu positioning
* src/pref-manager.c (remote_mailbox_servers_group): use a
common helper to connect to "clicked-up" signal;
(address_books_group): ditto;
(add_menu_cb): common helper;
ChangeLog | 9 +++++++++
src/pref-manager.c | 27 ++++++---------------------
2 files changed, 15 insertions(+), 21 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 8495bc7..2b0168a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2016-10-23 Peter Bloomfield <pbloomfield bellsouth net>
+ Improve pop-up menu positioning.
+
+ * src/pref-manager.c (remote_mailbox_servers_group): use a
+ common helper to connect to "clicked-up" signal;
+ (address_books_group): ditto;
+ (add_menu_cb): common helper;
+
+2016-10-23 Peter Bloomfield <pbloomfield bellsouth net>
+
Do not crash after cancelling the add-address-book dialog.
* src/address-book-config.c (edit_book_response): do not free
diff --git a/src/pref-manager.c b/src/pref-manager.c
index 31744e7..b4d5296 100644
--- a/src/pref-manager.c
+++ b/src/pref-manager.c
@@ -340,7 +340,7 @@ static void properties_modified_cb(GtkWidget * widget, GtkWidget * pbox);
static void server_edit_cb(GtkTreeView * tree_view);
static void pop3_add_cb(void);
-static void server_add_cb(GtkWidget * menu);
+static void add_menu_cb(GtkWidget * menu, GtkWidget * widget);
static void server_del_cb(GtkTreeView * tree_view);
#if ENABLE_ESMTP
@@ -352,7 +352,6 @@ static void smtp_server_changed (GtkTreeSelection * selection,
#endif /* ENABLE_ESMTP */
static void address_book_edit_cb(GtkTreeView * tree_view);
-static void address_book_add_cb(GtkWidget * menu);
static void address_book_delete_cb(GtkTreeView * tree_view);
static void address_book_set_default_cb(GtkTreeView * tree_view);
static void timer_modified_cb(GtkWidget * widget, GtkWidget * pbox);
@@ -1693,7 +1692,7 @@ remote_mailbox_servers_group(GtkWidget * page)
g_object_weak_ref(G_OBJECT(vbox), (GWeakNotify) g_object_unref,
server_add_menu);
g_object_ref_sink(server_add_menu);
- add_button_to_box(_("_Add"), G_CALLBACK(server_add_cb),
+ add_button_to_box(_("_Add"), G_CALLBACK(add_menu_cb),
server_add_menu, vbox);
add_button_to_box(_("_Modify"), G_CALLBACK(server_edit_cb),
@@ -2867,7 +2866,7 @@ address_books_group(GtkWidget * page)
address_book_add_menu);
g_object_ref_sink(address_book_add_menu);
add_button_to_box(_("_Add"),
- G_CALLBACK(address_book_add_cb),
+ G_CALLBACK(add_menu_cb),
address_book_add_menu, vbox);
add_button_to_box(_("_Modify"),
@@ -3128,12 +3127,12 @@ address_book_set_default_cb(GtkTreeView * tree_view)
}
static void
-address_book_add_cb(GtkWidget * menu)
+add_menu_cb(GtkWidget * menu, GtkWidget * widget)
{
gtk_widget_show_all(menu);
#if GTK_CHECK_VERSION(3, 22, 0)
- gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(pui->view),
- GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
+ gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(widget),
+ GDK_GRAVITY_NORTH_WEST, GDK_GRAVITY_NORTH_WEST,
NULL);
#else /*GTK_CHECK_VERSION(3, 22, 0) */
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0,
@@ -3174,20 +3173,6 @@ pop3_add_cb(void)
mailbox_conf_new(LIBBALSA_TYPE_MAILBOX_POP3);
}
-static void
-server_add_cb(GtkWidget * menu)
-{
- gtk_widget_show_all(menu);
-#if GTK_CHECK_VERSION(3, 22, 0)
- gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(pui->view),
- GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
- NULL);
-#else /*GTK_CHECK_VERSION(3, 22, 0) */
- gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0,
- gtk_get_current_event_time());
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
-}
-
static GtkWidget *
server_add_menu_widget(void)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]