ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/src edit_group_window.c,1.8,1.9 service.h,1.


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/src edit_group_window.c,1.8,1.9 service.h,1.8,1.9 status.c,1.29,1.30 util.c,1.22,1.23 util.h,1.11,1.12
Date: Tue, 21 Jan 2003 08:22:49 -0500

Update of /cvsroot/ayttm/ayttm/src
In directory subversions:/tmp/cvs-serv7206/src

Modified Files:
        edit_group_window.c service.h status.c util.c util.h 
Log Message:
service->add_group & service->rename_group


Index: edit_group_window.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/edit_group_window.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- edit_group_window.c 16 Jan 2003 13:11:01 -0000      1.8
+++ edit_group_window.c 21 Jan 2003 13:22:22 -0000      1.9
@@ -43,15 +43,10 @@
        ||  strlen(gtk_entry_get_text(GTK_ENTRY(group_name))) == 0)
                return;
        if (current_group) { /*edit*/
-               strcpy(current_group->name, 
gtk_entry_get_text(GTK_ENTRY(group_name)));
-
-               gtk_label_set_text(GTK_LABEL(current_group->label),
-                                  current_group->name);
+               rename_group(current_group, 
gtk_entry_get_text(GTK_ENTRY(group_name)));
        } else { /*add*/
                add_group(gtk_entry_get_text(GTK_ENTRY(group_name)));
        }
-       update_contact_list ();
-       write_contact_list();
        gtk_widget_destroy(edit_group_window);
 }
 

Index: service.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/service.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- service.h   20 Jan 2003 18:09:44 -0000      1.8
+++ service.h   21 Jan 2003 13:22:22 -0000      1.9
@@ -104,6 +104,10 @@
           unspecified results if called with a non-empty group ! */
        void (*del_group)(gchar *group);
        
+       void (*add_group)(gchar *group);
+       
+       void (*rename_group)(gchar *old_group, gchar *new_group);
+
        /*Informs the service of an account that it needs to manage*/
        gboolean (*is_suitable)(eb_local_account *local, eb_account *remote);
 

Index: status.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/status.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- status.c    21 Jan 2003 10:03:43 -0000      1.29
+++ status.c    21 Jan 2003 13:22:22 -0000      1.30
@@ -210,7 +210,7 @@
     {
       struct contact * conn = (struct contact *) d;
 
-      eb_debug(DBG_CORE, "Delete Account");
+      eb_debug(DBG_CORE, "Delete Contact\n");
       remove_contact (conn);
       
       update_contact_list ();
@@ -235,7 +235,7 @@
 {
   if (gtk_object_get_user_data (GTK_OBJECT(w)) != 0)
     {
-      eb_debug(DBG_CORE, "Delete Account");
+      eb_debug(DBG_CORE, "Delete Account\n");
       remove_account(d);
       
       update_contact_list ();

Index: util.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/util.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- util.c      21 Jan 2003 12:11:52 -0000      1.22
+++ util.c      21 Jan 2003 13:22:22 -0000      1.23
@@ -1199,13 +1199,47 @@
 
 void add_group( gchar * name )
 {
+    GList *node = NULL;
     grouplist g, *eg;
     strncpy(g.name, name,255);
     g.members = NULL;
        g.list_item = NULL;
    
     groups = g_list_append( groups, eg = g_memdup(&g, sizeof(grouplist)));
-       add_group_line(eg);
+    add_group_line(eg);
+
+    for( node = accounts; node; node = node->next ) {
+       eb_local_account * ela = (eb_local_account *)(node->data);
+       if (ela->connected && RUN_SERVICE(ela)->add_group) {
+               eb_debug(DBG_CORE, "adding group %s in %s\n",
+                               name, get_service_name(ela->service_id));
+               RUN_SERVICE(ela)->add_group(name);
+       }
+    }
+    update_contact_list ();
+    write_contact_list();
+}
+
+void rename_group( grouplist *current_group, gchar * new_name )
+{
+    GList *node = NULL;
+    char oldname[NAME_MAX];
+    
+    strcpy (oldname, current_group->name);
+    strcpy (current_group->name, new_name);
+    gtk_label_set_text(GTK_LABEL(current_group->label),
+                                  current_group->name);
+    update_contact_list ();
+    write_contact_list();
+    
+    for( node = accounts; node; node = node->next ) {
+       eb_local_account * ela = (eb_local_account *)(node->data);
+       if (ela->connected && RUN_SERVICE(ela)->rename_group) {
+               eb_debug(DBG_CORE, "renaming group %s to %s in %s\n",
+                               oldname, new_name, 
get_service_name(ela->service_id));
+               RUN_SERVICE(ela)->rename_group(oldname, new_name);
+       }
+    }
 }
 
 

Index: util.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/util.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- util.h      21 Jan 2003 05:31:19 -0000      1.11
+++ util.h      21 Jan 2003 13:22:22 -0000      1.12
@@ -109,6 +109,7 @@
 void rename_contact( struct contact * c, char *newname);
 void remove_group( grouplist * g );
 void add_group( gchar * name );
+void rename_group( grouplist *g, gchar * new_name );
 struct contact * add_new_contact( gchar * group, gchar * con, gint type );
 void add_unknown( eb_account * ea );
 void add_unknown_with_name( eb_account * ea, gchar * name );





reply via email to

[Prev in Thread] Current Thread [Next in Thread]