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)
     
     
     
    Show all issues

    To be done now, or ...?

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

    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)
     
     
    Show all issues

    Can this be passed to _set_user_count?

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

    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)
     
     
    Show all issues

    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)
     
     
     
     
     
    Show all issues

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

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

    Same here as irc about the channel field.

  9. libpurple/purpleroomlistroom.c (Diff revision 1)
     
     
    Show all issues

    Should be spaces?

  10. libpurple/purpleroomlistroom.c (Diff revision 1)
     
     
    Show all issues

    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)
     
     
    Show all issues

    whose

  12. libpurple/roomlist.c (Diff revision 1)
     
     
    Show all issues

    This is gone, too.

  13. libpurple/roomlist.c (Diff revision 1)
     
     
    Show all issues

    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)
     
     
    Show all issues

    Weird indent.

  15. pidgin/gtkroomlist.c (Diff revision 1)
     
     
     
     
     
    Show all issues

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

  16. pidgin/gtkroomlist.c (Diff revision 1)
     
     
     
     
    Show all issues

    These both seem to be unused?

  17. pidgin/pidgincolor.c (Diff revision 1)
     
     
     
     
    Show all issues

    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)
     
     
    Show all issues

    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:
Completed