Create a new PidginContactList widget that shows the PurplePersons that PurpleContactManager is tracking

Review Request #2146 — Created Dec. 16, 2022 and submitted

grim
pidgin/pidgin
default
pidgin

This has a few caveats with it.

First of all, we're using closures just to make stuff work for now since we can't bind properties. A side effect of that, is that the list won't update when the property changes on the Person/Contact. That will be fixed later as we clean up a bunch of stuff like porting PidginAvatar to PurpleAvatar.

For the text, I skipped the status messages and idle times for now because they won't update as their not bound properties and will require cleaning up the status API to make that work at all.

Person/Contact don't have a name-for-display property, so right now that's implemented as a closure as well.

I also skipped search and sorting for now, to keep the review size small.

Regardless, this looks pretty snazzy if I do say so!

Ran the program and verified stuff was working.

Summary
Create a new PidginContactList widget that shows the PurplePersons that PurpleContactManager is tracking

Description From Last Updated

Should refresh for /r/2151, I think?

QuLogicQuLogic

Bit of an odd indent; I think we usually drop these nested ones to column 0.

QuLogicQuLogic

s/than/that/

QuLogicQuLogic
grim
QuLogic
  1. 
      
  2. Should refresh for /r/2151, I think?

  3. pidgin/resources/ContactList/widget.ui (Diff revision 2)
     
     
     

    Bit of an odd indent; I think we usually drop these nested ones to column 0.

  4. pidgin/resources/ContactList/widget.ui (Diff revision 2)
     
     

    s/than/that/

  5. 
      
grim
QuLogic
  1. 
      
  2. libpurple/purplecontactmanager.c (Diff revision 3)
     
     
     
     

    Sorry, I'm missing what adding this does?

    1. The contact manager watches the person property on purple_contact and then updates accordingly. I'm not super happy with this setup as it's not at all obvious, but having to manually add people to the contact manager seemed like overkill.

    2. Ah okay, this whole function is temporary until PurpleBuddy is gone, right?

    3. Correct, the manager does the rest of this on it's own based on whether or not the contact has a person. Which what we're mimicing here.

  3. 
      
QuLogic
  1. Ship It!
  2. 
      
grim
Review request changed

Status: Closed (submitted)

Loading...