Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WorkerThread.py
- After line 300 we added
- if os.path.exists(ProgramVars.ImagePath +'icon.ico'):
- self.frame_icon = wx.Icon(ProgramVars.ImagePath +'icon.ico', wx.BITMAP_TYPE_ICO, 16, 16)
- else:
- self.frame_icon = 'None'
- wx.PostEvent(self._parent, ResultEvent(self._conid.OnStartProgram, self._pgrm, ProgramFrame, self.frame_icon, self._pgrm.name))
- Program Manager
- We added a class
- class ddTaskBarIcon(TaskBarIcon):
- def __init__(self, icon, tooltip, frame):
- TaskBarIcon.__init__(self)
- self.SetIcon(icon, tooltip)
- self.frame = frame
- # At the very least, restore the frame if double clicked. Add other events later
- self.Bind(EVT_TASKBAR_LEFT_DCLICK, self.on_left_dclick)
- def on_left_dclick(self, e):
- if self.frame.IsIconized():
- self.frame.Iconize(False)
- if not self.frame.IsShown():
- self.frame.Show(True)
- self.frame.Raise()
- def CreatePopupMenu(self):
- """
- Override with menu functionality, later.
- """
- return None
- We modified the function onPluginClose
- def OnPluginClose(self, event=None):
- EventFrame = event.GetEventObject()
- FrameID = EventFrame.GetId()
- Program = GlobalVars.PluginWrapper.GetFromID(GlobalVars.ActiveFrames[FrameID][1])
- Program.isrunning = False
- print "\n[MasterFrame.PluginClose]\nClosed Window ID [ %i ] Plugin ID [ %s ]"%(FrameID, Program.id)
- del GlobalVars.ActiveFrames[FrameID]
- EventFrame.trayicon.Destroy()
- EventFrame.Destroy()
- We added a function OnPluginIconify
- def OnPluginIconify(self, event=None):
- EventFrame = event.GetEventObject()
- FrameID = EventFrame.GetId()
- Program = GlobalVars.PluginWrapper.GetFromID(GlobalVars.ActiveFrames[FrameID][1])
- EventFrame.Hide()
- We modified function OnStartProgram
- def OnStartProgram(self, event):
- Program = event.args[0]
- ProgramFrame = event.args[1]
- ProgramName = event.args[3]
- Icon = event.args[2]
- if Icon == 'None':
- Icon = StaticImages.default_frame_icon.Icon
- NextId = wx.NewId()
- GlobalVars.ActiveFrames[NextId] = [ProgramFrame(wx.GetApp().TopWindow, NextId), Program.id]
- GlobalVars.ActiveFrames[NextId][0].Show()
- GlobalVars.ActiveFrames[NextId][0].Center()
- GlobalVars.ActiveFrames[NextId][0].SetIcon(Icon)
- GlobalVars.ActiveFrames[NextId][0].Bind(wx.EVT_CLOSE, self.OnPluginClose)
- GlobalVars.ActiveFrames[NextId][0].Bind(wx.EVT_ICONIZE, self.OnPluginIconify)
- GlobalVars.ActiveFrames[NextId][0].trayicon = ddTaskBarIcon(Icon, ProgramName, GlobalVars.ActiveFrames[NextId][0])
- print "\n[MasterFrame.OnStartProgram]\nStarted Plugin ID [ %s ] Window ID [ %i ]"%(Program.id, NextId)
- ##
- And we added an import
- from wx import TaskBarIcon, EVT_TASKBAR_LEFT_DCLICK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement