Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.65 KB | None | 0 0
  1. WorkerThread.py
  2.  
  3. After line 300 we added
  4.  
  5. if os.path.exists(ProgramVars.ImagePath +'icon.ico'):
  6.                 self.frame_icon = wx.Icon(ProgramVars.ImagePath +'icon.ico', wx.BITMAP_TYPE_ICO, 16, 16)
  7.             else:
  8.                 self.frame_icon = 'None'
  9.             wx.PostEvent(self._parent, ResultEvent(self._conid.OnStartProgram, self._pgrm, ProgramFrame, self.frame_icon, self._pgrm.name))
  10.  
  11.  
  12. Program Manager
  13.  
  14. We added a class
  15.  
  16. class ddTaskBarIcon(TaskBarIcon):
  17.     def __init__(self, icon, tooltip, frame):
  18.         TaskBarIcon.__init__(self)
  19.         self.SetIcon(icon, tooltip)
  20.         self.frame = frame
  21.         # At the very least, restore the frame if double clicked.  Add other events later
  22.         self.Bind(EVT_TASKBAR_LEFT_DCLICK, self.on_left_dclick)
  23.     def on_left_dclick(self, e):
  24.         if self.frame.IsIconized():
  25.             self.frame.Iconize(False)
  26.         if not self.frame.IsShown():
  27.             self.frame.Show(True)
  28.         self.frame.Raise()
  29.    
  30.     def CreatePopupMenu(self):
  31.         """
  32.         Override with menu functionality, later.
  33.         """
  34.         return None
  35.  
  36. We modified the function onPluginClose
  37.  
  38. def OnPluginClose(self, event=None):
  39.         EventFrame = event.GetEventObject()
  40.         FrameID = EventFrame.GetId()
  41.         Program = GlobalVars.PluginWrapper.GetFromID(GlobalVars.ActiveFrames[FrameID][1])
  42.         Program.isrunning = False
  43.         print "\n[MasterFrame.PluginClose]\nClosed Window ID [ %i ] Plugin ID [ %s ]"%(FrameID, Program.id)
  44.         del GlobalVars.ActiveFrames[FrameID]
  45.         EventFrame.trayicon.Destroy()
  46.         EventFrame.Destroy()
  47.  
  48. We added a function OnPluginIconify
  49.  
  50. def OnPluginIconify(self, event=None):
  51.         EventFrame = event.GetEventObject()
  52.         FrameID = EventFrame.GetId()
  53.         Program = GlobalVars.PluginWrapper.GetFromID(GlobalVars.ActiveFrames[FrameID][1])
  54.         EventFrame.Hide()
  55.  
  56. We modified function OnStartProgram
  57.  
  58. def OnStartProgram(self, event):
  59.         Program = event.args[0]
  60.         ProgramFrame = event.args[1]
  61.         ProgramName = event.args[3]
  62.         Icon = event.args[2]
  63.  
  64.         if Icon == 'None':
  65.             Icon = StaticImages.default_frame_icon.Icon
  66.  
  67.        
  68.        
  69.         NextId = wx.NewId()
  70.         GlobalVars.ActiveFrames[NextId] = [ProgramFrame(wx.GetApp().TopWindow, NextId), Program.id]
  71.         GlobalVars.ActiveFrames[NextId][0].Show()
  72.         GlobalVars.ActiveFrames[NextId][0].Center()
  73.         GlobalVars.ActiveFrames[NextId][0].SetIcon(Icon)
  74.         GlobalVars.ActiveFrames[NextId][0].Bind(wx.EVT_CLOSE, self.OnPluginClose)
  75.         GlobalVars.ActiveFrames[NextId][0].Bind(wx.EVT_ICONIZE, self.OnPluginIconify)
  76.         GlobalVars.ActiveFrames[NextId][0].trayicon = ddTaskBarIcon(Icon, ProgramName, GlobalVars.ActiveFrames[NextId][0])
  77.         print "\n[MasterFrame.OnStartProgram]\nStarted Plugin ID [ %s ] Window ID [ %i ]"%(Program.id, NextId)
  78.     ##
  79.  
  80. And we added an import
  81.  
  82. from wx import TaskBarIcon, EVT_TASKBAR_LEFT_DCLICK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement