class AppFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "", size=(1, 1), style=wx.FRAME_NO_TASKBAR | wx.NO_FULL_REPAINT_ON_RESIZE) self.setup() self.create_taskbar_icon() self.twitter = Twitter(self) def setup(self): if not os.path.exists(Constants.FOLDER_PATH): os.mkdir(Constants.FOLDER_PATH) def create_taskbar_icon(self): self.tbIcon = TaskBarIcon(self) self.tbIcon.Bind(wx.EVT_MENU, self.exit, id=wx.ID_EXIT) def open_keylist(self, event): keyListDlg = KeyListDialog(self) if keyListDlg.ShowModal() == wx.ID_OK: keyListDlg.Destroy() def open_twitter(self, event): webbrowser.open("https://twitter.com/DuvalMagic") webbrowser.open("https://twitter.com/GearboxSoftware") def start_taskbar_blinking(self): self.tbIcon.start_blinking() def get_browser_pin(self, url): dlg = wx.MessageDialog( self, "A browser needs to be open to get a twitter authorization pin", "Authorization pin", wx.YES_NO ) retCode = dlg.ShowModal() if retCode == wx.ID_YES: dlg.Destroy() webbrowser.open(url) pin = self.open_pin_dialog() return pin elif retCode == wx.ID_NO: self.close_dialog() def open_pin_dialog(self): pinDlg = wx.TextEntryDialog(self, "Twitter Pin:", "Pin Preferences", style=wx.OK | wx.CANCEL) retID = pinDlg.ShowModal() if retID == wx.ID_OK: pin = pinDlg.GetValue() if len(pin) > 0: pinDlg.Destroy() return pin else: pinDlg.Show() elif retID == wx.ID_CANCEL: self.close_dialog() def close_dialog(self): dlg = wx.MessageDialog( self, "This application needs to be authenticated with twitter to work correctly, closing application.", "Closing", wx.OK, ) retCode = dlg.ShowModal() if retCode == wx.OK: dlg.Destroy() self.exit(wx.EVT_MENU) def exit(self, event): self.tbIcon.RemoveIcon() self.tbIcon.Destroy() os._exit(0)