2010-01-23 [pawel] 3.7.4cvs10
[claws.git] / src / addressbook.c
index 3f91c60466a2fd6d43a1d57c6c4452b7cd551f18..f9161ec6900e29e66c37943b3cc839a80a8f4881 100644 (file)
@@ -665,7 +665,6 @@ void addressbook_destroy( void ) {
 void addressbook_set_target_compose(Compose *target)
 {
        addrbook.target_compose = target;
-       addressbook_button_set_sensitive();
 }
 
 Compose *addressbook_get_target_compose(void)
@@ -1409,25 +1408,6 @@ static void addressbook_ds_show_message( AddressDataSource *ds ) {
        addressbook_status_show( addressbook_msgbuf );
 }
 
-static void addressbook_button_set_sensitive(void)
-{
-       gboolean to_sens  = FALSE;
-       gboolean cc_sens  = FALSE;
-       gboolean bcc_sens = FALSE;
-
-       if (!addrbook.window) return;
-
-       if (addrbook.target_compose) {
-               to_sens = TRUE;
-               cc_sens = TRUE;
-               bcc_sens = TRUE;
-       }
-
-       gtk_widget_set_sensitive(addrbook.to_btn, to_sens);
-       gtk_widget_set_sensitive(addrbook.cc_btn, cc_sens);
-       gtk_widget_set_sensitive(addrbook.bcc_btn, bcc_sens);
-}
-
 static void addressbook_edit_clicked(GtkButton *button, gpointer data)
 {
        addressbook_edit_address_cb(NULL, NULL);
@@ -1766,7 +1746,7 @@ static void addressbook_to_clicked(GtkButton *button, gpointer data)
        addr = (char *)gtk_entry_get_text( GTK_ENTRY( addrbook.entry) );
        if ( addr ) {
                compose_entry_append(
-                       compose, addr, (ComposeEntryType)data );
+                       compose, addr, (ComposeEntryType)data , PREF_NONE);
        }
 
        /* Select from address list */
@@ -1781,7 +1761,7 @@ static void addressbook_to_clicked(GtkButton *button, gpointer data)
                            aio->type == ADDR_ITEM_EMAIL ) {
                                addr = addressbook_format_address( aio );
                                compose_entry_append(
-                                       compose, addr, (ComposeEntryType) data );
+                                       compose, addr, (ComposeEntryType) data, PREF_NONE );
                                g_free( addr );
                        }
                        else if( aio->type == ADDR_ITEM_GROUP ) {
@@ -1793,7 +1773,7 @@ static void addressbook_to_clicked(GtkButton *button, gpointer data)
                                        addr = addressbook_format_address(
                                                        ( AddrItemObject * ) email );
                                        compose_entry_append(
-                                               compose, addr, (ComposeEntryType) data );
+                                               compose, addr, (ComposeEntryType) data, PREF_NONE );
                                        g_free( addr );
                                        nodeMail = g_list_next( nodeMail );
                                }
@@ -1813,7 +1793,7 @@ static void addressbook_to_clicked(GtkButton *button, gpointer data)
                                addr = addressbook_format_address(
                                                ( AddrItemObject * ) email );
                                compose_entry_append(
-                                       compose, addr, (ComposeEntryType) data );
+                                       compose, addr, (ComposeEntryType) data, PREF_NONE );
                                g_free( addr );
                                nodeMail = g_list_next( nodeMail );
                        }
@@ -2134,6 +2114,11 @@ static void addressbook_list_menu_setup( void ) {
        gtk_widget_set_sensitive( addrbook.edit_btn, canEdit );
        gtk_widget_set_sensitive( addrbook.del_btn, canDelete );
 
+       if (addrbook.target_compose) {
+               gtk_widget_set_sensitive(addrbook.to_btn, obj ? TRUE : FALSE);  
+               gtk_widget_set_sensitive(addrbook.cc_btn, obj ? TRUE : FALSE);
+               gtk_widget_set_sensitive(addrbook.bcc_btn, obj ? TRUE : FALSE);
+       }
 #ifdef USE_LDAP
        cm_menu_set_sensitive_full( addrbook.ui_manager, "Popups/ABListPopup/BrowseEntry",    canBrowse );
 #endif
@@ -4788,17 +4773,28 @@ static void addrbookctl_build_icons( GtkWidget *window ) {
        AddressTypeControlItem *atci;
 
        /* Build icons */
-       g_object_unref(interfacexpm);
-       g_object_unref(folderxpm);
-       g_object_unref(folderopenxpm);
-       g_object_unref(groupxpm);
-       g_object_unref(vcardxpm);
-       g_object_unref(bookxpm);
-       g_object_unref(addressxpm);
-       g_object_unref(jpilotxpm);
-       g_object_unref(categoryxpm);
-       g_object_unref(ldapxpm);
-       g_object_unref(addrsearchxpm);
+       if (interfacexpm)
+               g_object_unref(interfacexpm);
+       if (folderxpm)
+               g_object_unref(folderxpm);
+       if (folderopenxpm)
+               g_object_unref(folderopenxpm);
+       if (groupxpm)
+               g_object_unref(groupxpm);
+       if (vcardxpm)
+               g_object_unref(vcardxpm);
+       if (bookxpm)
+               g_object_unref(bookxpm);
+       if (addressxpm)
+               g_object_unref(addressxpm);
+       if (jpilotxpm)
+               g_object_unref(jpilotxpm);
+       if (categoryxpm)
+               g_object_unref(categoryxpm);
+       if (ldapxpm)
+               g_object_unref(ldapxpm);
+       if (addrsearchxpm)
+               g_object_unref(addrsearchxpm);
        stock_pixbuf_gdk(window, STOCK_PIXMAP_INTERFACE, &interfacexpm );
        stock_pixbuf_gdk(window, STOCK_PIXMAP_DIR_CLOSE, &folderxpm);
        stock_pixbuf_gdk(window, STOCK_PIXMAP_DIR_OPEN, &folderopenxpm);