Opened on 12/08/2015 at 05:54:02 PM

Last modified on 07/08/2016 at 04:35:05 PM

#3394 new change

Factor out status bar into a separate class

Reported by: Assignee:
Priority: Unknown Milestone:
Module: Unknown Keywords:
Cc: Blocked By:
Blocking: #712, #3382, #3765 Platform: Unknown / Cross platform
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description (last modified by


CPluginClass is something of a god object. All of the code for the status bar icon and its associated menu is part of this class at present.

What to change

  • Extract all the status bar code into a separate class.
  • If possible, share a single status bar object between multiple instances of CPluginClass.
  • Ensure the life cycle of the new class is in harmony with CPluginClass
  • Define clear responsibilities for the new class and the remnant CPluginClass
    • The status bar class is responsible for correctly displaying its status relative to the current tab. It does not have responsibility for determining that status; it asks another class.

Attachments (0)

Change History (5)

comment:1 Changed on 12/08/2015 at 05:55:35 PM by

  • Blocking 3382 added

This relates to issue #3382 to rationalize the life cycle of some of the user interface members of CPluginClass.

comment:2 Changed on 12/08/2015 at 05:58:56 PM by

  • Blocking 712 added

This relates to #712, which is a problem with managing the display state of the icon. It would be possible to complete #712 without addressing the present issue, but only by making CPluginClass more of a god object. Thus this issue has been marked as blocking #712.

comment:3 Changed on 12/08/2015 at 06:01:54 PM by

  • Description modified (diff)

comment:4 Changed on 12/08/2015 at 06:32:28 PM by

  • Description modified (diff)

comment:5 Changed on 07/08/2016 at 04:35:05 PM by

  • Blocking 3765 added

Add Comment

Modify Ticket

Change Properties
as new .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from (none).
Next status will be 'reviewing'.
Note: See TracTickets for help on using tickets.