[Pidgin] #5876: ability to hide away/idle buddies as well as mobile buddies

Pidgin trac at pidgin.im
Mon Sep 22 12:45:27 EDT 2008


#5876: ability to hide away/idle buddies as well as mobile buddies
-----------------------------------------+----------------------------------
 Reporter:  sumitk                       |        Owner:              
     Type:  patch                        |       Status:  new         
Milestone:  Patches Needing Improvement  |    Component:  pidgin (gtk)
  Version:  2.4.2                        |   Resolution:              
 Keywords:                               |  
-----------------------------------------+----------------------------------

Comment(by rlaager):

 I'm finally getting back to looking at this. Looking at sumitk's
 hideaway_nocore.patch, I think we're on the right track. However, I see
 the following issues at a quick glance:

 1. It uses // comments. Those should be replaced with /* */ style
 comments, which is trivial.

 2. Why are you checking for PURPLE_BLIST_NODE_FLAG_NO_SAVE? What does that
 accomplish? (I'm not saying it's not useful, just that I'm suspicious and
 would like to know the rationale behind it being there.)

 3. This one is longer:

 In the function to set show_away (gtk_blist_menu_showaway_cb), you're
 setting show_away recursively on groups and contacts. This is wrong,
 because if you move/add a buddy to that contact or group, it won't have
 the setting set the way you'd expect.

 I doubt it's useful to be able to show an entire group's contacts when
 away, so that can probably be ignored and no such option shown on groups.
 For buddies vs. contacts, is it useful to override this on the buddy
 level? I'd guess it's probably not. So, unless someone has a good use case
 to the contrary, I think this should be limited to the contact level.

 Thus, you'd only show the right-click option on contacts or collapsed
 primary buddies. (The "Set Custom Icon" option might be a good example for
 you to look at in this respect.) In any case, when the callback is called,
 you'd check to see if it's buddy or contact, and set it on the contact.
 (So if it's a buddy, you set it on that buddy's contact, otherwise you set
 it on the contact directly.)

-- 
Ticket URL: <http://developer.pidgin.im/ticket/5876#comment:25>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list