btnDataJobBoard.py (1977B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\neocom\neocom\btnData\btnDataJobBoard.py 2 import uthread2 3 from localization import GetByLabel 4 from eve.client.script.ui.shared.neocom.neocom.btnData.btnDataNode import BtnDataNode 5 from corporation.client.goals.goalsController import CorpGoalsController 6 import corporation.client.goals.goalSignals as corpGoalsSignals 7 from dailygoals.client.goalsController import DailyGoalsController 8 import dailygoals.client.goalSignals as dailyGoalSignals 9 _has_unclaimed = False 10 11 class BtnDataNodeJobBoard(BtnDataNode): 12 13 def __init__(self, *args, **kwargs): 14 BtnDataNode.__init__(self, *args, **kwargs) 15 dailyGoalSignals.on_unclaimed_goal_ids_changed.connect(self._update_badge) 16 corpGoalsSignals.on_unclaimed_goal_ids_changed.connect(self._update_badge) 17 self._update_badge() 18 19 def _disconnect_signals(self): 20 BtnDataNode._disconnect_signals(self) 21 dailyGoalSignals.on_unclaimed_goal_ids_changed.disconnect(self._update_badge) 22 corpGoalsSignals.on_unclaimed_goal_ids_changed.disconnect(self._update_badge) 23 24 @uthread2.debounce(1) 25 def _update_badge(self, *args, **kwargs): 26 if not session.charid or self.destroyed: 27 return 28 has_unclaimed = DailyGoalsController.get_instance().has_unclaimed_rewards() 29 if not has_unclaimed: 30 has_unclaimed = CorpGoalsController.get_instance().has_unclaimed_rewards() 31 self._update_has_unclaimed(has_unclaimed) 32 33 def _update_has_unclaimed(self, value): 34 global _has_unclaimed 35 if value != _has_unclaimed: 36 _has_unclaimed = value 37 self.OnBadgeCountChanged() 38 39 def GetItemCount(self): 40 if _has_unclaimed: 41 return 1 42 return 0 43 44 def GetUnseenItemsHint(self): 45 numItems = self.GetItemCount() 46 if numItems: 47 return GetByLabel('UI/Neocom/UnclaimedRewards')