Rework the way roomlists work so we can more easily port them to GTK4

Review Request #1293 — Created Feb. 8, 2022 and submitted

Information

pidgin/pidgin
default

Reviewers

Rework the way roomlists work so we can more easily port them to GTK4

Joined rooms on XMPP via the buttons, double clicking, and the context menu.

Summary ID
Rework the way roomlists work so we can more easily port them to GTK4
85cd7833df73e33edfedff861455ea4e4941cce1
Description From Last Updated

To be done now, or ...?

QuLogicQuLogic

Is this a user count that can be passed to _set_user_count, or a list of usernames?

QuLogicQuLogic

Can this be passed to _set_user_count?

QuLogicQuLogic

It doesn't look like you're setting the channel field? That is used by the irc_chat_join vfunc.

QuLogicQuLogic

Seems like name was previously the description?

QuLogicQuLogic

Don't you need the room field for the join_chat vfunc to work?

QuLogicQuLogic

Same here as irc about the channel field.

QuLogicQuLogic

Should be spaces?

QuLogicQuLogic

field is going to leak since there is no key destroy function, but it seems like everywhere else uses a …

QuLogicQuLogic

whose

QuLogicQuLogic

This is gone, too.

QuLogicQuLogic

Since purple_roomlist_room_get_components is transfer none, this modifies the hash table on the room object directly. Should there be a copy?

QuLogicQuLogic

Weird indent.

QuLogicQuLogic

Doing this after do_join_cb would make more sense, and maybe not need the comment?

QuLogicQuLogic

These both seem to be unused?

QuLogicQuLogic

Seems unrelated, but okay.

QuLogicQuLogic

Do you need this model, since it's set at runtime? (Or it doesn't need to be set at runtime?)

QuLogicQuLogic
QuLogic
  1. 
      
  2. finch/gntroomlist.c (Diff revision 1)
     
     
     

    To be done now, or ...?

  3. libpurple/protocols/facebook/facebook.c (Diff revision 1)
     
     

    Is this a user count that can be passed to _set_user_count, or a list of usernames?

    1. this is a list of usernames

  4. libpurple/protocols/gg/chat.c (Diff revision 1)
     
     

    Can this be passed to _set_user_count?

  5. libpurple/protocols/irc/msgs.c (Diff revision 1)
     
     

    It doesn't look like you're setting the channel field? That is used by the irc_chat_join vfunc.

  6. libpurple/protocols/jabber/chat.c (Diff revision 1)
     
     

    Seems like name was previously the description?

    1. Nice catch, i just checked pidgin2 and for devel@conference.pidgin.im it has a name of devel and a description of Pidgin Development

  7. libpurple/protocols/null/nullprpl.c (Diff revision 1)
     
     
     
     
     

    Don't you need the room field for the join_chat vfunc to work?

  8. libpurple/protocols/silc/ops.c (Diff revision 1)
     
     
     
     
     
     
     
     
     

    Same here as irc about the channel field.

  9. libpurple/purpleroomlistroom.c (Diff revision 1)
     
     

    Should be spaces?

  10. libpurple/purpleroomlistroom.c (Diff revision 1)
     
     

    field is going to leak since there is no key destroy function, but it seems like everywhere else uses a static key, which makes this annoying.

    Maybe add a comment for later if this is going to be rewritten differently?

    1. we're only called with static strings, so this g_strdup isn't necessary.

  11. libpurple/roomlist.h (Diff revision 1)
     
     
  12. libpurple/roomlist.c (Diff revision 1)
     
     

    This is gone, too.

  13. libpurple/roomlist.c (Diff revision 1)
     
     

    Since purple_roomlist_room_get_components is transfer none, this modifies the hash table on the room object directly. Should there be a copy?

  14. pidgin/gtkroomlist.c (Diff revision 1)
     
     

    Weird indent.

  15. pidgin/gtkroomlist.c (Diff revision 1)
     
     
     
     
     

    Doing this after do_join_cb would make more sense, and maybe not need the comment?

  16. pidgin/gtkroomlist.c (Diff revision 1)
     
     
     
     

    These both seem to be unused?

  17. pidgin/pidgincolor.c (Diff revision 1)
     
     
     
     

    Seems unrelated, but okay.

    1. do you want me ot pull this out to another rr?

    2. I dunno; is it actually unrelated?

    3. I found it while testing, so technically no.. :-D Anyways I'll split it out quick..

  18. pidgin/resources/Roomlist/roomlist.ui (Diff revision 1)
     
     

    Do you need this model, since it's set at runtime? (Or it doesn't need to be set at runtime?)

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

Status: Closed (submitted)

Loading...