bigboard r7262 - trunk/bigboard/stocks/people



Author: otaylor
Date: Wed Feb 20 23:10:06 2008
New Revision: 7262
URL: http://svn.gnome.org/viewvc/bigboard?rev=7262&view=rev

Log:
- Remove the 'add to network' link
- Implicitly add to network when the Top/Middle/Bottom link is clicked


Modified:
   trunk/bigboard/stocks/people/peoplewidgets.py

Modified: trunk/bigboard/stocks/people/peoplewidgets.py
==============================================================================
--- trunk/bigboard/stocks/people/peoplewidgets.py	(original)
+++ trunk/bigboard/stocks/people/peoplewidgets.py	Wed Feb 20 23:10:06 2008
@@ -575,15 +575,11 @@
         self.append(self.__contact_status_box)
 
         if person.contact:
-            self.__add_link = None
             self.__remove_link = linkklass()
             self.__remove_link.connect('activated', self.__remove_from_network_clicked)
             self.append(self.__remove_link)
         else:
             self.__remove_link = None
-            self.__add_link = linkklass(text=('Add %s to network' % self.person.display_name))
-            self.__add_link.connect('activated', self.__add_to_network_clicked)
-            self.append(self.__add_link)
         
 #        self.__online = hippo.CanvasText(text='Offline')
 #        self.append(self.__online)
@@ -630,18 +626,24 @@
         if current_status == new_status:
             link = textklass(text=text)
         else:
-            def set_new_status(object):
-                model = globals.get_data_model()
-                query = model.update(("http://mugshot.org/p/contacts";, "setContactStatus"),
-                                     contact=self.person.contact,
-                                     status=new_status)
-                query.execute()
-        
             link = linkklass(text=text)
-            link.connect("activated", set_new_status)
+            link.connect("activated", self.__set_new_status, new_status)
         
         self.__contact_status_box.append(link)
 
+    def __set_new_status(self, link, new_status):
+        def do_set_status(contact):
+            model = globals.get_data_model()
+            query = model.update(("http://mugshot.org/p/contacts";, "setContactStatus"),
+                                 contact=contact,
+                                 status=new_status)
+            query.execute()
+
+        if self.person.contact:
+            do_set_status(self.person.contact)
+        else:
+            self.__add_to_network(do_set_status)
+        
     def __remove_from_network_clicked(self, link):
 
         dialog = gtk.MessageDialog(type=gtk.MESSAGE_QUESTION)
@@ -764,12 +766,6 @@
         elif self.person.local_buddies:
             self.__create_user_contact(self.person.local_buddies[0].user, after_add, after_add_args)
         
-    def __add_to_network_clicked(self, link):
-        self.__add_to_network()
-
-        # action_taken = False to leave the stock open which seems nicer in this case
-        self.emit("close", False)
-
     def __update_contact_status(self, person):
         self.__contact_status_box.remove_all()
         



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