From: Tristan Chabredier Date: Thu, 18 Jan 2007 18:49:47 +0000 (+0000) Subject: 2007-01-18 [wwp] 2.7.1cvs27 X-Git-Tag: rel_2_8_0~111 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=c25a6e6f2788254bf393fb6d22babc1f415068a2;hp=1aba43b6a5ed3d3c3748b99a73ca556baae5029f 2007-01-18 [wwp] 2.7.1cvs27 * src/addressbook.c fix conflicting address-copy/paste when focus is set to the embedded edit-person form. --- diff --git a/ChangeLog b/ChangeLog index bd974fc01..6037a1801 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-01-18 [wwp] 2.7.1cvs27 + + * src/addressbook.c + fix conflicting address-copy/paste when focus is set + to the embedded edit-person form. + + 2007-01-18 [wwp] 2.7.1cvs26 * src/addressbook.h diff --git a/PATCHSETS b/PATCHSETS index 6e3152f86..8ea8d08e9 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -2284,3 +2284,4 @@ ( cvs diff -u -r 1.14.2.20 -r 1.14.2.21 src/editaddress.c; ) > 2.7.1cvs24.patchset ( cvs diff -u -r 1.115.2.125 -r 1.115.2.126 src/main.c; ) > 2.7.1cvs25.patchset ( cvs diff -u -r 1.18.2.6 -r 1.18.2.7 src/addressbook.h; ) > 2.7.1cvs26.patchset +( cvs diff -u -r 1.60.2.76 -r 1.60.2.77 src/addressbook.c; ) > 2.7.1cvs27.patchset diff --git a/configure.ac b/configure.ac index b1a8576e9..fd03ffe57 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=7 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=26 +EXTRA_VERSION=27 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/addressbook.c b/src/addressbook.c index 7d3ba9711..f165cc6a6 100644 --- a/src/addressbook.c +++ b/src/addressbook.c @@ -815,6 +815,9 @@ static gboolean addressbook_address_index_focus_evt_out(GtkWidget *widget, GdkEv gpointer data) { address_index_has_focus = FALSE; + if (!prefs_common.addressbook_use_editaddress_dialog + && !address_list_has_focus) + addressbook_address_list_disable_some_actions(); return FALSE; } @@ -829,6 +832,9 @@ static gboolean addressbook_address_list_focus_evt_out(GtkWidget *widget, GdkEve gpointer data) { address_list_has_focus = FALSE; + if (!prefs_common.addressbook_use_editaddress_dialog + && !address_index_has_focus) + addressbook_address_list_disable_some_actions(); return FALSE; } @@ -2974,10 +2980,22 @@ void addressbook_address_list_set_focus( void ) { if (!prefs_common.addressbook_use_editaddress_dialog) { gtk_window_set_focus(GTK_WINDOW(addrbook.window), addrbook.clist); -fprintf(stderr, "addressbook_address_list_set_focus: %p\n", addrbook.listSelected ); + addressbook_list_menu_setup(); } } +void addressbook_address_list_disable_some_actions(void) +{ + /* disable address copy/pasting when editing contact's detail (embedded form) */ + menu_set_sensitive( addrbook.menu_factory, "/Address/Cut", FALSE ); + menu_set_sensitive( addrbook.menu_factory, "/Address/Copy", FALSE ); + menu_set_sensitive( addrbook.menu_factory, "/Address/Paste", FALSE ); + + /* we're already editing contact's detail here */ + menu_set_sensitive( addrbook.menu_factory, "/Address/Edit", FALSE ); + gtk_widget_set_sensitive( addrbook.edit_btn, FALSE ); +} + static void addressbook_edit_address_cb( gpointer data, guint action, GtkWidget *widget ) { addressbook_edit_address(data, action, widget, TRUE); }