Create a new status manager that's built in glade

Review Request #1322 — Created March 10, 2022 and submitted

Information

pidgin/pidgin
default

Reviewers

Behavorial Changes:

* Confirmation dialog for remove has been removed.
* Remove button is disabled if the currently selected status is the active
  status. Previously this scenario was silently ignored after confirmation.

Errata:

It is possible to open multiple modify windows for a status. Previously the
editor was reaching into the manager and controlling this pointer. I was going
to fix this, but the editor isn't a widget yet and I don't like doing duplicate
work.

Basically tried everything I could think of with editing and selecting and so on.

Summary ID
Create a new status manager that's built in glade
Behavorial Changes: * Confirmation dialog for remove has been removed. * Remove button is disabled if the currently selected status is the active status. Previously this scenario was silently ignored after confirmation. Errata: It is possible to open multiple modify windows for a status. Previously the editor was reaching into the manager and controlling this pointer. I was going to fix this, but the editor isn't a widget yet and I don't like doing duplicate work.
b108bd2f846428e47c4896ce95f80b36f7284e91

Description From Last Updated

Should this be _get_default or similar if it never returns a second new one?

QuLogicQuLogic

Kind of like the below function, this could be changed to: sensitive = status != purple_savedstatus_get_current(); and one set_sensitive call …

QuLogicQuLogic
grim
grim
QuLogic
  1. 
      
  2. pidgin/pidginstatusmanager.h (Diff revision 2)
     
     
    Show all issues

    Should this be _get_default or similar if it never returns a second new one?

    1. Well the only way you'd create another is to manually can g_object_new. fwiw, we already do this with purple_about_dialog_new. https://keep.imfreedom.org/pidgin/pidgin/file/default/pidgin/pidginabout.c#l581

      The main reason for this is so that the action callback doesn't need to keep track of it. That said, if we used a static variable in the action with the weak ref would make having the action manage it pretty easy. Thoughts?

  3. pidgin/pidginstatusmanager.c (Diff revision 2)
     
     
     
     
     
     
     
     
     
    Show all issues

    Kind of like the below function, this could be changed to:

    sensitive = status != purple_savedstatus_get_current();
    

    and one set_sensitive call after the if.

  4. 
      
grim
grim
QuLogic
  1. Ship It!
  2. 
      
grim
Review request changed
Status:
Completed