]> git.pld-linux.org Git - packages/BitTornado.git/blobdiff - BitTornado-new-wxpython-namespace.patch
- initial checkin
[packages/BitTornado.git] / BitTornado-new-wxpython-namespace.patch
diff --git a/BitTornado-new-wxpython-namespace.patch b/BitTornado-new-wxpython-namespace.patch
new file mode 100644 (file)
index 0000000..f8c1ae6
--- /dev/null
@@ -0,0 +1,2838 @@
+diff -Naur BitTornado-CVS.orig/btcompletedirgui.py BitTornado-CVS/btcompletedirgui.py
+--- BitTornado-CVS.orig/btcompletedirgui.py    2004-05-09 15:07:20.000000000 +0200
++++ BitTornado-CVS/btcompletedirgui.py 2005-09-18 02:52:10.089587432 +0200
+@@ -20,7 +20,7 @@
+ from os import getcwd
+ from os.path import join
+ try:
+-    from wxPython.wx import *
++    import wx
+ except:
+     print 'wxPython is either not installed or has not been installed properly.'
+     sys.exit(1)
+@@ -31,14 +31,14 @@
+     True = 1
+     False = 0
+-wxEVT_INVOKE = wxNewEventType()
++wxEVT_INVOKE = wx.NewEventType()
+ def EVT_INVOKE(win, func):
+     win.Connect(-1, -1, wxEVT_INVOKE, func)
+-class InvokeEvent(wxPyEvent):
++class InvokeEvent(wx.PyEvent):
+     def __init__(self, func, args, kwargs):
+-        wxPyEvent.__init__(self)
++        wx.PyEvent.__init__(self)
+         self.SetEventType(wxEVT_INVOKE)
+         self.func = func
+         self.args = args
+@@ -46,55 +46,55 @@
+ class DownloadInfo:
+     def __init__(self):
+-        frame = wxFrame(None, -1, 'BitTorrent complete dir 1.0.1', size = wxSize(550, 250))
++        frame = wx.Frame(None, -1, 'BitTorrent complete dir 1.0.1', size = wx.Size(550, 250))
+         self.frame = frame
+-        panel = wxPanel(frame, -1)
++        panel = wx.Panel(frame, -1)
+-        gridSizer = wxFlexGridSizer(cols = 2, rows = 2, vgap = 15, hgap = 8)
++        gridSizer = wx.FlexGridSizer(cols = 2, rows = 2, vgap = 15, hgap = 8)
+         
+-        gridSizer.Add(wxStaticText(panel, -1, 'directory to build:'))
+-        self.dirCtl = wxTextCtrl(panel, -1, '')
++        gridSizer.Add(wx.StaticText(panel, -1, 'directory to build:'))
++        self.dirCtl = wx.TextCtrl(panel, -1, '')
+-        b = wxBoxSizer(wxHORIZONTAL)
+-        b.Add(self.dirCtl, 1, wxEXPAND)
+-#        b.Add(10, 10, 0, wxEXPAND)
+-        button = wxButton(panel, -1, 'select')
+-        b.Add(button, 0, wxEXPAND)
+-        EVT_BUTTON(frame, button.GetId(), self.select)
+-
+-        gridSizer.Add(b, 0, wxEXPAND)
+-
+-        gridSizer.Add(wxStaticText(panel, -1, 'announce url:'))
+-        self.annCtl = wxTextCtrl(panel, -1, 'http://my.tracker:6969/announce')
+-        gridSizer.Add(self.annCtl, 0, wxEXPAND)
++        b = wx.BoxSizer(wx.HORIZONTAL)
++        b.Add(self.dirCtl, 1, wx.EXPAND)
++#        b.Add(10, 10, 0, wx.EXPAND)
++        button = wx.Button(panel, -1, 'select')
++        b.Add(button, 0, wx.EXPAND)
++        wx.EVT_BUTTON(frame, button.GetId(), self.select)
++
++        gridSizer.Add(b, 0, wx.EXPAND)
++
++        gridSizer.Add(wx.StaticText(panel, -1, 'announce url:'))
++        self.annCtl = wx.TextCtrl(panel, -1, 'http://my.tracker:6969/announce')
++        gridSizer.Add(self.annCtl, 0, wx.EXPAND)
+-        gridSizer.Add(wxStaticText(panel, -1, 'piece size:'))
+-        self.piece_length = wxChoice(panel, -1, choices = ['2 ** 21', '2 ** 20', '2 ** 19', 
++        gridSizer.Add(wx.StaticText(panel, -1, 'piece size:'))
++        self.piece_length = wx.Choice(panel, -1, choices = ['2 ** 21', '2 ** 20', '2 ** 19', 
+             '2 ** 18', '2 ** 17', '2 ** 16', '2 ** 15'])
+         self.piece_length.SetSelection(3)
+         gridSizer.Add(self.piece_length)
+         gridSizer.AddGrowableCol(1)
+  
+-        border = wxBoxSizer(wxVERTICAL)
+-        border.Add(gridSizer, 0, wxEXPAND | wxNORTH | wxEAST | wxWEST, 25)
+-        b2 = wxButton(panel, -1, 'make')
+-#        border.Add(10, 10, 1, wxEXPAND)
+-        border.Add(b2, 0, wxALIGN_CENTER | wxSOUTH, 20)
+-        EVT_BUTTON(frame, b2.GetId(), self.complete)
++        border = wx.BoxSizer(wx.VERTICAL)
++        border.Add(gridSizer, 0, wx.EXPAND | wx.NORTH | wx.EAST | wx.WEST, 25)
++        b2 = wx.Button(panel, -1, 'make')
++#        border.Add(10, 10, 1, wx.EXPAND)
++        border.Add(b2, 0, wx.ALIGN_CENTER | wx.SOUTH, 20)
++        wx.EVT_BUTTON(frame, b2.GetId(), self.complete)
+         panel.SetSizer(border)
+         panel.SetAutoLayout(True)
+     def select(self, x):
+-        dl = wxDirDialog(self.frame, style = wxDD_DEFAULT_STYLE | wxDD_NEW_DIR_BUTTON)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.DirDialog(self.frame, style = wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON)
++        if dl.ShowModal() == wx.ID_OK:
+             self.dirCtl.SetValue(dl.GetPath())
+     def complete(self, x):
+         if self.dirCtl.GetValue() == '':
+-            dlg = wxMessageDialog(self.frame, message = 'You must select a directory', 
+-                caption = 'Error', style = wxOK | wxICON_ERROR)
++            dlg = wx.MessageDialog(self.frame, message = 'You must select a directory', 
++                caption = 'Error', style = wx.OK | wx.ICON_ERROR)
+             dlg.ShowModal()
+             dlg.Destroy()
+             return
+@@ -112,31 +112,31 @@
+         self.a = a
+         self.pl = pl
+         self.flag = Event()
+-        frame = wxFrame(None, -1, 'BitTorrent make directory', size = wxSize(550, 250))
++        frame = wx.Frame(None, -1, 'BitTorrent make directory', size = wx.Size(550, 250))
+         self.frame = frame
+-        panel = wxPanel(frame, -1)
++        panel = wx.Panel(frame, -1)
+-        gridSizer = wxFlexGridSizer(cols = 1, vgap = 15, hgap = 8)
++        gridSizer = wx.FlexGridSizer(cols = 1, vgap = 15, hgap = 8)
+-        self.currentLabel = wxStaticText(panel, -1, 'checking file sizes')
+-        gridSizer.Add(self.currentLabel, 0, wxEXPAND)
+-        self.gauge = wxGauge(panel, -1, range = 1000, style = wxGA_SMOOTH)
+-        gridSizer.Add(self.gauge, 0, wxEXPAND)
+-        gridSizer.Add(10, 10, 1, wxEXPAND)
+-        self.button = wxButton(panel, -1, 'cancel')
+-        gridSizer.Add(self.button, 0, wxALIGN_CENTER)
++        self.currentLabel = wx.StaticText(panel, -1, 'checking file sizes')
++        gridSizer.Add(self.currentLabel, 0, wx.EXPAND)
++        self.gauge = wx.Gauge(panel, -1, range = 1000, style = wx.GA_SMOOTH)
++        gridSizer.Add(self.gauge, 0, wx.EXPAND)
++        gridSizer.Add(10, 10, 1, wx.EXPAND)
++        self.button = wx.Button(panel, -1, 'cancel')
++        gridSizer.Add(self.button, 0, wx.ALIGN_CENTER)
+         gridSizer.AddGrowableRow(2)
+         gridSizer.AddGrowableCol(0)
+-        g2 = wxFlexGridSizer(cols = 1, vgap = 15, hgap = 8)
+-        g2.Add(gridSizer, 1, wxEXPAND | wxALL, 25)
++        g2 = wx.FlexGridSizer(cols = 1, vgap = 15, hgap = 8)
++        g2.Add(gridSizer, 1, wx.EXPAND | wx.ALL, 25)
+         g2.AddGrowableRow(0)
+         g2.AddGrowableCol(0)
+         panel.SetSizer(g2)
+         panel.SetAutoLayout(True)
+-        EVT_BUTTON(frame, self.button.GetId(), self.done)
+-        EVT_CLOSE(frame, self.done)
++        wx.EVT_BUTTON(frame, self.button.GetId(), self.done)
++        wx.EVT_CLOSE(frame, self.done)
+         EVT_INVOKE(frame, self.onInvoke)
+         frame.Show(True)
+         Thread(target = self.complete).start()
+@@ -152,8 +152,8 @@
+         except (OSError, IOError), e:
+             self.currentLabel.SetLabel('Error!')
+             self.button.SetLabel('Close')
+-            dlg = wxMessageDialog(self.frame, message = 'Error - ' + str(e), 
+-                caption = 'Error', style = wxOK | wxICON_ERROR)
++            dlg = wx.MessageDialog(self.frame, message = 'Error - ' + str(e), 
++                caption = 'Error', style = wx.OK | wx.ICON_ERROR)
+             dlg.ShowModal()
+             dlg.Destroy()
+@@ -175,13 +175,13 @@
+     def invokeLater(self, func, args = [], kwargs = {}):
+         if not self.flag.isSet():
+-            wxPostEvent(self.frame, InvokeEvent(func, args, kwargs))
++            wx.PostEvent(self.frame, InvokeEvent(func, args, kwargs))
+     def done(self, event):
+         self.flag.set()
+         self.frame.Destroy()
+-class btWxApp(wxApp):
++class btWxApp(wx.App):
+     def OnInit(self):
+         d = DownloadInfo()
+         d.frame.Show(True)
+diff -Naur BitTornado-CVS.orig/btdownloadgui.py BitTornado-CVS/btdownloadgui.py
+--- BitTornado-CVS.orig/btdownloadgui.py       2005-08-20 03:21:00.000000000 +0200
++++ BitTornado-CVS/btdownloadgui.py    2005-09-18 03:04:18.777780400 +0200
+@@ -17,7 +17,7 @@
+ assert version >= '2', "Install Python 2.0 or greater"
+ try:
+-    from wxPython.wx import *
++    import wx
+ except:
+     print 'wxPython is either not installed or has not been installed properly.'
+     exit(1)
+@@ -52,9 +52,9 @@
+ WXPROFILER = False
+ try:
+-    wxFULL_REPAINT_ON_RESIZE
++    wx.FULL_REPAINT_ON_RESIZE
+ except:
+-    wxFULL_REPAINT_ON_RESIZE = 0        # fix for wx pre-2.5
++    wx.FULL_REPAINT_ON_RESIZE = 0        # fix for wx pre-2.5
+ # Note to packagers: edit OLDICONPATH in BitTornado/ConfigDir.py
+@@ -104,14 +104,14 @@
+         r.append(hexmap[ord(c)])
+     return ''.join(r)
+-wxEVT_INVOKE = wxNewEventType()
++wxEVT_INVOKE = wx.NewEventType()
+ def EVT_INVOKE(win, func):
+     win.Connect(-1, -1, wxEVT_INVOKE, func)
+-class InvokeEvent(wxPyEvent):
++class InvokeEvent(wx.PyEvent):
+     def __init__(self, func = None, args = None, kwargs = None):
+-        wxPyEvent.__init__(self)
++        wx.PyEvent.__init__(self)
+         self.SetEventType(wxEVT_INVOKE)
+         self.func = func
+         self.args = args
+@@ -124,9 +124,9 @@
+         self._errorwindow = None
+         try:
+             self.FONT = configfile.config['gui_font']
+-            self.default_font = wxFont(self.FONT, wxDEFAULT, wxNORMAL, wxNORMAL, False)
+-            frame = wxFrame(None, -1, 'BitTorrent ' + version + ' download',
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
++            self.default_font = wx.Font(self.FONT, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False)
++            frame = wx.Frame(None, -1, 'BitTorrent ' + version + ' download',
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
+             self.flag = flag
+             self.configfile = configfile
+             self.configfileargs = configfile.config
+@@ -172,10 +172,10 @@
+                 self.invokeLaterEvent = InvokeEvent()
+                 self.invokeLaterList = []
+-            wxInitAllImageHandlers()
++            wx.InitAllImageHandlers()
+             self.basepath = self.configfile.getIconDir()
+-            self.icon = wxIcon(os.path.join(self.basepath,'icon_bt.ico'), wxBITMAP_TYPE_ICO)
+-            self.finicon = wxIcon(os.path.join(self.basepath,'icon_done.ico'), wxBITMAP_TYPE_ICO)
++            self.icon = wx.Icon(os.path.join(self.basepath,'icon_bt.ico'), wx.BITMAP_TYPE_ICO)
++            self.finicon = wx.Icon(os.path.join(self.basepath,'icon_done.ico'), wx.BITMAP_TYPE_ICO)
+             self.statusIconFiles={
+                 'startup':os.path.join(self.basepath,'white.ico'),
+                 'disconnected':os.path.join(self.basepath,'black.ico'),
+@@ -185,12 +185,12 @@
+                 'allgood':os.path.join(self.basepath,'green.ico'),
+                 }
+             self.statusIcons={}
+-            self.filestatusIcons = wxImageList(16, 16)
+-            self.filestatusIcons.Add(wxBitmap(os.path.join(self.basepath,'black1.ico'),wxBITMAP_TYPE_ICO))
+-            self.filestatusIcons.Add(wxBitmap(os.path.join(self.basepath,'yellow1.ico'), wxBITMAP_TYPE_ICO))
+-            self.filestatusIcons.Add(wxBitmap(os.path.join(self.basepath,'green1.ico'), wxBITMAP_TYPE_ICO))
++            self.filestatusIcons = wx.ImageList(16, 16)
++            self.filestatusIcons.Add(wx.Bitmap(os.path.join(self.basepath,'black1.ico'),wx.BITMAP_TYPE_ICO))
++            self.filestatusIcons.Add(wx.Bitmap(os.path.join(self.basepath,'yellow1.ico'), wx.BITMAP_TYPE_ICO))
++            self.filestatusIcons.Add(wx.Bitmap(os.path.join(self.basepath,'green1.ico'), wx.BITMAP_TYPE_ICO))
+-            self.allocbuttonBitmap = wxBitmap(os.path.join(self.basepath,'alloc.gif'), wxBITMAP_TYPE_GIF)
++            self.allocbuttonBitmap = wx.Bitmap(os.path.join(self.basepath,'alloc.gif'), wx.BITMAP_TYPE_GIF)
+             self.starttime = clock()
+@@ -200,239 +200,239 @@
+             except:
+                 pass
+-            panel = wxPanel(frame, -1)
++            panel = wx.Panel(frame, -1)
+             self.bgcolor = panel.GetBackgroundColour()
+             def StaticText(text, font = self.FONT, underline = False, color = None, panel = panel):
+-                x = wxStaticText(panel, -1, text, style = wxALIGN_LEFT)
+-                x.SetFont(wxFont(font, wxDEFAULT, wxNORMAL, wxNORMAL, underline))
++                x = wx.StaticText(panel, -1, text, style = wx.ALIGN_LEFT)
++                x.SetFont(wx.Font(font, wx.DEFAULT, wx.NORMAL, wx.NORMAL, underline))
+                 if color is not None:
+                     x.SetForegroundColour(color)
+                 return x
+-            colSizer = wxFlexGridSizer(cols = 1, vgap = 3)
++            colSizer = wx.FlexGridSizer(cols = 1, vgap = 3)
+-            border = wxBoxSizer(wxHORIZONTAL)
+-            border.Add(colSizer, 1, wxEXPAND | wxALL, 4)
++            border = wx.BoxSizer(wx.HORIZONTAL)
++            border.Add(colSizer, 1, wx.EXPAND | wx.ALL, 4)
+             panel.SetSizer(border)
+             panel.SetAutoLayout(True)
+-            topboxsizer = wxFlexGridSizer(cols = 3, vgap = 0)
++            topboxsizer = wx.FlexGridSizer(cols = 3, vgap = 0)
+             topboxsizer.AddGrowableCol (0)
+-            fnsizer = wxFlexGridSizer(cols = 1, vgap = 0)
++            fnsizer = wx.FlexGridSizer(cols = 1, vgap = 0)
+             fnsizer.AddGrowableCol (0)
+             fnsizer.AddGrowableRow (1)
+             fileNameText = StaticText('', self.FONT+4)
+-            fnsizer.Add(fileNameText, 1, wxALIGN_BOTTOM|wxEXPAND)
++            fnsizer.Add(fileNameText, 1, wx.ALIGN_BOTTOM|wx.EXPAND)
+             self.fileNameText = fileNameText
+-            fnsizer2 = wxFlexGridSizer(cols = 8, vgap = 0)
++            fnsizer2 = wx.FlexGridSizer(cols = 8, vgap = 0)
+             fnsizer2.AddGrowableCol (0)
+             fileSizeText = StaticText('')
+-            fnsizer2.Add(fileSizeText, 1, wxALIGN_BOTTOM|wxEXPAND)
++            fnsizer2.Add(fileSizeText, 1, wx.ALIGN_BOTTOM|wx.EXPAND)
+             self.fileSizeText = fileSizeText
+             fileDetails = StaticText('Details', self.FONT, True, 'Blue')
+-            fnsizer2.Add(fileDetails, 0, wxALIGN_BOTTOM)                                     
++            fnsizer2.Add(fileDetails, 0, wx.ALIGN_BOTTOM)                                     
+             fnsizer2.Add(StaticText('  '))
+             advText = StaticText('Advanced', self.FONT, True, 'Blue')
+-            fnsizer2.Add(advText, 0, wxALIGN_BOTTOM)
++            fnsizer2.Add(advText, 0, wx.ALIGN_BOTTOM)
+             fnsizer2.Add(StaticText('  '))
+             prefsText = StaticText('Prefs', self.FONT, True, 'Blue')
+-            fnsizer2.Add(prefsText, 0, wxALIGN_BOTTOM)
++            fnsizer2.Add(prefsText, 0, wx.ALIGN_BOTTOM)
+             fnsizer2.Add(StaticText('  '))
+             aboutText = StaticText('About', self.FONT, True, 'Blue')
+-            fnsizer2.Add(aboutText, 0, wxALIGN_BOTTOM)
++            fnsizer2.Add(aboutText, 0, wx.ALIGN_BOTTOM)
+             fnsizer2.Add(StaticText('  '))
+-            fnsizer.Add(fnsizer2,0,wxEXPAND)
+-            topboxsizer.Add(fnsizer,0,wxEXPAND)
++            fnsizer.Add(fnsizer2,0,wx.EXPAND)
++            topboxsizer.Add(fnsizer,0,wx.EXPAND)
+             topboxsizer.Add(StaticText('  '))
+-            self.statusIcon = wxEmptyBitmap(32,32)
+-            statidata = wxMemoryDC()
++            self.statusIcon = wx.EmptyBitmap(32,32)
++            statidata = wx.MemoryDC()
+             statidata.SelectObject(self.statusIcon)
+-            statidata.SetPen(wxTRANSPARENT_PEN)
+-            statidata.SetBrush(wxBrush(self.bgcolor,wxSOLID))
++            statidata.SetPen(wx.TRANSPARENT_PEN)
++            statidata.SetBrush(wx.Brush(self.bgcolor,wx.SOLID))
+             statidata.DrawRectangle(0,0,32,32)
+-            self.statusIconPtr = wxStaticBitmap(panel, -1, self.statusIcon)
++            self.statusIconPtr = wx.StaticBitmap(panel, -1, self.statusIcon)
+             topboxsizer.Add(self.statusIconPtr)
+             self.fnsizer = fnsizer
+             self.fnsizer2 = fnsizer2
+             self.topboxsizer = topboxsizer
+-            colSizer.Add(topboxsizer, 0, wxEXPAND)
++            colSizer.Add(topboxsizer, 0, wx.EXPAND)
+-            self.gauge = wxGauge(panel, -1, range = 1000, style = wxGA_SMOOTH)
+-            colSizer.Add(self.gauge, 0, wxEXPAND)
++            self.gauge = wx.Gauge(panel, -1, range = 1000, style = wx.GA_SMOOTH)
++            colSizer.Add(self.gauge, 0, wx.EXPAND)
+-            timeSizer = wxFlexGridSizer(cols = 2)
++            timeSizer = wx.FlexGridSizer(cols = 2)
+             timeSizer.Add(StaticText('Time elapsed / estimated : '))
+             self.timeText = StaticText(self.activity+'                    ')
+             timeSizer.Add(self.timeText)
+             timeSizer.AddGrowableCol(1)
+             colSizer.Add(timeSizer)
+-            destSizer = wxFlexGridSizer(cols = 2, hgap = 8)
++            destSizer = wx.FlexGridSizer(cols = 2, hgap = 8)
+             self.fileDestLabel = StaticText('Download to:')
+             destSizer.Add(self.fileDestLabel)
+             self.fileDestText = StaticText('')
+-            destSizer.Add(self.fileDestText, flag = wxEXPAND)
++            destSizer.Add(self.fileDestText, flag = wx.EXPAND)
+             destSizer.AddGrowableCol(1)
+-            colSizer.Add(destSizer, flag = wxEXPAND)
++            colSizer.Add(destSizer, flag = wx.EXPAND)
+             self.destSizer = destSizer
+-            statSizer = wxFlexGridSizer(cols = 3, hgap = 8)
++            statSizer = wx.FlexGridSizer(cols = 3, hgap = 8)
+-            self.ratesSizer = wxFlexGridSizer(cols = 2)
+-            self.infoSizer = wxFlexGridSizer(cols = 2)
++            self.ratesSizer = wx.FlexGridSizer(cols = 2)
++            self.infoSizer = wx.FlexGridSizer(cols = 2)
+             self.ratesSizer.Add(StaticText('   Download rate: '))
+             self.downRateText = StaticText('0 kB/s       ')
+-            self.ratesSizer.Add(self.downRateText, flag = wxEXPAND)
++            self.ratesSizer.Add(self.downRateText, flag = wx.EXPAND)
+             self.downTextLabel = StaticText('Downloaded: ')
+             self.infoSizer.Add(self.downTextLabel)
+             self.downText = StaticText('0.00 MiB        ')
+-            self.infoSizer.Add(self.downText, flag = wxEXPAND)
++            self.infoSizer.Add(self.downText, flag = wx.EXPAND)
+             self.ratesSizer.Add(StaticText('   Upload rate: '))
+             self.upRateText = StaticText('0 kB/s       ')
+-            self.ratesSizer.Add(self.upRateText, flag = wxEXPAND)
++            self.ratesSizer.Add(self.upRateText, flag = wx.EXPAND)
+             self.upTextLabel = StaticText('Uploaded: ')
+             self.infoSizer.Add(self.upTextLabel)
+             self.upText = StaticText('0.00 MiB        ')
+-            self.infoSizer.Add(self.upText, flag = wxEXPAND)
++            self.infoSizer.Add(self.upText, flag = wx.EXPAND)
+-            shareSizer = wxFlexGridSizer(cols = 2, hgap = 8)
++            shareSizer = wx.FlexGridSizer(cols = 2, hgap = 8)
+             shareSizer.Add(StaticText('Share rating:'))
+             self.shareRatingText = StaticText('')
+             shareSizer.AddGrowableCol(1)
+-            shareSizer.Add(self.shareRatingText, flag = wxEXPAND)
++            shareSizer.Add(self.shareRatingText, flag = wx.EXPAND)
+             statSizer.Add(self.ratesSizer)
+             statSizer.Add(self.infoSizer)
+-            statSizer.Add(shareSizer, flag = wxALIGN_CENTER_VERTICAL)
++            statSizer.Add(shareSizer, flag = wx.ALIGN_CENTER_VERTICAL)
+             colSizer.Add (statSizer)
+-            torrentSizer = wxFlexGridSizer(cols = 1)
++            torrentSizer = wx.FlexGridSizer(cols = 1)
+             self.peerStatusText = StaticText('')
+-            torrentSizer.Add(self.peerStatusText, 0, wxEXPAND)
++            torrentSizer.Add(self.peerStatusText, 0, wx.EXPAND)
+             self.seedStatusText = StaticText('')
+-            torrentSizer.Add(self.seedStatusText, 0, wxEXPAND)
++            torrentSizer.Add(self.seedStatusText, 0, wx.EXPAND)
+             torrentSizer.AddGrowableCol(0)
+-            colSizer.Add(torrentSizer, 0, wxEXPAND)
++            colSizer.Add(torrentSizer, 0, wx.EXPAND)
+             self.torrentSizer = torrentSizer
+-            self.errorTextSizer = wxFlexGridSizer(cols = 1)
++            self.errorTextSizer = wx.FlexGridSizer(cols = 1)
+             self.errorText = StaticText('', self.FONT, False, 'Red')
+-            self.errorTextSizer.Add(self.errorText, 0, wxEXPAND)
+-            colSizer.Add(self.errorTextSizer, 0, wxEXPAND)
++            self.errorTextSizer.Add(self.errorText, 0, wx.EXPAND)
++            colSizer.Add(self.errorTextSizer, 0, wx.EXPAND)
+-            cancelSizer=wxGridSizer(cols = 2, hgap = 40)
+-            self.pauseButton = wxButton(panel, -1, 'Pause')
+-            cancelSizer.Add(self.pauseButton, 0, wxALIGN_CENTER)
+-
+-            self.cancelButton = wxButton(panel, -1, 'Cancel')
+-            cancelSizer.Add(self.cancelButton, 0, wxALIGN_CENTER)
+-            colSizer.Add(cancelSizer, 0, wxALIGN_CENTER)
++            cancelSizer=wx.GridSizer(cols = 2, hgap = 40)
++            self.pauseButton = wx.Button(panel, -1, 'Pause')
++            cancelSizer.Add(self.pauseButton, 0, wx.ALIGN_CENTER)
++
++            self.cancelButton = wx.Button(panel, -1, 'Cancel')
++            cancelSizer.Add(self.cancelButton, 0, wx.ALIGN_CENTER)
++            colSizer.Add(cancelSizer, 0, wx.ALIGN_CENTER)
+             # Setting options
+-            slideSizer = wxFlexGridSizer(cols = 7, hgap = 0, vgap = 5)
++            slideSizer = wx.FlexGridSizer(cols = 7, hgap = 0, vgap = 5)
+             # dropdown
+             self.connChoiceLabel = StaticText('Settings for ')
+-            slideSizer.Add (self.connChoiceLabel, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL)
+-            self.connChoice = wxChoice (panel, -1, (-1, -1), (self.FONT*11, -1),
++            slideSizer.Add (self.connChoiceLabel, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
++            self.connChoice = wx.Choice (panel, -1, (-1, -1), (self.FONT*11, -1),
+                                         choices = connChoiceList)
+             self.connChoice.SetFont(self.default_font)
+             self.connChoice.SetSelection(0)
+-            slideSizer.Add (self.connChoice, 0, wxALIGN_CENTER)
++            slideSizer.Add (self.connChoice, 0, wx.ALIGN_CENTER)
+             self.rateSpinnerLabel = StaticText(' Upload rate (kB/s) ')
+-            slideSizer.Add (self.rateSpinnerLabel, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
++            slideSizer.Add (self.rateSpinnerLabel, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
+             # max upload rate
+-            self.rateSpinner = wxSpinCtrl (panel, -1, "", (-1,-1), (50, -1))
++            self.rateSpinner = wx.SpinCtrl (panel, -1, "", (-1,-1), (50, -1))
+             self.rateSpinner.SetFont(self.default_font)
+             self.rateSpinner.SetRange(0,5000)
+             self.rateSpinner.SetValue(0)
+-            slideSizer.Add (self.rateSpinner, 0, wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL)
++            slideSizer.Add (self.rateSpinner, 0, wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL)
+             self.rateLowerText = StaticText('  %5d' % (0))
+             self.rateUpperText = StaticText('%5d' % (5000))
+-            self.rateslider = wxSlider(panel, -1, 0, 0, 5000, (-1, -1), (80, -1))
++            self.rateslider = wx.Slider(panel, -1, 0, 0, 5000, (-1, -1), (80, -1))
+-            slideSizer.Add(self.rateLowerText, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
+-            slideSizer.Add(self.rateslider,    0, wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL)
+-            slideSizer.Add(self.rateUpperText, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL)
++            slideSizer.Add(self.rateLowerText, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
++            slideSizer.Add(self.rateslider,    0, wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL)
++            slideSizer.Add(self.rateUpperText, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
+-            slideSizer.Add(StaticText(''), 0, wxALIGN_LEFT)
++            slideSizer.Add(StaticText(''), 0, wx.ALIGN_LEFT)
+             self.bgallocText = StaticText('', self.FONT+2, False, 'Red')
+-            slideSizer.Add(self.bgallocText, 0, wxALIGN_LEFT)
++            slideSizer.Add(self.bgallocText, 0, wx.ALIGN_LEFT)
+             # max uploads
+             self.connSpinnerLabel = StaticText(' Max uploads ')
+-            slideSizer.Add (self.connSpinnerLabel, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
+-            self.connSpinner = wxSpinCtrl (panel, -1, "", (-1,-1), (50, -1))
++            slideSizer.Add (self.connSpinnerLabel, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
++            self.connSpinner = wx.SpinCtrl (panel, -1, "", (-1,-1), (50, -1))
+             self.connSpinner.SetFont(self.default_font)
+             self.connSpinner.SetRange(4,100)
+             self.connSpinner.SetValue(4)
+-            slideSizer.Add (self.connSpinner, 0, wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL)
++            slideSizer.Add (self.connSpinner, 0, wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL)
+             self.connLowerText = StaticText('  %5d' % (4))
+             self.connUpperText = StaticText('%5d' % (100))
+-            self.connslider = wxSlider(panel, -1, 4, 4, 100, (-1, -1), (80, -1))
++            self.connslider = wx.Slider(panel, -1, 4, 4, 100, (-1, -1), (80, -1))
+-            slideSizer.Add(self.connLowerText, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
+-            slideSizer.Add(self.connslider,    0, wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL)
+-            slideSizer.Add(self.connUpperText, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL)
++            slideSizer.Add(self.connLowerText, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
++            slideSizer.Add(self.connslider,    0, wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL)
++            slideSizer.Add(self.connUpperText, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
+-            colSizer.Add(slideSizer, 1, wxALL|wxALIGN_CENTER|wxEXPAND, 0)
++            colSizer.Add(slideSizer, 1, wx.ALL|wx.ALIGN_CENTER|wx.EXPAND, 0)
+             self.unlimitedLabel = StaticText('0 kB/s means unlimited. Tip: your download rate is proportional to your upload rate', self.FONT-2)
+-            colSizer.Add(self.unlimitedLabel, 0, wxALIGN_CENTER)
++            colSizer.Add(self.unlimitedLabel, 0, wx.ALIGN_CENTER)
+-            self.priorityIDs = [wxNewId(),wxNewId(),wxNewId(),wxNewId()]
+-            self.prioritycolors = [ wxColour(160,160,160),
+-                                    wxColour(255,64,0),
+-                                    wxColour(0,0,0),
+-                                    wxColour(64,64,255) ]
+-
+-
+-            EVT_LEFT_DOWN(aboutText, self.about)
+-            EVT_LEFT_DOWN(fileDetails, self.details)
+-            EVT_LEFT_DOWN(self.statusIconPtr,self.statusIconHelp)
+-            EVT_LEFT_DOWN(advText, self.advanced)
+-            EVT_LEFT_DOWN(prefsText, self.openConfigMenu)
+-            EVT_CLOSE(frame, self.done)
+-            EVT_BUTTON(frame, self.pauseButton.GetId(), self.pause)
+-            EVT_BUTTON(frame, self.cancelButton.GetId(), self.done)
++            self.priorityIDs = [wx.NewId(),wx.NewId(),wx.NewId(),wx.NewId()]
++            self.prioritycolors = [ wx.Colour(160,160,160),
++                                    wx.Colour(255,64,0),
++                                    wx.Colour(0,0,0),
++                                    wx.Colour(64,64,255) ]
++
++
++            wx.EVT_LEFT_DOWN(aboutText, self.about)
++            wx.EVT_LEFT_DOWN(fileDetails, self.details)
++            wx.EVT_LEFT_DOWN(self.statusIconPtr,self.statusIconHelp)
++            wx.EVT_LEFT_DOWN(advText, self.advanced)
++            wx.EVT_LEFT_DOWN(prefsText, self.openConfigMenu)
++            wx.EVT_CLOSE(frame, self.done)
++            wx.EVT_BUTTON(frame, self.pauseButton.GetId(), self.pause)
++            wx.EVT_BUTTON(frame, self.cancelButton.GetId(), self.done)
+             EVT_INVOKE(frame, self.onInvoke)
+-            EVT_SCROLL(self.rateslider, self.onRateScroll)
+-            EVT_SCROLL(self.connslider, self.onConnScroll)
+-            EVT_CHOICE(self.connChoice, -1, self.onConnChoice)
+-            EVT_SPINCTRL(self.connSpinner, -1, self.onConnSpinner)
+-            EVT_SPINCTRL(self.rateSpinner, -1, self.onRateSpinner)
++            wx.EVT_SCROLL(self.rateslider, self.onRateScroll)
++            wx.EVT_SCROLL(self.connslider, self.onConnScroll)
++            wx.EVT_CHOICE(self.connChoice, -1, self.onConnChoice)
++            wx.EVT_SPINCTRL(self.connSpinner, -1, self.onConnSpinner)
++            wx.EVT_SPINCTRL(self.rateSpinner, -1, self.onRateSpinner)
+             if (sys.platform == 'win32'):
+-                self.frame.tbicon = wxTaskBarIcon()
+-                EVT_ICONIZE(self.frame, self.onIconify)
+-                EVT_TASKBAR_LEFT_DCLICK(self.frame.tbicon, self.onTaskBarActivate)
+-                EVT_TASKBAR_RIGHT_UP(self.frame.tbicon, self.onTaskBarMenu)
+-                EVT_MENU(self.frame.tbicon, self.TBMENU_RESTORE, self.onTaskBarActivate)
+-                EVT_MENU(self.frame.tbicon, self.TBMENU_CLOSE, self.done)
++                self.frame.tbicon = wx.TaskBarIcon()
++                wx.EVT_ICONIZE(self.frame, self.onIconify)
++                wx.EVT_TASKBAR_LEFT_DCLICK(self.frame.tbicon, self.onTaskBarActivate)
++                wx.EVT_TASKBAR_RIGHT_UP(self.frame.tbicon, self.onTaskBarMenu)
++                wx.EVT_MENU(self.frame.tbicon, self.TBMENU_RESTORE, self.onTaskBarActivate)
++                wx.EVT_MENU(self.frame.tbicon, self.TBMENU_CLOSE, self.done)
+             colSizer.AddGrowableCol (0)
+             colSizer.AddGrowableRow (6)
+             self.frame.Show()
+@@ -468,7 +468,7 @@
+             if not self.uiflag.isSet():
+                 self.invokeLaterList.append((func,args,kwargs))
+                 if len(self.invokeLaterList) == 1:
+-                    wxPostEvent(self.frame, self.invokeLaterEvent)
++                    wx.PostEvent(self.frame, self.invokeLaterEvent)
+     else:
+         def onInvoke(self, event):
+             if not self.uiflag.isSet():
+@@ -479,7 +479,7 @@
+         def invokeLater(self, func, args = [], kwargs = {}):
+             if not self.uiflag.isSet():
+-                wxPostEvent(self.frame, InvokeEvent(func, args, kwargs))
++                wx.PostEvent(self.frame, InvokeEvent(func, args, kwargs))
+     def getStatusIcon(self, name, bitmap=False):
+@@ -488,9 +488,9 @@
+             if type(i)  == type(self.icon) and not bitmap:
+                 return i
+         if bitmap:
+-            i = wxBitmap(self.statusIconFiles[name], wxBITMAP_TYPE_ICO)
++            i = wx.Bitmap(self.statusIconFiles[name], wx.BITMAP_TYPE_ICO)
+         else:
+-            i = wxIcon(self.statusIconFiles[name], wxBITMAP_TYPE_ICO)
++            i = wx.Icon(self.statusIconFiles[name], wx.BITMAP_TYPE_ICO)
+         self.statusIcons[name] = i
+         return i
+@@ -499,7 +499,7 @@
+         if name == self.statusIconValue:
+             return
+         self.statusIconValue = name
+-        statidata = wxMemoryDC()
++        statidata = wx.MemoryDC()
+         statidata.SelectObject(self.statusIcon)
+         statidata.BeginDrawing()
+         try:
+@@ -507,16 +507,16 @@
+         except:
+             statidata.DrawBitmap(self.getStatusIcon(name,True),0,0,True)
+         statidata.EndDrawing()
+-        statidata.SelectObject(wxNullBitmap)
++        statidata.SelectObject(wx.NullBitmap)
+         self.statusIconPtr.Refresh()
+     def createStatusIcon(self, name):
+-        iconbuffer = wxEmptyBitmap(32,32)
+-        bbdata = wxMemoryDC()
++        iconbuffer = wx.EmptyBitmap(32,32)
++        bbdata = wx.MemoryDC()
+         bbdata.SelectObject(iconbuffer)
+-        bbdata.SetPen(wxTRANSPARENT_PEN)
+-        bbdata.SetBrush(wxBrush(self.bgcolor,wxSOLID))
++        bbdata.SetPen(wx.TRANSPARENT_PEN)
++        bbdata.SetBrush(wx.Brush(self.bgcolor,wx.SOLID))
+         bbdata.DrawRectangle(0,0,32,32)
+         try:
+             bbdata.DrawIcon(self.getStatusIcon(name),0,0)
+@@ -534,10 +534,10 @@
+             self.gaugemode = selection
+         if selection < 0:
+             self.gauge.SetForegroundColour(self.configfile.getcheckingcolor())
+-            self.gauge.SetBackgroundColour(wxSystemSettings_GetColour(wxSYS_COLOUR_MENU))
++            self.gauge.SetBackgroundColour(wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENU))
+         elif selection == 0:
+             self.gauge.SetForegroundColour(self.configfile.getdownloadcolor())
+-            self.gauge.SetBackgroundColour(wxSystemSettings_GetColour(wxSYS_COLOUR_MENU))
++            self.gauge.SetBackgroundColour(wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENU))
+         else:
+             self.gauge.SetForegroundColour(self.configfile.getseedingcolor())
+             self.gauge.SetBackgroundColour(self.configfile.getdownloadcolor())
+@@ -567,7 +567,7 @@
+                 self.frame.Raise()
+             self.frame.tbicon.RemoveIcon()
+             self.taskbaricon = False
+-        except wxPyDeadObjectError:
++        except wx.PyDeadObjectError:
+             pass
+         except:
+             self.exception()
+@@ -576,7 +576,7 @@
+     TBMENU_CLOSE   = 1001
+     def onTaskBarMenu(self, evt):
+-        menu = wxMenu()
++        menu = wx.Menu()
+         menu.Append(self.TBMENU_RESTORE, "Restore BitTorrent")
+         menu.Append(self.TBMENU_CLOSE,   "Close")
+         self.frame.tbicon.PopupMenu(menu)
+@@ -721,33 +721,33 @@
+             if (self.aboutBox is not None):
+                 try:
+                     self.aboutBox.Close ()
+-                except wxPyDeadObjectError, e:
++                except wx.PyDeadObjectError, e:
+                     self.aboutBox = None
+-            self.aboutBox = wxFrame(None, -1, 'About BitTorrent', size = (1,1),
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
++            self.aboutBox = wx.Frame(None, -1, 'About BitTorrent', size = (1,1),
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
+             try:
+                 self.aboutBox.SetIcon(self.icon)
+             except:
+                 pass
+-            panel = wxPanel(self.aboutBox, -1)
++            panel = wx.Panel(self.aboutBox, -1)
+             def StaticText(text, font = self.FONT, underline = False, color = None, panel = panel):
+-                x = wxStaticText(panel, -1, text, style = wxALIGN_LEFT)
+-                x.SetFont(wxFont(font, wxDEFAULT, wxNORMAL, wxNORMAL, underline))
++                x = wx.StaticText(panel, -1, text, style = wx.ALIGN_LEFT)
++                x.SetFont(wx.Font(font, wx.DEFAULT, wx.NORMAL, wx.NORMAL, underline))
+                 if color is not None:
+                     x.SetForegroundColour(color)
+                 return x
+-            colSizer = wxFlexGridSizer(cols = 1, vgap = 3)
++            colSizer = wx.FlexGridSizer(cols = 1, vgap = 3)
+-            titleSizer = wxBoxSizer(wxHORIZONTAL)
++            titleSizer = wx.BoxSizer(wx.HORIZONTAL)
+             aboutTitle = StaticText('BitTorrent ' + version + '  ', self.FONT+4)
+             titleSizer.Add (aboutTitle)
+             linkDonate = StaticText('Donate to Bram', self.FONT, True, 'Blue')
+-            titleSizer.Add (linkDonate, 1, wxALIGN_BOTTOM&wxEXPAND)
+-            colSizer.Add(titleSizer, 0, wxEXPAND)
++            titleSizer.Add (linkDonate, 1, wx.ALIGN_BOTTOM&wx.EXPAND)
++            colSizer.Add(titleSizer, 0, wx.EXPAND)
+             colSizer.Add(StaticText('created by Bram Cohen, Copyright 2001-2003,'))
+             colSizer.Add(StaticText('experimental version maintained by John Hoffman 2003'))
+@@ -757,7 +757,7 @@
+             si = ( 'exact Version String: ' + version + '\n' +
+                    'Python version: ' + sys.version + '\n' +
+-                   'wxWindows version: ' + wxVERSION_STRING + '\n' )
++                   'wxWidgets version: ' + wx.VERSION_STRING + '\n' )
+             try:
+                 si += 'Psyco version: ' + hex(psyco.__version__)[2:] + '\n'
+             except:
+@@ -777,36 +777,36 @@
+             colSizer.Add (babble4)
+             colSizer.Add (babble6)
+-            okButton = wxButton(panel, -1, 'Ok')
+-            colSizer.Add(okButton, 0, wxALIGN_RIGHT)
++            okButton = wx.Button(panel, -1, 'Ok')
++            colSizer.Add(okButton, 0, wx.ALIGN_RIGHT)
+             colSizer.AddGrowableCol(0)
+-            border = wxBoxSizer(wxHORIZONTAL)
+-            border.Add(colSizer, 1, wxEXPAND | wxALL, 4)
++            border = wx.BoxSizer(wx.HORIZONTAL)
++            border.Add(colSizer, 1, wx.EXPAND | wx.ALL, 4)
+             panel.SetSizer(border)
+             panel.SetAutoLayout(True)
+             def donatelink(self):
+                 Thread(target = open_new('https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=bram@bitconjurer.org&item_name=BitTorrent&amount=5.00&submit=donate')).start()
+-            EVT_LEFT_DOWN(linkDonate, donatelink)
++            wx.EVT_LEFT_DOWN(linkDonate, donatelink)
+             def aboutlink(self):
+                 Thread(target = open_new('http://bitconjurer.org/BitTorrent/')).start()
+-            EVT_LEFT_DOWN(babble2, aboutlink)
++            wx.EVT_LEFT_DOWN(babble2, aboutlink)
+             def shadlink(self):
+                 Thread(target = open_new('http://www.bittornado.com/')).start()
+-            EVT_LEFT_DOWN(babble3, shadlink)
++            wx.EVT_LEFT_DOWN(babble3, shadlink)
+             def explink(self):
+                 Thread(target = open_new('http://ei.kefro.st/projects/btclient/')).start()
+-            EVT_LEFT_DOWN(babble4, explink)
++            wx.EVT_LEFT_DOWN(babble4, explink)
+             def licenselink(self):
+                 Thread(target = open_new('http://ei.kefro.st/projects/btclient/LICENSE.TXT')).start()
+-            EVT_LEFT_DOWN(babble6, licenselink)
+-            EVT_LEFT_DOWN(credits, self.credits)
++            wx.EVT_LEFT_DOWN(babble6, licenselink)
++            wx.EVT_LEFT_DOWN(credits, self.credits)
+             def closeAbout(e, self = self):
+                 if self.aboutBox:
+                     self.aboutBox.Close()
+-            EVT_BUTTON(self.aboutBox, okButton.GetId(), closeAbout)
++            wx.EVT_BUTTON(self.aboutBox, okButton.GetId(), closeAbout)
+             def kill(e, self = self):
+                 try:
+                     self.aboutBox.RemoveIcon()
+@@ -814,7 +814,7 @@
+                     pass
+                 self.aboutBox.Destroy()
+                 self.aboutBox = None
+-            EVT_CLOSE(self.aboutBox, kill)
++            wx.EVT_CLOSE(self.aboutBox, kill)
+             self.aboutBox.Show()
+             border.Fit(panel)
+@@ -846,35 +846,35 @@
+             if (self.detailBox is not None):
+                 try:
+                     self.detailBox.Close()
+-                except wxPyDeadObjectError, e:
++                except wx.PyDeadObjectError, e:
+                     self.detailBox = None
+-            self.detailBox = wxFrame(None, -1, 'Torrent Details ', size = wxSize(405,230),
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
++            self.detailBox = wx.Frame(None, -1, 'Torrent Details ', size = wx.Size(405,230),
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
+             try:
+                 self.detailBox.SetIcon(self.icon)
+             except:
+                 pass
+-            panel = wxPanel(self.detailBox, -1, size = wxSize (400,220))
++            panel = wx.Panel(self.detailBox, -1, size = wx.Size (400,220))
+             def StaticText(text, font = self.FONT, underline = False, color = None, panel = panel):
+-                x = wxStaticText(panel, -1, text, style = wxALIGN_CENTER_VERTICAL)
+-                x.SetFont(wxFont(font, wxDEFAULT, wxNORMAL, wxNORMAL, underline))
++                x = wx.StaticText(panel, -1, text, style = wx.ALIGN_CENTER_VERTICAL)
++                x.SetFont(wx.Font(font, wx.DEFAULT, wx.NORMAL, wx.NORMAL, underline))
+                 if color is not None:
+                     x.SetForegroundColour(color)
+                 return x
+-            colSizer = wxFlexGridSizer(cols = 1, vgap = 3)
++            colSizer = wx.FlexGridSizer(cols = 1, vgap = 3)
+             colSizer.AddGrowableCol(0)
+-            titleSizer = wxBoxSizer(wxHORIZONTAL)
++            titleSizer = wx.BoxSizer(wx.HORIZONTAL)
+             aboutTitle = StaticText('Details about ' + self.filename, self.FONT+4)
+             titleSizer.Add (aboutTitle)
+             colSizer.Add (titleSizer)
+-            detailSizer = wxFlexGridSizer(cols = 2, vgap = 6)
++            detailSizer = wx.FlexGridSizer(cols = 2, vgap = 6)
+             if info.has_key('length'):
+                 fileListID = None
+@@ -886,37 +886,37 @@
+                 file_length = info['length']
+                 name = "file size"
+             else:
+-                detail1Sizer = wxFlexGridSizer(cols = 1, vgap = 6)
++                detail1Sizer = wx.FlexGridSizer(cols = 1, vgap = 6)
+                 detail1Sizer.Add(StaticText('directory name : ' + info['name']))
+                 colSizer.Add (detail1Sizer)
+-                bgallocButton = wxBitmapButton(panel, -1, self.allocbuttonBitmap, size = (52,20))
++                bgallocButton = wx.BitmapButton(panel, -1, self.allocbuttonBitmap, size = (52,20))
+                 def bgalloc(self, frame = self):
+                     if frame.dow.storagewrapper is not None:
+                         frame.dow.storagewrapper.bgalloc()
+-                EVT_BUTTON(self.detailBox, bgallocButton.GetId(), bgalloc)
++                wx.EVT_BUTTON(self.detailBox, bgallocButton.GetId(), bgalloc)
+-                bgallocbuttonSizer = wxFlexGridSizer(cols = 4, hgap = 4, vgap = 0)
+-                bgallocbuttonSizer.Add(StaticText('(right-click to set priority)',self.FONT-1),0,wxALIGN_BOTTOM)
+-                bgallocbuttonSizer.Add(StaticText('(finish allocation)'), -1, wxALIGN_CENTER_VERTICAL)
+-                bgallocbuttonSizer.Add(bgallocButton, -1, wxALIGN_CENTER)
++                bgallocbuttonSizer = wx.FlexGridSizer(cols = 4, hgap = 4, vgap = 0)
++                bgallocbuttonSizer.Add(StaticText('(right-click to set priority)',self.FONT-1),0,wx.ALIGN_BOTTOM)
++                bgallocbuttonSizer.Add(StaticText('(finish allocation)'), -1, wx.ALIGN_CENTER_VERTICAL)
++                bgallocbuttonSizer.Add(bgallocButton, -1, wx.ALIGN_CENTER)
+                 bgallocbuttonSizer.AddGrowableCol(0)
+-                colSizer.Add(bgallocbuttonSizer, -1, wxEXPAND)
++                colSizer.Add(bgallocbuttonSizer, -1, wx.EXPAND)
+                 file_length = 0
+-                fileListID = wxNewId()
+-                fileList = wxListCtrl(panel, fileListID,
+-                                      wxPoint(-1,-1), (325,100), wxLC_REPORT)
++                fileListID = wx.NewId()
++                fileList = wx.ListCtrl(panel, fileListID,
++                                      wx.Point(-1,-1), (325,100), wx.LC_REPORT)
+                 self.fileList = fileList
+-                fileList.SetImageList(self.filestatusIcons, wxIMAGE_LIST_SMALL)
++                fileList.SetImageList(self.filestatusIcons, wx.IMAGE_LIST_SMALL)
+                 fileList.SetAutoLayout (True)
+                 fileList.InsertColumn(0, "file")
+-                fileList.InsertColumn(1, "", format=wxLIST_FORMAT_RIGHT, width=55)
++                fileList.InsertColumn(1, "", format=wx.LIST_FORMAT_RIGHT, width=55)
+                 fileList.InsertColumn(2, "")
+                 for i in range(len(info['files'])):
+-                    x = wxListItem()
++                    x = wx.ListItem()
+                     fileList.InsertItem(x)
+                 x = 0
+@@ -937,15 +937,15 @@
+                         fileList.SetItem(item)
+                     x += 1
+                     file_length += file['length']
+-                fileList.SetColumnWidth(0,wxLIST_AUTOSIZE)
+-                fileList.SetColumnWidth(2,wxLIST_AUTOSIZE)
++                fileList.SetColumnWidth(0,wx.LIST_AUTOSIZE)
++                fileList.SetColumnWidth(2,wx.LIST_AUTOSIZE)
+                 name = 'archive size'
+-                colSizer.Add(fileList, 1, wxEXPAND)
++                colSizer.Add(fileList, 1, wx.EXPAND)
+                 colSizer.AddGrowableRow(3)
+-            detailSizer.Add(StaticText('info_hash :'),0,wxALIGN_CENTER_VERTICAL)
+-            detailSizer.Add(wxTextCtrl(panel, -1, tohex(info_hash), size = (325, -1), style = wxTE_READONLY))
++            detailSizer.Add(StaticText('info_hash :'),0,wx.ALIGN_CENTER_VERTICAL)
++            detailSizer.Add(wx.TextCtrl(panel, -1, tohex(info_hash), size = (325, -1), style = wx.TE_READONLY))
+             num_pieces = int((file_length+piece_length-1)/piece_length)
+             detailSizer.Add(StaticText(name + ' : '))
+             detailSizer.Add(StaticText('%s (%s bytes)' % (size_format(file_length), comma_format(file_length))))
+@@ -956,22 +956,22 @@
+                 detailSizer.Add(StaticText('1'))
+             if announce_list is None:
+-                detailSizer.Add(StaticText('announce url : '),0,wxALIGN_CENTER_VERTICAL)
+-                detailSizer.Add(wxTextCtrl(panel, -1, announce, size = (325, -1), style = wxTE_READONLY))
++                detailSizer.Add(StaticText('announce url : '),0,wx.ALIGN_CENTER_VERTICAL)
++                detailSizer.Add(wx.TextCtrl(panel, -1, announce, size = (325, -1), style = wx.TE_READONLY))
+             else:
+                 detailSizer.Add(StaticText(''))
+-                trackerList = wxListCtrl(panel, -1, wxPoint(-1,-1), (325,75), wxLC_REPORT)
++                trackerList = wx.ListCtrl(panel, -1, wx.Point(-1,-1), (325,75), wx.LC_REPORT)
+                 trackerList.SetAutoLayout (True)
+                 trackerList.InsertColumn(0, "")
+                 trackerList.InsertColumn(1, "announce urls")
+                 for tier in range(len(announce_list)):
+                     for t in range(len(announce_list[tier])):
+-                        i = wxListItem()
++                        i = wx.ListItem()
+                         trackerList.InsertItem(i)
+                 if announce is not None:
+                     for l in [1,2]:
+-                        i = wxListItem()
++                        i = wx.ListItem()
+                         trackerList.InsertItem(i)
+                 x = 0
+@@ -984,8 +984,8 @@
+                 if announce is not None:
+                     trackerList.SetStringItem(x+1, 0, 'single:')
+                     trackerList.SetStringItem(x+1, 1, announce)
+-                trackerList.SetColumnWidth(0,wxLIST_AUTOSIZE)
+-                trackerList.SetColumnWidth(1,wxLIST_AUTOSIZE)
++                trackerList.SetColumnWidth(0,wx.LIST_AUTOSIZE)
++                trackerList.SetColumnWidth(1,wx.LIST_AUTOSIZE)
+                 detailSizer.Add(trackerList)
+             if announce is None and announce_list is not None:
+@@ -1011,10 +1011,10 @@
+                         detailSizer.Add(StaticText('<cannot read date>'))
+             detailSizer.AddGrowableCol(1)
+-            colSizer.Add (detailSizer, 1, wxEXPAND)
++            colSizer.Add (detailSizer, 1, wx.EXPAND)
+-            okButton = wxButton(panel, -1, 'Ok')
+-            colSizer.Add(okButton, 0, wxALIGN_RIGHT)
++            okButton = wx.Button(panel, -1, 'Ok')
++            colSizer.Add(okButton, 0, wx.ALIGN_RIGHT)
+             colSizer.AddGrowableCol(0)
+             if not self.configfileargs['gui_stretchwindow']:
+@@ -1022,8 +1022,8 @@
+             else:
+                 panel.SetAutoLayout(True)
+-            border = wxBoxSizer(wxHORIZONTAL)
+-            border.Add(colSizer, 1, wxEXPAND | wxALL, 4)
++            border = wx.BoxSizer(wx.HORIZONTAL)
++            border.Add(colSizer, 1, wx.EXPAND | wx.ALL, 4)
+             panel.SetSizer(border)
+             panel.SetAutoLayout(True)
+@@ -1032,20 +1032,20 @@
+                     s = []
+                     i = -1
+                     while True:
+-                        i = self.fileList.GetNextItem(i,state=wxLIST_STATE_SELECTED)
++                        i = self.fileList.GetNextItem(i,state=wx.LIST_STATE_SELECTED)
+                         if i == -1:
+                             break
+                         s.append(i)
+                     if not s:   # just in case
+                         return
+                     oldstate = self.dow.fileselector[s[0]]
+-                    kind=wxITEM_RADIO
++                    kind=wx.ITEM_RADIO
+                     for i in s[1:]:
+                         if self.dow.fileselector[i] != oldstate:
+                             oldstate = None
+-                            kind = wxITEM_NORMAL
++                            kind = wx.ITEM_NORMAL
+                             break
+-                    menu = wxMenu()
++                    menu = wx.Menu()
+                     menu.Append(self.priorityIDs[1], "download first", kind=kind)
+                     menu.Append(self.priorityIDs[2], "download normally", kind=kind)
+                     menu.Append(self.priorityIDs[3], "download later", kind=kind)
+@@ -1069,16 +1069,16 @@
+                                 break
+                         
+                     for id in self.priorityIDs:
+-                        EVT_MENU(self.detailBox, id, onSelection)
++                        wx.EVT_MENU(self.detailBox, id, onSelection)
+                     self.detailBox.PopupMenu(menu, evt.GetPoint())
+                         
+-                EVT_LIST_ITEM_RIGHT_CLICK(self.detailBox, fileListID, onRightClick)
++                wx.EVT_LIST_ITEM_RIGHT_CLICK(self.detailBox, fileListID, onRightClick)
+             def closeDetail(evt, self = self):
+                 if self.detailBox:
+                     self.detailBox.Close()
+-            EVT_BUTTON(self.detailBox, okButton.GetId(), closeDetail)
++            wx.EVT_BUTTON(self.detailBox, okButton.GetId(), closeDetail)
+             def kill(evt, self = self):
+                 try:
+                     self.detailBox.RemoveIcon()
+@@ -1088,14 +1088,14 @@
+                 self.detailBox = None
+                 self.fileList = None
+                 self.dow.filedatflag.clear()
+-            EVT_CLOSE(self.detailBox, kill)
++            wx.EVT_CLOSE(self.detailBox, kill)
+             def trackerurl(self, turl = turl):
+                 try:
+                     Thread(target = open_new(turl)).start()
+                 except:
+                     pass
+-            EVT_LEFT_DOWN(trackerUrl, trackerurl)
++            wx.EVT_LEFT_DOWN(trackerUrl, trackerurl)
+             self.detailBox.Show ()
+             border.Fit(panel)
+@@ -1112,35 +1112,35 @@
+             if (self.creditsBox is not None):
+                 try:
+                     self.creditsBox.Close()
+-                except wxPyDeadObjectError, e:
++                except wx.PyDeadObjectError, e:
+                     self.creditsBox = None
+-            self.creditsBox = wxFrame(None, -1, 'Credits', size = (1,1),
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
++            self.creditsBox = wx.Frame(None, -1, 'Credits', size = (1,1),
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
+             try:
+                 self.creditsBox.SetIcon(self.icon)
+             except:
+                 pass
+-            panel = wxPanel(self.creditsBox, -1)        
++            panel = wx.Panel(self.creditsBox, -1)        
+             def StaticText(text, font = self.FONT, underline = False, color = None, panel = panel):
+-                x = wxStaticText(panel, -1, text, style = wxALIGN_LEFT)
+-                x.SetFont(wxFont(font, wxDEFAULT, wxNORMAL, wxNORMAL, underline))
++                x = wx.StaticText(panel, -1, text, style = wx.ALIGN_LEFT)
++                x.SetFont(wx.Font(font, wx.DEFAULT, wx.NORMAL, wx.NORMAL, underline))
+                 if color is not None:
+                     x.SetForegroundColour(color)
+                 return x
+-            colSizer = wxFlexGridSizer(cols = 1, vgap = 3)
++            colSizer = wx.FlexGridSizer(cols = 1, vgap = 3)
+-            titleSizer = wxBoxSizer(wxHORIZONTAL)
++            titleSizer = wx.BoxSizer(wx.HORIZONTAL)
+             aboutTitle = StaticText('Credits', self.FONT+4)
+             titleSizer.Add (aboutTitle)
+             colSizer.Add (titleSizer)
+             colSizer.Add (StaticText(
+               'The following people have all helped with this\n' +
+               'version of BitTorrent in some way (in no particular order) -\n'));
+-            creditSizer = wxFlexGridSizer(cols = 3)
++            creditSizer = wx.FlexGridSizer(cols = 3)
+             creditSizer.Add(StaticText(
+               'Bill Bumgarner\n' +
+               'David Creswick\n' +
+@@ -1178,20 +1178,20 @@
+               'Jon Wolf\n' +
+               'Christoph Hohmann\n' +
+               'Micah Anderson'))
+-            colSizer.Add (creditSizer, flag = wxALIGN_CENTER_HORIZONTAL)
+-            okButton = wxButton(panel, -1, 'Ok')
+-            colSizer.Add(okButton, 0, wxALIGN_RIGHT)
++            colSizer.Add (creditSizer, flag = wx.ALIGN_CENTER_HORIZONTAL)
++            okButton = wx.Button(panel, -1, 'Ok')
++            colSizer.Add(okButton, 0, wx.ALIGN_RIGHT)
+             colSizer.AddGrowableCol(0)
+-            border = wxBoxSizer(wxHORIZONTAL)
+-            border.Add(colSizer, 1, wxEXPAND | wxALL, 4)
++            border = wx.BoxSizer(wx.HORIZONTAL)
++            border.Add(colSizer, 1, wx.EXPAND | wx.ALL, 4)
+             panel.SetSizer(border)
+             panel.SetAutoLayout(True)
+             def closeCredits(e, self = self):
+                 if self.creditsBox:
+                     self.creditsBox.Close()
+-            EVT_BUTTON(self.creditsBox, okButton.GetId(), closeCredits)
++            wx.EVT_BUTTON(self.creditsBox, okButton.GetId(), closeCredits)
+             def kill(e, self = self):
+                 try:
+                     self.creditsBox.RemoveIcon()
+@@ -1199,7 +1199,7 @@
+                     pass
+                 self.creditsBox.Destroy()
+                 self.creditsBox = None
+-            EVT_CLOSE(self.creditsBox, kill)
++            wx.EVT_CLOSE(self.creditsBox, kill)
+             self.creditsBox.Show()
+             border.Fit(panel)
+@@ -1213,86 +1213,86 @@
+             if (self.statusIconHelpBox is not None):
+                 try:
+                     self.statusIconHelpBox.Close()
+-                except wxPyDeadObjectError, e:
++                except wx.PyDeadObjectError, e:
+                     self.statusIconHelpBox = None
+-            self.statusIconHelpBox = wxFrame(None, -1, 'Help with the BitTorrent Status Light', size = (1,1),
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
++            self.statusIconHelpBox = wx.Frame(None, -1, 'Help with the BitTorrent Status Light', size = (1,1),
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
+             try:
+                 self.statusIconHelpBox.SetIcon(self.icon)
+             except:
+                 pass
+-            panel = wxPanel(self.statusIconHelpBox, -1)
++            panel = wx.Panel(self.statusIconHelpBox, -1)
+             def StaticText(text, font = self.FONT, underline = False, color = None, panel = panel):
+-                x = wxStaticText(panel, -1, text, style = wxALIGN_LEFT)
+-                x.SetFont(wxFont(font, wxDEFAULT, wxNORMAL, wxNORMAL, underline))
++                x = wx.StaticText(panel, -1, text, style = wx.ALIGN_LEFT)
++                x.SetFont(wx.Font(font, wx.DEFAULT, wx.NORMAL, wx.NORMAL, underline))
+                 if color is not None:
+                     x.SetForegroundColour(color)
+                 return x
+-            fullsizer = wxFlexGridSizer(cols = 1, vgap = 13)
+-            colsizer = wxFlexGridSizer(cols = 2, hgap = 13, vgap = 13)
++            fullsizer = wx.FlexGridSizer(cols = 1, vgap = 13)
++            colsizer = wx.FlexGridSizer(cols = 2, hgap = 13, vgap = 13)
+             disconnectedicon=self.createStatusIcon('disconnected')
+-            colsizer.Add(wxStaticBitmap(panel, -1, disconnectedicon))
++            colsizer.Add(wx.StaticBitmap(panel, -1, disconnectedicon))
+             colsizer.Add(StaticText(
+                 'Waiting to connect to the tracker.\n' +
+                 'If the status light stays black for a long time the tracker\n' +
+                 'you are trying to connect to may not be working.  Unless you\n' +
+                 'are receiving a message telling you otherwise, please wait,\n' +
+-                'and BitTorrent will automatically try to reconnect for you.'), 1, wxALIGN_CENTER_VERTICAL)
++                'and BitTorrent will automatically try to reconnect for you.'), 1, wx.ALIGN_CENTER_VERTICAL)
+             noconnectionsicon=self.createStatusIcon('noconnections')
+-            colsizer.Add(wxStaticBitmap(panel, -1, noconnectionsicon))
++            colsizer.Add(wx.StaticBitmap(panel, -1, noconnectionsicon))
+             colsizer.Add(StaticText(
+                 'You have no connections with other clients.\n' +
+                 'Please be patient.  If after several minutes the status\n' +
+-                'light remains red, this torrent may be old and abandoned.'), 1, wxALIGN_CENTER_VERTICAL)
++                'light remains red, this torrent may be old and abandoned.'), 1, wx.ALIGN_CENTER_VERTICAL)
+             noincomingicon=self.createStatusIcon('noincoming')
+-            colsizer.Add(wxStaticBitmap(panel, -1, noincomingicon))
++            colsizer.Add(wx.StaticBitmap(panel, -1, noincomingicon))
+             colsizer.Add(StaticText(
+                 'You have not received any incoming connections from others.\n' +
+                 'It may only be because no one has tried.  If you never see\n' +
+                 'the status light turn green, it may indicate your system\n' +
+                 'is behind a firewall or proxy server.  Please look into\n' +
+                 'routing BitTorrent through your firewall in order to receive\n' +
+-                'the best possible download rate.'), 1, wxALIGN_CENTER_VERTICAL)
++                'the best possible download rate.'), 1, wx.ALIGN_CENTER_VERTICAL)
+             nocompletesicon=self.createStatusIcon('nocompletes')
+-            colsizer.Add(wxStaticBitmap(panel, -1, nocompletesicon))
++            colsizer.Add(wx.StaticBitmap(panel, -1, nocompletesicon))
+             colsizer.Add(StaticText(
+                 'There are no complete copies among the clients you are\n' +
+                 'connected to.  Don\'t panic, other clients in the torrent\n' +
+                 "you can't see may have the missing data.\n" +
+                 'If the status light remains blue, you may have problems\n' +
+-                'completing your download.'), 1, wxALIGN_CENTER_VERTICAL)
++                'completing your download.'), 1, wx.ALIGN_CENTER_VERTICAL)
+             allgoodicon=self.createStatusIcon('allgood')
+-            colsizer.Add(wxStaticBitmap(panel, -1, allgoodicon))
++            colsizer.Add(wx.StaticBitmap(panel, -1, allgoodicon))
+             colsizer.Add(StaticText(
+-                'The torrent is operating properly.'), 1, wxALIGN_CENTER_VERTICAL)
++                'The torrent is operating properly.'), 1, wx.ALIGN_CENTER_VERTICAL)
+-            fullsizer.Add(colsizer, 0, wxALIGN_CENTER)
+-            colsizer2 = wxFlexGridSizer(cols = 1, hgap = 13)
++            fullsizer.Add(colsizer, 0, wx.ALIGN_CENTER)
++            colsizer2 = wx.FlexGridSizer(cols = 1, hgap = 13)
+             colsizer2.Add(StaticText(
+                 'Please note that the status light is not omniscient, and that it may\n' +
+                 'be wrong in many instances.  A torrent with a blue light may complete\n' +
+                 "normally, and an occasional yellow light doesn't mean your computer\n" +
+-                'has suddenly become firewalled.'), 1, wxALIGN_CENTER_VERTICAL)
++                'has suddenly become firewalled.'), 1, wx.ALIGN_CENTER_VERTICAL)
+             colspacer = StaticText('  ')
+             colsizer2.Add(colspacer)
+-            okButton = wxButton(panel, -1, 'Ok')
+-            colsizer2.Add(okButton, 0, wxALIGN_CENTER)
+-            fullsizer.Add(colsizer2, 0, wxALIGN_CENTER)
++            okButton = wx.Button(panel, -1, 'Ok')
++            colsizer2.Add(okButton, 0, wx.ALIGN_CENTER)
++            fullsizer.Add(colsizer2, 0, wx.ALIGN_CENTER)
+-            border = wxBoxSizer(wxHORIZONTAL)
+-            border.Add(fullsizer, 1, wxEXPAND | wxALL, 4)
++            border = wx.BoxSizer(wx.HORIZONTAL)
++            border.Add(fullsizer, 1, wx.EXPAND | wx.ALL, 4)
+             panel.SetSizer(border)
+             panel.SetAutoLayout(True)
+@@ -1300,7 +1300,7 @@
+             def closeHelp(self, frame = self):
+                 frame.statusIconHelpBox.Close()
+-            EVT_BUTTON(self.statusIconHelpBox, okButton.GetId(), closeHelp)
++            wx.EVT_BUTTON(self.statusIconHelpBox, okButton.GetId(), closeHelp)
+             self.statusIconHelpBox.Show ()
+             border.Fit(panel)
+@@ -1323,150 +1323,150 @@
+             if (self.advBox is not None):
+                 try:
+                     self.advBox.Close ()
+-                except wxPyDeadObjectError, e:
++                except wx.PyDeadObjectError, e:
+                     self.advBox = None
+-            self.advBox = wxFrame(None, -1, 'BitTorrent Advanced', size = wxSize(200,200),
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
++            self.advBox = wx.Frame(None, -1, 'BitTorrent Advanced', size = wx.Size(200,200),
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
+             try:
+                 self.advBox.SetIcon(self.icon)
+             except:
+                 pass
+-            panel = wxPanel(self.advBox, -1, size = wxSize (200,200))
++            panel = wx.Panel(self.advBox, -1, size = wx.Size (200,200))
+             def StaticText(text, font = self.FONT, underline = False, color = None, panel = panel):
+-                x = wxStaticText(panel, -1, text, style = wxALIGN_LEFT)
+-                x.SetFont(wxFont(font, wxDEFAULT, wxNORMAL, wxNORMAL, underline))
++                x = wx.StaticText(panel, -1, text, style = wx.ALIGN_LEFT)
++                x.SetFont(wx.Font(font, wx.DEFAULT, wx.NORMAL, wx.NORMAL, underline))
+                 if color is not None:
+                     x.SetForegroundColour(color)
+                 return x
+-            colSizer = wxFlexGridSizer (cols = 1, vgap = 1)
++            colSizer = wx.FlexGridSizer (cols = 1, vgap = 1)
+             colSizer.Add (StaticText('Advanced Info for ' + self.filename, self.FONT+4))
+             try:    # get system font width
+-                fw = wxSystemSettings_GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize()+1
++                fw = wx.SystemSettings_GetFont(wx.SYS_DEFAULT_GUI_FONT).GetPointSize()+1
+             except:
+-                fw = wxSystemSettings_GetFont(wxSYS_SYSTEM_FONT).GetPointSize()+1
++                fw = wx.SystemSettings_GetFont(wx.SYS_SYSTEM_FONT).GetPointSize()+1
+-            spewList = wxListCtrl(panel, -1, wxPoint(-1,-1), (fw*66,350), wxLC_REPORT|wxLC_HRULES|wxLC_VRULES)
++            spewList = wx.ListCtrl(panel, -1, wx.Point(-1,-1), (fw*66,350), wx.LC_REPORT|wx.LC_HRULES|wx.LC_VRULES)
+             self.spewList = spewList
+             spewList.SetAutoLayout (True)
+-            colSizer.Add(spewList, -1, wxEXPAND)
++            colSizer.Add(spewList, -1, wx.EXPAND)
+             colSizer.Add(StaticText(''))
+             self.storagestats1 = StaticText('')
+             self.storagestats2 = StaticText('')
+-            colSizer.Add(self.storagestats1, -1, wxEXPAND)
+-            colSizer.Add(self.storagestats2, -1, wxEXPAND)
+-            spinnerSizer = wxFlexGridSizer(cols=4,vgap=0,hgap=0)
++            colSizer.Add(self.storagestats1, -1, wx.EXPAND)
++            colSizer.Add(self.storagestats2, -1, wx.EXPAND)
++            spinnerSizer = wx.FlexGridSizer(cols=4,vgap=0,hgap=0)
+             cstats = '          Listening on '
+             if self.connection_stats['interfaces']:
+                 cstats += ', '.join(self.connection_stats['interfaces']) + ' on '
+             cstats += 'port ' + str(self.connection_stats['port'])
+             if self.connection_stats['upnp']:
+                 cstats += ', UPnP port forwarded'
+-            spinnerSizer.Add(StaticText(cstats), -1, wxEXPAND)
++            spinnerSizer.Add(StaticText(cstats), -1, wx.EXPAND)
+             spinnerSizer.AddGrowableCol(0)
+-            spinnerSizer.Add(StaticText('Max download rate (kB/s) '),0,wxALIGN_CENTER_VERTICAL)
+-            self.downrateSpinner = wxSpinCtrl (panel, -1, "", (-1,-1), (50, -1))
++            spinnerSizer.Add(StaticText('Max download rate (kB/s) '),0,wx.ALIGN_CENTER_VERTICAL)
++            self.downrateSpinner = wx.SpinCtrl (panel, -1, "", (-1,-1), (50, -1))
+             self.downrateSpinner.SetFont(self.default_font)
+             self.downrateSpinner.SetRange(0,5000)
+             self.downrateSpinner.SetValue(self.config['max_download_rate'])
+             spinnerSizer.Add (self.downrateSpinner, 0)
+-            EVT_SPINCTRL(self.downrateSpinner, -1, self.onDownRateSpinner)
+-            spinnerSizer.Add(StaticText(' (0 = unlimited)  '),0,wxALIGN_CENTER_VERTICAL)
+-            colSizer.Add(spinnerSizer,0,wxEXPAND)
++            wx.EVT_SPINCTRL(self.downrateSpinner, -1, self.onDownRateSpinner)
++            spinnerSizer.Add(StaticText(' (0 = unlimited)  '),0,wx.ALIGN_CENTER_VERTICAL)
++            colSizer.Add(spinnerSizer,0,wx.EXPAND)
+             colSizer.Add(StaticText(''))
+-            buttonSizer = wxFlexGridSizer (cols = 5, hgap = 20)
++            buttonSizer = wx.FlexGridSizer (cols = 5, hgap = 20)
+-            reannounceButton = wxButton(panel, -1, 'Manual Announce')
++            reannounceButton = wx.Button(panel, -1, 'Manual Announce')
+             buttonSizer.Add (reannounceButton)
+-            extannounceButton = wxButton(panel, -1, 'External Announce')
++            extannounceButton = wx.Button(panel, -1, 'External Announce')
+             buttonSizer.Add (extannounceButton)
+-            bgallocButton = wxButton(panel, -1, 'Finish Allocation')
++            bgallocButton = wx.Button(panel, -1, 'Finish Allocation')
+             buttonSizer.Add (bgallocButton)
+             buttonSizer.Add(StaticText(''))
+-            okButton = wxButton(panel, -1, 'Ok')
++            okButton = wx.Button(panel, -1, 'Ok')
+             buttonSizer.Add (okButton)
+-            colSizer.Add (buttonSizer, 0, wxALIGN_CENTER)
++            colSizer.Add (buttonSizer, 0, wx.ALIGN_CENTER)
+             colSizer.AddGrowableCol(0)
+             colSizer.AddGrowableRow(1)
+             panel.SetSizer(colSizer)
+             panel.SetAutoLayout(True)
+-            spewList.InsertColumn(0, "Optimistic Unchoke", format=wxLIST_FORMAT_CENTER, width=fw*2)
++            spewList.InsertColumn(0, "Optimistic Unchoke", format=wx.LIST_FORMAT_CENTER, width=fw*2)
+             spewList.InsertColumn(1, "Peer ID", width=0)
+             spewList.InsertColumn(2, "IP", width=fw*11)
+-            spewList.InsertColumn(3, "Local/Remote", format=wxLIST_FORMAT_CENTER, width=fw*3)
+-            spewList.InsertColumn(4, "Up", format=wxLIST_FORMAT_RIGHT, width=fw*6)
+-            spewList.InsertColumn(5, "Interested", format=wxLIST_FORMAT_CENTER, width=fw*2)
+-            spewList.InsertColumn(6, "Choking", format=wxLIST_FORMAT_CENTER, width=fw*2)
+-            spewList.InsertColumn(7, "Down", format=wxLIST_FORMAT_RIGHT, width=fw*6)
+-            spewList.InsertColumn(8, "Interesting", format=wxLIST_FORMAT_CENTER, width=fw*2)
+-            spewList.InsertColumn(9, "Choked", format=wxLIST_FORMAT_CENTER, width=fw*2)
+-            spewList.InsertColumn(10, "Snubbed", format=wxLIST_FORMAT_CENTER, width=fw*2)
+-            spewList.InsertColumn(11, "Downloaded", format=wxLIST_FORMAT_RIGHT, width=fw*7)
+-            spewList.InsertColumn(12, "Uploaded", format=wxLIST_FORMAT_RIGHT, width=fw*7)
+-            spewList.InsertColumn(13, "Completed", format=wxLIST_FORMAT_RIGHT, width=fw*6)
+-            spewList.InsertColumn(14, "Peer Download Speed", format=wxLIST_FORMAT_RIGHT, width=fw*6)
++            spewList.InsertColumn(3, "Local/Remote", format=wx.LIST_FORMAT_CENTER, width=fw*3)
++            spewList.InsertColumn(4, "Up", format=wx.LIST_FORMAT_RIGHT, width=fw*6)
++            spewList.InsertColumn(5, "Interested", format=wx.LIST_FORMAT_CENTER, width=fw*2)
++            spewList.InsertColumn(6, "Choking", format=wx.LIST_FORMAT_CENTER, width=fw*2)
++            spewList.InsertColumn(7, "Down", format=wx.LIST_FORMAT_RIGHT, width=fw*6)
++            spewList.InsertColumn(8, "Interesting", format=wx.LIST_FORMAT_CENTER, width=fw*2)
++            spewList.InsertColumn(9, "Choked", format=wx.LIST_FORMAT_CENTER, width=fw*2)
++            spewList.InsertColumn(10, "Snubbed", format=wx.LIST_FORMAT_CENTER, width=fw*2)
++            spewList.InsertColumn(11, "Downloaded", format=wx.LIST_FORMAT_RIGHT, width=fw*7)
++            spewList.InsertColumn(12, "Uploaded", format=wx.LIST_FORMAT_RIGHT, width=fw*7)
++            spewList.InsertColumn(13, "Completed", format=wx.LIST_FORMAT_RIGHT, width=fw*6)
++            spewList.InsertColumn(14, "Peer Download Speed", format=wx.LIST_FORMAT_RIGHT, width=fw*6)
+             def reannounce(self, frame = self):
+                 if (clock() - frame.reannouncelast > 60):
+                     frame.reannouncelast = clock()
+                     frame.dow.reannounce()
+-            EVT_BUTTON(self.advBox, reannounceButton.GetId(), reannounce)
++            wx.EVT_BUTTON(self.advBox, reannounceButton.GetId(), reannounce)
+             self.advextannouncebox = None
+             def reannounce_external(self, frame = self):
+                 if (frame.advextannouncebox is not None):
+                     try:
+                         frame.advextannouncebox.Close ()
+-                    except wxPyDeadObjectError, e:
++                    except wx.PyDeadObjectError, e:
+                         frame.advextannouncebox = None
+-                frame.advextannouncebox = wxFrame(None, -1, 'External Announce', size = (1,1),
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
++                frame.advextannouncebox = wx.Frame(None, -1, 'External Announce', size = (1,1),
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
+                 try:
+                     frame.advextannouncebox.SetIcon(frame.icon)
+                 except:
+                     pass
+-                panel = wxPanel(frame.advextannouncebox, -1)
++                panel = wx.Panel(frame.advextannouncebox, -1)
+-                fullsizer = wxFlexGridSizer(cols = 1, vgap = 13)
+-                msg = wxStaticText(panel, -1, "Enter tracker anounce URL:")
++                fullsizer = wx.FlexGridSizer(cols = 1, vgap = 13)
++                msg = wx.StaticText(panel, -1, "Enter tracker anounce URL:")
+                 msg.SetFont(frame.default_font)
+                 fullsizer.Add(msg)
+-                frame.advexturl = wxTextCtrl(parent = panel, id = -1, value = '',
+-                                    size = (255, 20), style = wxTE_PROCESS_TAB)
++                frame.advexturl = wx.TextCtrl(parent = panel, id = -1, value = '',
++                                    size = (255, 20), style = wx.TE_PROCESS_TAB)
+                 frame.advexturl.SetFont(frame.default_font)
+                 frame.advexturl.SetValue(frame.lastexternalannounce)
+                 fullsizer.Add(frame.advexturl)
+-                buttonSizer = wxFlexGridSizer (cols = 2, hgap = 10)
++                buttonSizer = wx.FlexGridSizer (cols = 2, hgap = 10)
+-                okButton = wxButton(panel, -1, 'OK')
++                okButton = wx.Button(panel, -1, 'OK')
+                 buttonSizer.Add (okButton)
+-                cancelButton = wxButton(panel, -1, 'Cancel')
++                cancelButton = wx.Button(panel, -1, 'Cancel')
+                 buttonSizer.Add (cancelButton)
+-                fullsizer.Add (buttonSizer, 0, wxALIGN_CENTER)
++                fullsizer.Add (buttonSizer, 0, wx.ALIGN_CENTER)
+-                border = wxBoxSizer(wxHORIZONTAL)
+-                border.Add(fullsizer, 1, wxEXPAND | wxALL, 4)
++                border = wx.BoxSizer(wx.HORIZONTAL)
++                border.Add(fullsizer, 1, wx.EXPAND | wx.ALL, 4)
+                 panel.SetSizer(border)
+                 panel.SetAutoLayout(True)
+@@ -1479,22 +1479,22 @@
+                             frame.reannouncelast = clock()
+                             frame.dow.reannounce(special)
+                     frame.advextannouncebox.Close()
+-                EVT_BUTTON(frame.advextannouncebox, okButton.GetId(), ok)
++                wx.EVT_BUTTON(frame.advextannouncebox, okButton.GetId(), ok)
+                 def cancel(self, frame = frame):
+                     frame.advextannouncebox.Close()
+-                EVT_BUTTON(frame.advextannouncebox, cancelButton.GetId(), cancel)
++                wx.EVT_BUTTON(frame.advextannouncebox, cancelButton.GetId(), cancel)
+                 frame.advextannouncebox.Show ()
+                 fullsizer.Fit(panel)
+                 frame.advextannouncebox.Fit()
+-            EVT_BUTTON(self.advBox, extannounceButton.GetId(), reannounce_external)
++            wx.EVT_BUTTON(self.advBox, extannounceButton.GetId(), reannounce_external)
+             def bgalloc(self, frame = self):
+                 if frame.dow.storagewrapper is not None:
+                     frame.dow.storagewrapper.bgalloc()
+-            EVT_BUTTON(self.advBox, bgallocButton.GetId(), bgalloc)
++            wx.EVT_BUTTON(self.advBox, bgallocButton.GetId(), bgalloc)
+             def closeAdv(evt, self = self):
+                 self.advBox.Close()
+@@ -1510,11 +1510,11 @@
+                 if (self.advextannouncebox is not None):
+                     try:
+                         self.advextannouncebox.Close()
+-                    except wxPyDeadObjectError, e:
++                    except wx.PyDeadObjectError, e:
+                         pass
+                     self.advextannouncebox = None
+-            EVT_BUTTON(self.advBox, okButton.GetId(), closeAdv)
+-            EVT_CLOSE(self.advBox, killAdv)
++            wx.EVT_BUTTON(self.advBox, okButton.GetId(), closeAdv)
++            wx.EVT_CLOSE(self.advBox, killAdv)
+             self.advBox.Show ()
+             colSizer.Fit(panel)
+@@ -1531,25 +1531,25 @@
+     def onDisplayUsage(self, text):        
+         try:
+             self.done(None)
+-            w = wxFrame(None, -1, 'BITTORRENT USAGE',
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
+-            panel = wxPanel(w, -1)
+-            sizer = wxFlexGridSizer(cols = 1)
+-            sizer.Add(wxTextCtrl(panel, -1, text,
+-                        size = (500,300), style = wxTE_READONLY|wxTE_MULTILINE))
+-            okButton = wxButton(panel, -1, 'Ok')
++            w = wx.Frame(None, -1, 'BITTORRENT USAGE',
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
++            panel = wx.Panel(w, -1)
++            sizer = wx.FlexGridSizer(cols = 1)
++            sizer.Add(wx.TextCtrl(panel, -1, text,
++                        size = (500,300), style = wx.TE_READONLY|wx.TE_MULTILINE))
++            okButton = wx.Button(panel, -1, 'Ok')
+             def closeUsage(self, frame = self):
+                 frame.usageBox.Close()
+-            EVT_BUTTON(w, okButton.GetId(), closeUsage)
++            wx.EVT_BUTTON(w, okButton.GetId(), closeUsage)
+             def kill(self, frame = self):
+                 frame.usageBox.Destroy()
+                 frame.usageBox = None
+-            EVT_CLOSE(w, kill)
++            wx.EVT_CLOSE(w, kill)
+-            sizer.Add(okButton, 0, wxALIGN_RIGHT)
+-            border = wxBoxSizer(wxHORIZONTAL)
+-            border.Add(sizer, 1, wxEXPAND | wxALL, 4)
++            sizer.Add(okButton, 0, wx.ALIGN_RIGHT)
++            border = wx.BoxSizer(wx.HORIZONTAL)
++            border.Add(sizer, 1, wx.EXPAND | wx.ALL, 4)
+             panel.SetSizer(border)
+             panel.SetAutoLayout(True)
+@@ -1746,7 +1746,7 @@
+                 else:
+                     kickbanlen = 0
+                 for x in range(spewlen-spewList.GetItemCount()):
+-                    i = wxListItem()
++                    i = wx.ListItem()
+                     spewList.InsertItem(i)
+                 for x in range(spewlen,spewList.GetItemCount()):
+                     spewList.DeleteItem(len(spew)+1)
+@@ -1997,16 +1997,16 @@
+                 start_dir1 = start_dir
+                 if isdir(join(start_dir,default)):
+                     start_dir = join(start_dir,default)
+-                dl = wxDirDialog(self.frame,
++                dl = wx.DirDialog(self.frame,
+                         'Choose a directory to save to, pick a partial download to resume',
+-                        defaultPath = start_dir, style = wxDD_DEFAULT_STYLE | wxDD_NEW_DIR_BUTTON)
++                        defaultPath = start_dir, style = wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON)
+             else:
+-                dl = wxFileDialog(self.frame,
++                dl = wx.FileDialog(self.frame,
+                         'Choose file to save as, pick a partial download to resume', 
+                         defaultDir = start_dir, defaultFile = default, wildcard = '*',
+-                        style = wxSAVE)
++                        style = wx.SAVE)
+-            if dl.ShowModal() != wxID_OK:
++            if dl.ShowModal() != wx.ID_OK:
+                 f.set()
+                 self.done(None)
+                 return
+@@ -2100,28 +2100,28 @@
+         if (self.detailBox is not None):
+             try:
+                 self.detailBox.Close ()
+-            except wxPyDeadObjectError, e:
++            except wx.PyDeadObjectError, e:
+                 self.detailBox = None
+         if (self.aboutBox is not None):
+             try:
+                 self.aboutBox.Close ()
+-            except wxPyDeadObjectError, e:
++            except wx.PyDeadObjectError, e:
+                 self.aboutBox = None
+         if (self.creditsBox is not None):
+             try:
+                 self.creditsBox.Close ()
+-            except wxPyDeadObjectError, e:
++            except wx.PyDeadObjectError, e:
+                 self.creditsBox = None
+         if (self.advBox is not None):
+             try:
+                 self.advBox.Close ()
+-            except wxPyDeadObjectError, e:
++            except wx.PyDeadObjectError, e:
+                 self.advBox = None
+         if (self.statusIconHelpBox is not None):
+             try:
+                 self.statusIconHelpBox.Close ()
+-            except wxPyDeadObjectError, e:
++            except wx.PyDeadObjectError, e:
+                 self.statusIconHelpBox = None
+         self.configfile.Close()
+         try:
+@@ -2143,15 +2143,15 @@
+     def on_errorwindow(self, err):
+         if self._errorwindow is None:
+-            w = wxFrame(None, -1, 'BITTORRENT ERROR', size = (1,1),
+-                            style = wxDEFAULT_FRAME_STYLE|wxFULL_REPAINT_ON_RESIZE)
+-            panel = wxPanel(w, -1)
++            w = wx.Frame(None, -1, 'BITTORRENT ERROR', size = (1,1),
++                            style = wx.DEFAULT_FRAME_STYLE|wx.FULL_REPAINT_ON_RESIZE)
++            panel = wx.Panel(w, -1)
+-            sizer = wxFlexGridSizer(cols = 1)
++            sizer = wx.FlexGridSizer(cols = 1)
+             t = ( 'BitTorrent ' + version + '\n' +
+                   'OS: ' + sys.platform + '\n' +
+                   'Python version: ' + sys.version + '\n' +
+-                  'wxWindows version: ' + wxVERSION_STRING + '\n' )
++                  'wxWidgets version: ' + wx.VERSION_STRING + '\n' )
+             try:
+                 t += 'Psyco version: ' + hex(psyco.__version__)[2:] + '\n'
+             except:
+@@ -2163,24 +2163,24 @@
+                 t += '\n'
+             except:
+                 pass
+-            sizer.Add(wxTextCtrl(panel, -1, t + '\n' + err,
+-                                size = (500,300), style = wxTE_READONLY|wxTE_MULTILINE))
++            sizer.Add(wx.TextCtrl(panel, -1, t + '\n' + err,
++                                size = (500,300), style = wx.TE_READONLY|wx.TE_MULTILINE))
+-            sizer.Add(wxStaticText(panel, -1,
++            sizer.Add(wx.StaticText(panel, -1,
+                     '\nHelp us iron out the bugs in the engine!'))
+-            linkMail = wxStaticText(panel, -1,
++            linkMail = wx.StaticText(panel, -1,
+                 'Please report this error to '+report_email)
+-            linkMail.SetFont(wxFont(self.FONT, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++            linkMail.SetFont(wx.Font(self.FONT, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+             linkMail.SetForegroundColour('Blue')
+             sizer.Add(linkMail)
+             def maillink(self):
+                 Thread(target = open_new("mailto:" + report_email
+                                          + "?subject=autobugreport")).start()
+-            EVT_LEFT_DOWN(linkMail, maillink)
++            wx.EVT_LEFT_DOWN(linkMail, maillink)
+-            border = wxBoxSizer(wxHORIZONTAL)
+-            border.Add(sizer, 1, wxEXPAND | wxALL, 4)
++            border = wx.BoxSizer(wx.HORIZONTAL)
++            border.Add(sizer, 1, wx.EXPAND | wx.ALL, 4)
+             panel.SetSizer(border)
+             panel.SetAutoLayout(True)
+@@ -2191,10 +2191,10 @@
+             self._errorwindow = w
+-class btWxApp(wxApp):
++class btWxApp(wx.App):
+     def __init__(self, x, params):
+         self.params = params
+-        wxApp.__init__(self, x)
++        wx.App.__init__(self, x)
+     def OnInit(self):
+         doneflag = Event()
+@@ -2202,11 +2202,11 @@
+         d = DownloadInfoFrame(doneflag, self.configfile)
+         self.SetTopWindow(d.frame)
+         if len(self.params) == 0:
+-            b = wxFileDialog (d.frame, 'Choose .torrent file to use',
++            b = wx.FileDialog (d.frame, 'Choose .torrent file to use',
+                         defaultDir = '', defaultFile = '', wildcard = '*.torrent',
+-                        style = wxOPEN)
++                        style = wx.OPEN)
+-            if b.ShowModal() == wxID_OK:
++            if b.ShowModal() == wx.ID_OK:
+                 self.params.append (b.GetPath())
+         thread = Thread(target = next, args = [self.params, d, doneflag, self.configfile])
+diff -Naur BitTornado-CVS.orig/btmaketorrentgui.py BitTornado-CVS/btmaketorrentgui.py
+--- BitTornado-CVS.orig/btmaketorrentgui.py    2004-07-02 18:39:32.000000000 +0200
++++ BitTornado-CVS/btmaketorrentgui.py 2005-09-18 03:08:46.383098208 +0200
+@@ -22,7 +22,7 @@
+ from os import getcwd
+ from os.path import join, isdir
+ try:
+-    from wxPython.wx import *
++    import wx
+ except:
+     print 'wxPython is either not installed or has not been installed properly.'
+     sys.exit(1)
+@@ -33,14 +33,14 @@
+     True = 1
+     False = 0
+-wxEVT_INVOKE = wxNewEventType()
++wxEVT_INVOKE = wx.NewEventType()
+ def EVT_INVOKE(win, func):
+     win.Connect(-1, -1, wxEVT_INVOKE, func)
+-class InvokeEvent(wxPyEvent):
++class InvokeEvent(wx.PyEvent):
+     def __init__(self, func, args, kwargs):
+-        wxPyEvent.__init__(self)
++        wx.PyEvent.__init__(self)
+         self.SetEventType(wxEVT_INVOKE)
+         self.func = func
+         self.args = args
+@@ -48,99 +48,99 @@
+ class DownloadInfo:
+     def __init__(self):
+-        frame = wxFrame(None, -1, 'BitTorrent Torrent File Maker', size = wxSize(550, 410))
++        frame = wx.Frame(None, -1, 'BitTorrent Torrent File Maker', size = wx.Size(550, 410))
+         self.frame = frame
+-        panel = wxPanel(frame, -1)
++        panel = wx.Panel(frame, -1)
+-        gridSizer = wxFlexGridSizer(cols = 2, rows = 2, vgap = 0, hgap = 8)
++        gridSizer = wx.FlexGridSizer(cols = 2, rows = 2, vgap = 0, hgap = 8)
+         
+-        gridSizer.Add(wxStaticText(panel, -1, 'make torrent of:'))
++        gridSizer.Add(wx.StaticText(panel, -1, 'make torrent of:'))
+-        b = wxBoxSizer(wxHORIZONTAL)
+-        self.dirCtl = wxTextCtrl(panel, -1, '')
+-        b.Add(self.dirCtl, 1, wxEXPAND)
+-#        b.Add(10, 10, 0, wxEXPAND)
++        b = wx.BoxSizer(wx.HORIZONTAL)
++        self.dirCtl = wx.TextCtrl(panel, -1, '')
++        b.Add(self.dirCtl, 1, wx.EXPAND)
++#        b.Add(10, 10, 0, wx.EXPAND)
+         
+-        button = wxButton(panel, -1, 'dir', size = (30,20))
+-        EVT_BUTTON(frame, button.GetId(), self.selectdir)
++        button = wx.Button(panel, -1, 'dir', size = (30,20))
++        wx.EVT_BUTTON(frame, button.GetId(), self.selectdir)
+         b.Add(button, 0)
+-        button2 = wxButton(panel, -1, 'file', size = (30,20))
+-        EVT_BUTTON(frame, button2.GetId(), self.selectfile)
++        button2 = wx.Button(panel, -1, 'file', size = (30,20))
++        wx.EVT_BUTTON(frame, button2.GetId(), self.selectfile)
+         b.Add(button2, 0)
+-        gridSizer.Add(b, 0, wxEXPAND)
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-
+-        gridSizer.Add(wxStaticText(panel, -1, 'announce url:'))
+-        self.annCtl = wxTextCtrl(panel, -1, 'http://my.tracker:6969/announce')
+-        gridSizer.Add(self.annCtl, 0, wxEXPAND)
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-
+-        a = wxFlexGridSizer(cols = 1)
+-        a.Add(wxStaticText(panel, -1, 'announce list:'))
+-        a.Add(wxStaticText(panel, -1, ''))
+-        abutton = wxButton(panel, -1, 'copy\nannounces\nfrom\ntorrent', size = (50,70))
+-        EVT_BUTTON(frame, abutton.GetId(), self.announcecopy)
+-        a.Add(abutton, 0, wxEXPAND)
+-        gridSizer.Add(a, 0, wxEXPAND)
++        gridSizer.Add(b, 0, wx.EXPAND)
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++
++        gridSizer.Add(wx.StaticText(panel, -1, 'announce url:'))
++        self.annCtl = wx.TextCtrl(panel, -1, 'http://my.tracker:6969/announce')
++        gridSizer.Add(self.annCtl, 0, wx.EXPAND)
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++
++        a = wx.FlexGridSizer(cols = 1)
++        a.Add(wx.StaticText(panel, -1, 'announce list:'))
++        a.Add(wx.StaticText(panel, -1, ''))
++        abutton = wx.Button(panel, -1, 'copy\nannounces\nfrom\ntorrent', size = (50,70))
++        wx.EVT_BUTTON(frame, abutton.GetId(), self.announcecopy)
++        a.Add(abutton, 0, wx.EXPAND)
++        gridSizer.Add(a, 0, wx.EXPAND)
+         
+-        self.annListCtl = wxTextCtrl(panel, -1, '\n\n\n\n\n', wxPoint(-1,-1), (400,120),
+-                                            wxTE_MULTILINE|wxHSCROLL|wxTE_DONTWRAP)
+-        gridSizer.Add(self.annListCtl, -1, wxEXPAND)
++        self.annListCtl = wx.TextCtrl(panel, -1, '\n\n\n\n\n', wx.Point(-1,-1), (400,120),
++                                            wx.TE_MULTILINE|wx.HSCROLL|wx.TE_DONTWRAP)
++        gridSizer.Add(self.annListCtl, -1, wx.EXPAND)
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        exptext = wxStaticText(panel, -1,
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        exptext = wx.StaticText(panel, -1,
+                 "a list of announces separated by commas " +
+                 "or whitespace and on several lines -\n" +
+                 "trackers on the same line will be tried randomly," +
+                 "and all the trackers on one line\n" +
+                 "will be tried before the trackers on the next line.")
+-        exptext.SetFont(wxFont(6, wxDEFAULT, wxNORMAL, wxNORMAL, False))
++        exptext.SetFont(wx.Font(6, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False))
+         gridSizer.Add(exptext)
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, 'piece size:'))
+-        self.piece_length = wxChoice(panel, -1,
++        gridSizer.Add(wx.StaticText(panel, -1, 'piece size:'))
++        self.piece_length = wx.Choice(panel, -1,
+                  choices = ['automatic', '2MiB', '1MiB', '512KiB', '256KiB', '128KiB', '64KiB', '32KiB'])
+         self.piece_length_list = [0,       21,     20,      19,       18,       17,      16,      15]
+         self.piece_length.SetSelection(0)
+         gridSizer.Add(self.piece_length)
+         
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, 'comment:'))
+-        self.commentCtl = wxTextCtrl(panel, -1, '')
+-        gridSizer.Add(self.commentCtl, 0, wxEXPAND)
++        gridSizer.Add(wx.StaticText(panel, -1, 'comment:'))
++        self.commentCtl = wx.TextCtrl(panel, -1, '')
++        gridSizer.Add(self.commentCtl, 0, wx.EXPAND)
+         gridSizer.AddGrowableCol(1)
+  
+-        border = wxBoxSizer(wxVERTICAL)
+-        border.Add(gridSizer, 0, wxEXPAND | wxNORTH | wxEAST | wxWEST, 25)
+-        b2 = wxButton(panel, -1, 'make')
+-#        border.Add(10, 10, 1, wxEXPAND)
+-        border.Add(b2, 0, wxALIGN_CENTER | wxSOUTH, 20)
+-        EVT_BUTTON(frame, b2.GetId(), self.complete)
++        border = wx.BoxSizer(wx.VERTICAL)
++        border.Add(gridSizer, 0, wx.EXPAND | wx.NORTH | wx.EAST | wx.WEST, 25)
++        b2 = wx.Button(panel, -1, 'make')
++#        border.Add(10, 10, 1, wx.EXPAND)
++        border.Add(b2, 0, wx.ALIGN_CENTER | wx.SOUTH, 20)
++        wx.EVT_BUTTON(frame, b2.GetId(), self.complete)
+         panel.SetSizer(border)
+         panel.SetAutoLayout(True)
+ #        panel.DragAcceptFiles(True)
+-#        EVT_DROP_FILES(panel, self.selectdrop)
++#        wx.EVT_DROP_FILES(panel, self.selectdrop)
+     def selectdir(self, x):
+-        dl = wxDirDialog(self.frame, style = wxDD_DEFAULT_STYLE | wxDD_NEW_DIR_BUTTON)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.DirDialog(self.frame, style = wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON)
++        if dl.ShowModal() == wx.ID_OK:
+             self.dirCtl.SetValue(dl.GetPath())
+     def selectfile(self, x):
+-        dl = wxFileDialog (self.frame, 'Choose file or directory to use', '', '', '', wxOPEN)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.FileDialog (self.frame, 'Choose file or directory to use', '', '', '', wx.OPEN)
++        if dl.ShowModal() == wx.ID_OK:
+             self.dirCtl.SetValue(dl.GetPath())
+     def selectdrop(self, x):
+@@ -150,8 +150,8 @@
+         self.dirCtl.SetValue(x[0])
+     def announcecopy(self, x):
+-        dl = wxFileDialog (self.frame, 'Choose .torrent file to use', '', '', '*.torrent', wxOPEN)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.FileDialog (self.frame, 'Choose .torrent file to use', '', '', '*.torrent', wx.OPEN)
++        if dl.ShowModal() == wx.ID_OK:
+             try:
+                 h = open(dl.GetPath(), 'rb')
+                 metainfo = bdecode(h.read())
+@@ -187,8 +187,8 @@
+     
+     def complete(self, x):
+         if self.dirCtl.GetValue() == '':
+-            dlg = wxMessageDialog(self.frame, message = 'You must select a\n file or directory', 
+-                caption = 'Error', style = wxOK | wxICON_ERROR)
++            dlg = wx.MessageDialog(self.frame, message = 'You must select a\n file or directory', 
++                caption = 'Error', style = wx.OK | wx.ICON_ERROR)
+             dlg.ShowModal()
+             dlg.Destroy()
+             return
+@@ -217,41 +217,41 @@
+         if isdir(d):
+             self.choicemade = Event()
+-            frame = wxFrame(None, -1, 'BitTorrent make torrent', size = (1,1))
++            frame = wx.Frame(None, -1, 'BitTorrent make torrent', size = (1,1))
+             self.frame = frame
+-            panel = wxPanel(frame, -1)
+-            gridSizer = wxFlexGridSizer(cols = 1, vgap = 8, hgap = 8)
++            panel = wx.Panel(frame, -1)
++            gridSizer = wx.FlexGridSizer(cols = 1, vgap = 8, hgap = 8)
+             gridSizer.AddGrowableRow(1)
+-            gridSizer.Add(wxStaticText(panel, -1,
+-                    'Do you want to make a separate .torrent'),0,wxALIGN_CENTER)
+-            gridSizer.Add(wxStaticText(panel, -1,
+-                    'for every item in this directory?'),0,wxALIGN_CENTER)
+-            gridSizer.Add(wxStaticText(panel, -1, ''))
++            gridSizer.Add(wx.StaticText(panel, -1,
++                    'Do you want to make a separate .torrent'),0,wx.ALIGN_CENTER)
++            gridSizer.Add(wx.StaticText(panel, -1,
++                    'for every item in this directory?'),0,wx.ALIGN_CENTER)
++            gridSizer.Add(wx.StaticText(panel, -1, ''))
+-            b = wxFlexGridSizer(cols = 3, hgap = 10)
+-            yesbut = wxButton(panel, -1, 'Yes')
++            b = wx.FlexGridSizer(cols = 3, hgap = 10)
++            yesbut = wx.Button(panel, -1, 'Yes')
+             def saidyes(e, self = self):
+                 self.frame.Destroy()
+                 self.separatetorrents = True
+                 self.begin()
+-            EVT_BUTTON(frame, yesbut.GetId(), saidyes)
++            wx.EVT_BUTTON(frame, yesbut.GetId(), saidyes)
+             b.Add(yesbut, 0)
+-            nobut = wxButton(panel, -1, 'No')
++            nobut = wx.Button(panel, -1, 'No')
+             def saidno(e, self = self):
+                 self.frame.Destroy()
+                 self.begin()
+-            EVT_BUTTON(frame, nobut.GetId(), saidno)
++            wx.EVT_BUTTON(frame, nobut.GetId(), saidno)
+             b.Add(nobut, 0)
+-            cancelbut = wxButton(panel, -1, 'Cancel')
++            cancelbut = wx.Button(panel, -1, 'Cancel')
+             def canceled(e, self = self):
+                 self.frame.Destroy()                
+-            EVT_BUTTON(frame, cancelbut.GetId(), canceled)
++            wx.EVT_BUTTON(frame, cancelbut.GetId(), canceled)
+             b.Add(cancelbut, 0)
+-            gridSizer.Add(b, 0, wxALIGN_CENTER)
+-            border = wxBoxSizer(wxHORIZONTAL)
+-            border.Add(gridSizer, 1, wxEXPAND | wxALL, 4)
++            gridSizer.Add(b, 0, wx.ALIGN_CENTER)
++            border = wx.BoxSizer(wx.HORIZONTAL)
++            border.Add(gridSizer, 1, wx.EXPAND | wx.ALL, 4)
+             
+             panel.SetSizer(border)
+             panel.SetAutoLayout(True)
+@@ -264,35 +264,35 @@
+     def begin(self):
+         if self.separatetorrents:
+-            frame = wxFrame(None, -1, 'BitTorrent make directory', size = wxSize(550, 250))
++            frame = wx.Frame(None, -1, 'BitTorrent make directory', size = wx.Size(550, 250))
+         else:
+-            frame = wxFrame(None, -1, 'BitTorrent make torrent', size = wxSize(550, 250))
++            frame = wx.Frame(None, -1, 'BitTorrent make torrent', size = wx.Size(550, 250))
+         self.frame = frame
+-        panel = wxPanel(frame, -1)
+-        gridSizer = wxFlexGridSizer(cols = 1, vgap = 15, hgap = 8)
++        panel = wx.Panel(frame, -1)
++        gridSizer = wx.FlexGridSizer(cols = 1, vgap = 15, hgap = 8)
+         if self.separatetorrents:
+-            self.currentLabel = wxStaticText(panel, -1, 'checking file sizes')
++            self.currentLabel = wx.StaticText(panel, -1, 'checking file sizes')
+         else:
+-            self.currentLabel = wxStaticText(panel, -1, 'building ' + self.d + '.torrent')
+-        gridSizer.Add(self.currentLabel, 0, wxEXPAND)
+-        self.gauge = wxGauge(panel, -1, range = 1000, style = wxGA_SMOOTH)
+-        gridSizer.Add(self.gauge, 0, wxEXPAND)
+-        gridSizer.Add((10, 10), 1, wxEXPAND)
+-        self.button = wxButton(panel, -1, 'cancel')
+-        gridSizer.Add(self.button, 0, wxALIGN_CENTER)
++            self.currentLabel = wx.StaticText(panel, -1, 'building ' + self.d + '.torrent')
++        gridSizer.Add(self.currentLabel, 0, wx.EXPAND)
++        self.gauge = wx.Gauge(panel, -1, range = 1000, style = wx.GA_SMOOTH)
++        gridSizer.Add(self.gauge, 0, wx.EXPAND)
++        gridSizer.Add((10, 10), 1, wx.EXPAND)
++        self.button = wx.Button(panel, -1, 'cancel')
++        gridSizer.Add(self.button, 0, wx.ALIGN_CENTER)
+         gridSizer.AddGrowableRow(2)
+         gridSizer.AddGrowableCol(0)
+-        g2 = wxFlexGridSizer(cols = 1, vgap = 15, hgap = 8)
+-        g2.Add(gridSizer, 1, wxEXPAND | wxALL, 25)
++        g2 = wx.FlexGridSizer(cols = 1, vgap = 15, hgap = 8)
++        g2.Add(gridSizer, 1, wx.EXPAND | wx.ALL, 25)
+         g2.AddGrowableRow(0)
+         g2.AddGrowableCol(0)
+         panel.SetSizer(g2)
+         panel.SetAutoLayout(True)
+-        EVT_BUTTON(frame, self.button.GetId(), self.done)
+-        EVT_CLOSE(frame, self.done)
++        wx.EVT_BUTTON(frame, self.button.GetId(), self.done)
++        wx.EVT_CLOSE(frame, self.done)
+         EVT_INVOKE(frame, self.onInvoke)
+         frame.Show(True)
+         Thread(target = self.complete).start()
+@@ -313,8 +313,8 @@
+         except (OSError, IOError), e:
+             self.currentLabel.SetLabel('Error!')
+             self.button.SetLabel('Close')
+-            dlg = wxMessageDialog(self.frame, message = 'Error - ' + str(e), 
+-                caption = 'Error', style = wxOK | wxICON_ERROR)
++            dlg = wx.MessageDialog(self.frame, message = 'Error - ' + str(e), 
++                caption = 'Error', style = wx.OK | wx.ICON_ERROR)
+             dlg.ShowModal()
+             dlg.Destroy()
+@@ -336,13 +336,13 @@
+     def invokeLater(self, func, args = [], kwargs = {}):
+         if not self.flag.isSet():
+-            wxPostEvent(self.frame, InvokeEvent(func, args, kwargs))
++            wx.PostEvent(self.frame, InvokeEvent(func, args, kwargs))
+     def done(self, event):
+         self.flag.set()
+         self.frame.Destroy()
+-class btWxApp(wxApp):
++class btWxApp(wx.App):
+     def OnInit(self):
+         d = DownloadInfo()
+         d.frame.Show(True)
+diff -Naur BitTornado-CVS.orig/bt-t-make.py BitTornado-CVS/bt-t-make.py
+--- BitTornado-CVS.orig/bt-t-make.py   2004-05-09 15:07:20.000000000 +0200
++++ BitTornado-CVS/bt-t-make.py        2005-09-18 03:19:00.240777656 +0200
+@@ -23,7 +23,7 @@
+ from os.path import join, isdir
+ from traceback import print_exc
+ try:
+-    from wxPython.wx import *
++    import wx
+ except:
+     print 'wxPython is either not installed or has not been installed properly.'
+     sys.exit(1)
+@@ -42,14 +42,14 @@
+     DROP_HERE = ''
+-wxEVT_INVOKE = wxNewEventType()
++wxEVT_INVOKE = wx.NewEventType()
+ def EVT_INVOKE(win, func):
+     win.Connect(-1, -1, wxEVT_INVOKE, func)
+-class InvokeEvent(wxPyEvent):
++class InvokeEvent(wx.PyEvent):
+     def __init__(self, func, args, kwargs):
+-        wxPyEvent.__init__(self)
++        wx.PyEvent.__init__(self)
+         self.SetEventType(wxEVT_INVOKE)
+         self.func = func
+         self.args = args
+@@ -66,7 +66,7 @@
+         self.switchlock = Lock()
+         self.working = False
+         self.queue = []
+-        wxInitAllImageHandlers()
++        wx.InitAllImageHandlers()
+         self.thostselection = self.calls['getCurrentTHost']()
+         self.thostselectnum = 0
+         self.choices = None
+@@ -74,76 +74,76 @@
+         self.announce = ''
+         self.announce_list = None
+-        self.windowStyle = wxSYSTEM_MENU|wxCAPTION|wxMINIMIZE_BOX
++        self.windowStyle = wx.SYSTEM_MENU|wx.CAPTION|wx.MINIMIZE_BOX
+         if self.config['stayontop']:
+-            self.windowStyle |= wxSTAY_ON_TOP
+-        frame = wxFrame(None, -1, 'T-Make',
+-                        size = wxSize(-1, -1),
++            self.windowStyle |= wx.STAY_ON_TOP
++        frame = wx.Frame(None, -1, 'T-Make',
++                        size = wx.Size(-1, -1),
+                         style = self.windowStyle)
+         self.frame = frame
+-        panel = wxPanel(frame, -1)
+-        mainSizer = wxBoxSizer(wxVERTICAL)
+-        groupSizer = wxFlexGridSizer(cols = 1, vgap = 0, hgap = 0)
++        panel = wx.Panel(frame, -1)
++        mainSizer = wx.BoxSizer(wx.VERTICAL)
++        groupSizer = wx.FlexGridSizer(cols = 1, vgap = 0, hgap = 0)
+ #        self.dropTarget = self.calls['newDropTarget']((200,200))
+         self.dropTarget = self.calls['newDropTarget']()
+-        self.dropTargetPtr = wxStaticBitmap(panel, -1, self.dropTarget)
++        self.dropTargetPtr = wx.StaticBitmap(panel, -1, self.dropTarget)
+         self.calls['setDropTargetRefresh'](self.dropTargetPtr.Refresh)
+         self.dropTargetWidth = self.dropTarget.GetWidth()
+-        EVT_LEFT_DOWN(self.dropTargetPtr,self.dropTargetClick)
+-        EVT_ENTER_WINDOW(self.dropTargetPtr,self.calls['dropTargetHovered'])
+-        EVT_LEAVE_WINDOW(self.dropTargetPtr,self.calls['dropTargetUnhovered'])
+-        groupSizer.Add(self.dropTargetPtr,0,wxALIGN_CENTER)        
+-        lowerSizer1 = wxGridSizer(cols = 6)
+-        dirlink = wxStaticText(panel, -1, 'dir')
+-        dirlink.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++        wx.EVT_LEFT_DOWN(self.dropTargetPtr,self.dropTargetClick)
++        wx.EVT_ENTER_WINDOW(self.dropTargetPtr,self.calls['dropTargetHovered'])
++        wx.EVT_LEAVE_WINDOW(self.dropTargetPtr,self.calls['dropTargetUnhovered'])
++        groupSizer.Add(self.dropTargetPtr,0,wx.ALIGN_CENTER)        
++        lowerSizer1 = wx.GridSizer(cols = 6)
++        dirlink = wx.StaticText(panel, -1, 'dir')
++        dirlink.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+         dirlink.SetForegroundColour('blue')
+-        EVT_LEFT_UP(dirlink,self.selectdir)
+-        lowerSizer1.Add(dirlink, -1, wxALIGN_LEFT)
+-        lowerSizer1.Add(wxStaticText(panel, -1, ''), -1, wxALIGN_CENTER)
+-        lowerSizer1.Add(wxStaticText(panel, -1, ''), -1, wxALIGN_CENTER)
+-        lowerSizer1.Add(wxStaticText(panel, -1, ''), -1, wxALIGN_CENTER)
+-        lowerSizer1.Add(wxStaticText(panel, -1, ''), -1, wxALIGN_CENTER)
+-        filelink = wxStaticText(panel, -1, 'file')
+-        filelink.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++        wx.EVT_LEFT_UP(dirlink,self.selectdir)
++        lowerSizer1.Add(dirlink, -1, wx.ALIGN_LEFT)
++        lowerSizer1.Add(wx.StaticText(panel, -1, ''), -1, wx.ALIGN_CENTER)
++        lowerSizer1.Add(wx.StaticText(panel, -1, ''), -1, wx.ALIGN_CENTER)
++        lowerSizer1.Add(wx.StaticText(panel, -1, ''), -1, wx.ALIGN_CENTER)
++        lowerSizer1.Add(wx.StaticText(panel, -1, ''), -1, wx.ALIGN_CENTER)
++        filelink = wx.StaticText(panel, -1, 'file')
++        filelink.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+         filelink.SetForegroundColour('blue')
+-        EVT_LEFT_UP(filelink,self.selectfile)
+-        lowerSizer1.Add(filelink, -1, wxALIGN_RIGHT)
++        wx.EVT_LEFT_UP(filelink,self.selectfile)
++        lowerSizer1.Add(filelink, -1, wx.ALIGN_RIGHT)
+         
+-        groupSizer.Add(lowerSizer1, -1, wxALIGN_CENTER)
++        groupSizer.Add(lowerSizer1, -1, wx.ALIGN_CENTER)
+-        self.gauge = wxGauge(panel, -1, range = 1000,
+-                             style = wxGA_HORIZONTAL, size = (-1,15))
+-        groupSizer.Add(self.gauge, 0, wxEXPAND)
+-        self.statustext = wxStaticText(panel, -1, 'ready',
+-                            style = wxALIGN_CENTER|wxST_NO_AUTORESIZE)
+-        self.statustext.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxBOLD, False))
+-        groupSizer.Add(self.statustext, -1, wxEXPAND)
+-        self.choices = wxChoice(panel, -1, (-1, -1), (self.dropTargetWidth, -1),
++        self.gauge = wx.Gauge(panel, -1, range = 1000,
++                             style = wx.GA_HORIZONTAL, size = (-1,15))
++        groupSizer.Add(self.gauge, 0, wx.EXPAND)
++        self.statustext = wx.StaticText(panel, -1, 'ready',
++                            style = wx.ALIGN_CENTER|wx.ST_NO_AUTORESIZE)
++        self.statustext.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.BOLD, False))
++        groupSizer.Add(self.statustext, -1, wx.EXPAND)
++        self.choices = wx.Choice(panel, -1, (-1, -1), (self.dropTargetWidth, -1),
+                                     choices = [])
+-        self.choices.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, False))
+-        EVT_CHOICE(self.choices, -1, self.set_thost)
+-        groupSizer.Add(self.choices, 0, wxEXPAND)
+-        cancellink = wxStaticText(panel, -1, 'cancel')
+-        cancellink.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++        self.choices.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False))
++        wx.EVT_CHOICE(self.choices, -1, self.set_thost)
++        groupSizer.Add(self.choices, 0, wx.EXPAND)
++        cancellink = wx.StaticText(panel, -1, 'cancel')
++        cancellink.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+         cancellink.SetForegroundColour('red')
+-        EVT_LEFT_UP(cancellink,self.cancel)
+-        groupSizer.Add(cancellink, -1, wxALIGN_CENTER)
+-        advlink = wxStaticText(panel, -1, 'advanced')
+-        advlink.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++        wx.EVT_LEFT_UP(cancellink,self.cancel)
++        groupSizer.Add(cancellink, -1, wx.ALIGN_CENTER)
++        advlink = wx.StaticText(panel, -1, 'advanced')
++        advlink.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+         advlink.SetForegroundColour('blue')
+-        EVT_LEFT_UP(advlink,self.calls['switchToAdvanced'])
+-        groupSizer.Add(advlink, -1, wxALIGN_CENTER)
+-        mainSizer.Add(groupSizer, 0, wxALIGN_CENTER)
++        wx.EVT_LEFT_UP(advlink,self.calls['switchToAdvanced'])
++        groupSizer.Add(advlink, -1, wx.ALIGN_CENTER)
++        mainSizer.Add(groupSizer, 0, wx.ALIGN_CENTER)
+         self.refresh_thostlist()
+         self._set_thost()
+         if platform == 'win32':
+             self.dropTargetPtr.DragAcceptFiles(True)
+-            EVT_DROP_FILES(self.dropTargetPtr, self.selectdrop)
++            wx.EVT_DROP_FILES(self.dropTargetPtr, self.selectdrop)
+  
+-#        border = wxBoxSizer(wxHORIZONTAL)
+-#        border.Add(mainSizer, 1, wxEXPAND | wxALL, 0)
++#        border = wx.BoxSizer(wx.HORIZONTAL)
++#        border.Add(mainSizer, 1, wx.EXPAND | wx.ALL, 0)
+         panel.SetSizer(mainSizer)
+         panel.SetAutoLayout(True)
+ #        border.Fit(panel)
+@@ -152,13 +152,13 @@
+         frame.Show(True)
+         EVT_INVOKE(frame, self.onInvoke)
+-        EVT_CLOSE(frame, self._close)
++        wx.EVT_CLOSE(frame, self._close)
+     def selectdir(self, x = None):
+         self.calls['dropTargetHovered']()
+-        dl = wxDirDialog(self.frame, style = wxDD_DEFAULT_STYLE | wxDD_NEW_DIR_BUTTON)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.DirDialog(self.frame, style = wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON)
++        if dl.ShowModal() == wx.ID_OK:
+             self.calls['dropTargetDropped']()
+             self.complete(dl.GetPath())
+         else:
+@@ -166,8 +166,8 @@
+     def selectfile(self, x = None):
+         self.calls['dropTargetHovered']()
+-        dl = wxFileDialog (self.frame, 'Choose file to use', '', '', '', wxOPEN)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.FileDialog (self.frame, 'Choose file to use', '', '', '', wx.OPEN)
++        if dl.ShowModal() == wx.ID_OK:
+             self.calls['dropTargetDropped']()
+             self.complete(dl.GetPath())
+         else:
+@@ -266,7 +266,7 @@
+     def invokeLater(self, func, args = [], kwargs = {}):
+         if not self.uiflag.isSet():
+-            wxPostEvent(self.frame, InvokeEvent(func, args, kwargs))
++            wx.PostEvent(self.frame, InvokeEvent(func, args, kwargs))
+     def build_setgauge(self, x):
+         self.invokeLater(self.on_setgauge, [x])
+@@ -319,219 +319,219 @@
+         self.switchlock = Lock()
+         self.working = False
+         self.queue = []
+-        wxInitAllImageHandlers()
++        wx.InitAllImageHandlers()
+         self.thostselection = self.calls['getCurrentTHost']()
+         self.thostselectnum = 0
+         self.choices = None
+         self.choices1 = None
+-        self.windowStyle = wxSYSTEM_MENU|wxCAPTION|wxMINIMIZE_BOX
++        self.windowStyle = wx.SYSTEM_MENU|wx.CAPTION|wx.MINIMIZE_BOX
+         if self.config['stayontop']:
+-            self.windowStyle |= wxSTAY_ON_TOP
+-        frame = wxFrame(None, -1, 'T-Make',
+-                        size = wxSize(-1, -1),
++            self.windowStyle |= wx.STAY_ON_TOP
++        frame = wx.Frame(None, -1, 'T-Make',
++                        size = wx.Size(-1, -1),
+                         style = self.windowStyle)
+         self.frame = frame
+-        panel = wxPanel(frame, -1)
++        panel = wx.Panel(frame, -1)
+-        fullSizer = wxFlexGridSizer(cols = 1, vgap = 0, hgap = 8)
++        fullSizer = wx.FlexGridSizer(cols = 1, vgap = 0, hgap = 8)
+         
+-        colSizer = wxFlexGridSizer(cols = 2, vgap = 0, hgap = 8)
+-        leftSizer = wxFlexGridSizer(cols = 1, vgap = 3)
++        colSizer = wx.FlexGridSizer(cols = 2, vgap = 0, hgap = 8)
++        leftSizer = wx.FlexGridSizer(cols = 1, vgap = 3)
+-        self.stayontop_checkbox = wxCheckBox(panel, -1, "stay on top")
++        self.stayontop_checkbox = wx.CheckBox(panel, -1, "stay on top")
+         self.stayontop_checkbox.SetValue(self.config['stayontop'])
+-        EVT_CHECKBOX(frame, self.stayontop_checkbox.GetId(), self.setstayontop)
+-        leftSizer.Add(self.stayontop_checkbox, -1, wxALIGN_CENTER)
+-        leftSizer.Add(wxStaticText(panel, -1, ''))
+-
+-        button = wxButton(panel, -1, 'use image...')
+-        EVT_BUTTON(frame, button.GetId(), self.selectDropTarget)
+-        leftSizer.Add(button, -1, wxALIGN_CENTER)
++        wx.EVT_CHECKBOX(frame, self.stayontop_checkbox.GetId(), self.setstayontop)
++        leftSizer.Add(self.stayontop_checkbox, -1, wx.ALIGN_CENTER)
++        leftSizer.Add(wx.StaticText(panel, -1, ''))
++
++        button = wx.Button(panel, -1, 'use image...')
++        wx.EVT_BUTTON(frame, button.GetId(), self.selectDropTarget)
++        leftSizer.Add(button, -1, wx.ALIGN_CENTER)
+         
+-        self.groupSizer1Box = wxStaticBox(panel, -1, '')
+-        groupSizer1 = wxStaticBoxSizer(self.groupSizer1Box, wxHORIZONTAL)
+-        groupSizer = wxFlexGridSizer(cols = 1, vgap = 0)
++        self.groupSizer1Box = wx.StaticBox(panel, -1, '')
++        groupSizer1 = wx.StaticBoxSizer(self.groupSizer1Box, wx.HORIZONTAL)
++        groupSizer = wx.FlexGridSizer(cols = 1, vgap = 0)
+         self.dropTarget = self.calls['newDropTarget']((200,200))
+ #        self.dropTarget = self.calls['newDropTarget']()
+-        self.dropTargetPtr = wxStaticBitmap(panel, -1, self.dropTarget)
++        self.dropTargetPtr = wx.StaticBitmap(panel, -1, self.dropTarget)
+         self.calls['setDropTargetRefresh'](self.dropTargetPtr.Refresh)
+         self.dropTargetWidth = self.dropTarget.GetWidth()
+-        EVT_LEFT_DOWN(self.dropTargetPtr,self.dropTargetClick)
+-        EVT_ENTER_WINDOW(self.dropTargetPtr,self.calls['dropTargetHovered'])
+-        EVT_LEAVE_WINDOW(self.dropTargetPtr,self.calls['dropTargetUnhovered'])
+-        groupSizer.Add(self.dropTargetPtr,0,wxALIGN_CENTER)        
+-        lowerSizer1 = wxGridSizer(cols = 3)
+-        dirlink = wxStaticText(panel, -1, 'dir')
+-        dirlink.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++        wx.EVT_LEFT_DOWN(self.dropTargetPtr,self.dropTargetClick)
++        wx.EVT_ENTER_WINDOW(self.dropTargetPtr,self.calls['dropTargetHovered'])
++        wx.EVT_LEAVE_WINDOW(self.dropTargetPtr,self.calls['dropTargetUnhovered'])
++        groupSizer.Add(self.dropTargetPtr,0,wx.ALIGN_CENTER)        
++        lowerSizer1 = wx.GridSizer(cols = 3)
++        dirlink = wx.StaticText(panel, -1, 'dir')
++        dirlink.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+         dirlink.SetForegroundColour('blue')
+-        EVT_LEFT_UP(dirlink,self.selectdir)
+-        lowerSizer1.Add(dirlink, -1, wxALIGN_LEFT)
+-        lowerSizer1.Add(wxStaticText(panel, -1, ''), -1, wxALIGN_CENTER)
+-        filelink = wxStaticText(panel, -1, 'file')
+-        filelink.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++        wx.EVT_LEFT_UP(dirlink,self.selectdir)
++        lowerSizer1.Add(dirlink, -1, wx.ALIGN_LEFT)
++        lowerSizer1.Add(wx.StaticText(panel, -1, ''), -1, wx.ALIGN_CENTER)
++        filelink = wx.StaticText(panel, -1, 'file')
++        filelink.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+         filelink.SetForegroundColour('blue')
+-        EVT_LEFT_UP(filelink,self.selectfile)
+-        lowerSizer1.Add(filelink, -1, wxALIGN_RIGHT)
++        wx.EVT_LEFT_UP(filelink,self.selectfile)
++        lowerSizer1.Add(filelink, -1, wx.ALIGN_RIGHT)
+         
+-        groupSizer.Add(lowerSizer1, -1, wxALIGN_CENTER)
++        groupSizer.Add(lowerSizer1, -1, wx.ALIGN_CENTER)
+-        self.gauge = wxGauge(panel, -1, range = 1000,
+-                             style = wxGA_HORIZONTAL, size = (-1,15))
+-        groupSizer.Add(self.gauge, 0, wxEXPAND)
+-        self.statustext = wxStaticText(panel, -1, 'ready',
+-                            style = wxALIGN_CENTER|wxST_NO_AUTORESIZE)
+-        self.statustext.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxBOLD, False))
+-        groupSizer.Add(self.statustext, -1, wxEXPAND)
+-        self.choices = wxChoice(panel, -1, (-1, -1), (self.dropTargetWidth, -1),
++        self.gauge = wx.Gauge(panel, -1, range = 1000,
++                             style = wx.GA_HORIZONTAL, size = (-1,15))
++        groupSizer.Add(self.gauge, 0, wx.EXPAND)
++        self.statustext = wx.StaticText(panel, -1, 'ready',
++                            style = wx.ALIGN_CENTER|wx.ST_NO_AUTORESIZE)
++        self.statustext.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.BOLD, False))
++        groupSizer.Add(self.statustext, -1, wx.EXPAND)
++        self.choices = wx.Choice(panel, -1, (-1, -1), (self.dropTargetWidth, -1),
+                                     choices = [])
+-        self.choices.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, False))
+-        EVT_CHOICE(self.choices, -1, self.set_thost)
+-        groupSizer.Add(self.choices, 0, wxEXPAND)
+-        cancellink = wxStaticText(panel, -1, 'cancel')
+-        cancellink.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++        self.choices.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False))
++        wx.EVT_CHOICE(self.choices, -1, self.set_thost)
++        groupSizer.Add(self.choices, 0, wx.EXPAND)
++        cancellink = wx.StaticText(panel, -1, 'cancel')
++        cancellink.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+         cancellink.SetForegroundColour('red')
+-        EVT_LEFT_UP(cancellink,self.cancel)
+-        groupSizer.Add(cancellink, -1, wxALIGN_CENTER)
+-        dummyadvlink = wxStaticText(panel, -1, 'advanced')
+-        dummyadvlink.SetFont(wxFont(7, wxDEFAULT, wxNORMAL, wxNORMAL, False))
++        wx.EVT_LEFT_UP(cancellink,self.cancel)
++        groupSizer.Add(cancellink, -1, wx.ALIGN_CENTER)
++        dummyadvlink = wx.StaticText(panel, -1, 'advanced')
++        dummyadvlink.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False))
+         dummyadvlink.SetForegroundColour('blue')
+-        EVT_LEFT_UP(dirlink,self.selectdir)
+-        groupSizer.Add(dummyadvlink, -1, wxALIGN_CENTER)
++        wx.EVT_LEFT_UP(dirlink,self.selectdir)
++        groupSizer.Add(dummyadvlink, -1, wx.ALIGN_CENTER)
+         groupSizer1.Add(groupSizer)
+-        leftSizer.Add(groupSizer1, -1, wxALIGN_CENTER)
++        leftSizer.Add(groupSizer1, -1, wx.ALIGN_CENTER)
+-        leftSizer.Add(wxStaticText(panel, -1, 'make torrent of:'),0,wxALIGN_CENTER)
++        leftSizer.Add(wx.StaticText(panel, -1, 'make torrent of:'),0,wx.ALIGN_CENTER)
+-        self.dirCtl = wxTextCtrl(panel, -1, '', size = (250,-1))
+-        leftSizer.Add(self.dirCtl, 1, wxEXPAND)
++        self.dirCtl = wx.TextCtrl(panel, -1, '', size = (250,-1))
++        leftSizer.Add(self.dirCtl, 1, wx.EXPAND)
+         
+-        b = wxBoxSizer(wxHORIZONTAL)
+-        button = wxButton(panel, -1, 'dir')
+-        EVT_BUTTON(frame, button.GetId(), self.selectdir)
++        b = wx.BoxSizer(wx.HORIZONTAL)
++        button = wx.Button(panel, -1, 'dir')
++        wx.EVT_BUTTON(frame, button.GetId(), self.selectdir)
+         b.Add(button, 0)
+-        button2 = wxButton(panel, -1, 'file')
+-        EVT_BUTTON(frame, button2.GetId(), self.selectfile)
++        button2 = wx.Button(panel, -1, 'file')
++        wx.EVT_BUTTON(frame, button2.GetId(), self.selectfile)
+         b.Add(button2, 0)
+-        leftSizer.Add(b, 0, wxALIGN_CENTER)
++        leftSizer.Add(b, 0, wx.ALIGN_CENTER)
+-        leftSizer.Add(wxStaticText(panel, -1, ''))
++        leftSizer.Add(wx.StaticText(panel, -1, ''))
+-        simple_link = wxStaticText(panel, -1, 'back to basic mode')
+-        simple_link.SetFont(wxFont(-1, wxDEFAULT, wxNORMAL, wxNORMAL, True))
++        simple_link = wx.StaticText(panel, -1, 'back to basic mode')
++        simple_link.SetFont(wx.Font(-1, wx.DEFAULT, wx.NORMAL, wx.NORMAL, True))
+         simple_link.SetForegroundColour('blue')
+-        EVT_LEFT_UP(simple_link,self.calls['switchToBasic'])
+-        leftSizer.Add(simple_link, -1, wxALIGN_CENTER)
++        wx.EVT_LEFT_UP(simple_link,self.calls['switchToBasic'])
++        leftSizer.Add(simple_link, -1, wx.ALIGN_CENTER)
+-        colSizer.Add(leftSizer, -1, wxALIGN_CENTER_VERTICAL)
++        colSizer.Add(leftSizer, -1, wx.ALIGN_CENTER_VERTICAL)
+-        gridSizer = wxFlexGridSizer(cols = 2, vgap = 6, hgap = 8)
++        gridSizer = wx.FlexGridSizer(cols = 2, vgap = 6, hgap = 8)
+-        gridSizer.Add(wxStaticText(panel, -1, 'Torrent host:'), -1,
+-                      wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
++        gridSizer.Add(wx.StaticText(panel, -1, 'Torrent host:'), -1,
++                      wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
+-        self.choices1 = wxChoice(panel, -1, (-1, -1), (-1, -1),
++        self.choices1 = wx.Choice(panel, -1, (-1, -1), (-1, -1),
+                                     choices = [])
+-        EVT_CHOICE(self.choices1, -1, self.set_thost1)
+-        gridSizer.Add(self.choices1, 0, wxEXPAND)
++        wx.EVT_CHOICE(self.choices1, -1, self.set_thost1)
++        gridSizer.Add(self.choices1, 0, wx.EXPAND)
+-        b = wxBoxSizer(wxHORIZONTAL)
+-        button1 = wxButton(panel, -1, 'set default')
+-        EVT_BUTTON(frame, button1.GetId(), self.set_default_thost)
++        b = wx.BoxSizer(wx.HORIZONTAL)
++        button1 = wx.Button(panel, -1, 'set default')
++        wx.EVT_BUTTON(frame, button1.GetId(), self.set_default_thost)
+         b.Add(button1, 0)
+-        b.Add(wxStaticText(panel, -1, '       '))
+-        button2 = wxButton(panel, -1, 'delete')
+-        EVT_BUTTON(frame, button2.GetId(), self.delete_thost)
++        b.Add(wx.StaticText(panel, -1, '       '))
++        button2 = wx.Button(panel, -1, 'delete')
++        wx.EVT_BUTTON(frame, button2.GetId(), self.delete_thost)
+         b.Add(button2, 0)
+-        b.Add(wxStaticText(panel, -1, '       '))
+-        button3 = wxButton(panel, -1, 'save as...')
+-        EVT_BUTTON(frame, button3.GetId(), self.save_thost)
++        b.Add(wx.StaticText(panel, -1, '       '))
++        button3 = wx.Button(panel, -1, 'save as...')
++        wx.EVT_BUTTON(frame, button3.GetId(), self.save_thost)
+         b.Add(button3, 0)
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        gridSizer.Add(b, 0, wxALIGN_CENTER)
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        gridSizer.Add(b, 0, wx.ALIGN_CENTER)
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, 'single tracker url:'),0,
+-                      wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
+-        self.annCtl = wxTextCtrl(panel, -1, 'http://my.tracker:6969/announce')
+-        gridSizer.Add(self.annCtl, 0, wxEXPAND)
+-
+-        a = wxFlexGridSizer(cols = 1, vgap = 3)
+-        a.Add(wxStaticText(panel, -1, 'tracker list:'),0,wxALIGN_RIGHT)
+-        a.Add(wxStaticText(panel, -1, ''))
+-        abutton = wxButton(panel, -1, 'copy\nannounces\nfrom\ntorrent', size = (70,70))
+-        EVT_BUTTON(frame, abutton.GetId(), self.announcecopy)
+-        a.Add(abutton, -1, wxALIGN_CENTER)
+-        a.Add(wxStaticText(panel, -1, DROP_HERE), -1, wxALIGN_CENTER)
+-        gridSizer.Add(a, -1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
+-
+-
+-        self.annListCtl = wxTextCtrl(panel, -1, '\n\n\n\n\n', wxPoint(-1,-1), (300,120),
+-                                            wxTE_MULTILINE|wxHSCROLL|wxTE_DONTWRAP)
+-        gridSizer.Add(self.annListCtl, -1, wxEXPAND)
++        gridSizer.Add(wx.StaticText(panel, -1, 'single tracker url:'),0,
++                      wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
++        self.annCtl = wx.TextCtrl(panel, -1, 'http://my.tracker:6969/announce')
++        gridSizer.Add(self.annCtl, 0, wx.EXPAND)
++
++        a = wx.FlexGridSizer(cols = 1, vgap = 3)
++        a.Add(wx.StaticText(panel, -1, 'tracker list:'),0,wx.ALIGN_RIGHT)
++        a.Add(wx.StaticText(panel, -1, ''))
++        abutton = wx.Button(panel, -1, 'copy\nannounces\nfrom\ntorrent', size = (70,70))
++        wx.EVT_BUTTON(frame, abutton.GetId(), self.announcecopy)
++        a.Add(abutton, -1, wx.ALIGN_CENTER)
++        a.Add(wx.StaticText(panel, -1, DROP_HERE), -1, wx.ALIGN_CENTER)
++        gridSizer.Add(a, -1, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
++
++
++        self.annListCtl = wx.TextCtrl(panel, -1, '\n\n\n\n\n', wx.Point(-1,-1), (300,120),
++                                            wx.TE_MULTILINE|wx.HSCROLL|wx.TE_DONTWRAP)
++        gridSizer.Add(self.annListCtl, -1, wx.EXPAND)
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        exptext = wxStaticText(panel, -1,
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        exptext = wx.StaticText(panel, -1,
+                 "a list of tracker urls separated by commas or whitespace\n" +
+                 "and on several lines -trackers on the same line will be\n" +
+                 "tried randomly, and all the trackers on one line\n" +
+                 "will be tried before the trackers on the next line.")
+-        exptext.SetFont(wxFont(6, wxDEFAULT, wxNORMAL, wxNORMAL, False))
+-        gridSizer.Add(exptext, -1, wxALIGN_CENTER)
++        exptext.SetFont(wx.Font(6, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False))
++        gridSizer.Add(exptext, -1, wx.ALIGN_CENTER)
+         self.refresh_thostlist()
+         self._set_thost()
+         if platform == 'win32':
+             self.dropTargetPtr.DragAcceptFiles(True)
+-            EVT_DROP_FILES(self.dropTargetPtr, self.selectdrop)
++            wx.EVT_DROP_FILES(self.dropTargetPtr, self.selectdrop)
+             self.groupSizer1Box.DragAcceptFiles(True)
+-            EVT_DROP_FILES(self.groupSizer1Box, self.selectdrop)
++            wx.EVT_DROP_FILES(self.groupSizer1Box, self.selectdrop)
+             abutton.DragAcceptFiles(True)
+-            EVT_DROP_FILES(abutton, self.announcedrop)
++            wx.EVT_DROP_FILES(abutton, self.announcedrop)
+             self.annCtl.DragAcceptFiles(True)
+-            EVT_DROP_FILES(self.annCtl, self.announcedrop)
++            wx.EVT_DROP_FILES(self.annCtl, self.announcedrop)
+             self.annListCtl.DragAcceptFiles(True)
+-            EVT_DROP_FILES(self.annListCtl, self.announcedrop)
++            wx.EVT_DROP_FILES(self.annListCtl, self.announcedrop)
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, 'piece size:'),0,
+-                      wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
+-        self.piece_length = wxChoice(panel, -1,
++        gridSizer.Add(wx.StaticText(panel, -1, 'piece size:'),0,
++                      wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
++        self.piece_length = wx.Choice(panel, -1,
+                  choices = ['automatic', '2MiB', '1MiB', '512KiB', '256KiB', '128KiB', '64KiB', '32KiB'])
+         self.piece_length_list = [0,       21,     20,      19,       18,       17,      16,      15]
+         self.piece_length.SetSelection(0)
+         gridSizer.Add(self.piece_length)
+-        gridSizer.Add(wxStaticText(panel, -1, 'comment:'),0,
+-                      wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL)
+-        self.commentCtl = wxTextCtrl(panel, -1, '')
+-        gridSizer.Add(self.commentCtl, 0, wxEXPAND)
+-
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-        gridSizer.Add(wxStaticText(panel, -1, ''))
+-
+-        b1 = wxButton(panel, -1, 'Cancel', size = (-1, 30))
+-        EVT_BUTTON(frame, b1.GetId(), self.cancel)
+-        gridSizer.Add(b1, 0, wxEXPAND)
+-        b2 = wxButton(panel, -1, 'MAKE TORRENT', size = (-1, 30))
+-        EVT_BUTTON(frame, b2.GetId(), self.complete)
+-        gridSizer.Add(b2, 0, wxEXPAND)
++        gridSizer.Add(wx.StaticText(panel, -1, 'comment:'),0,
++                      wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
++        self.commentCtl = wx.TextCtrl(panel, -1, '')
++        gridSizer.Add(self.commentCtl, 0, wx.EXPAND)
++
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++        gridSizer.Add(wx.StaticText(panel, -1, ''))
++
++        b1 = wx.Button(panel, -1, 'Cancel', size = (-1, 30))
++        wx.EVT_BUTTON(frame, b1.GetId(), self.cancel)
++        gridSizer.Add(b1, 0, wx.EXPAND)
++        b2 = wx.Button(panel, -1, 'MAKE TORRENT', size = (-1, 30))
++        wx.EVT_BUTTON(frame, b2.GetId(), self.complete)
++        gridSizer.Add(b2, 0, wx.EXPAND)
+         gridSizer.AddGrowableCol(1)
+-        colSizer.Add(gridSizer, -1, wxALIGN_CENTER_VERTICAL)
++        colSizer.Add(gridSizer, -1, wx.ALIGN_CENTER_VERTICAL)
+         fullSizer.Add(colSizer)
+  
+-        border = wxBoxSizer(wxHORIZONTAL)
+-        border.Add(fullSizer, 1, wxEXPAND | wxALL, 15)
++        border = wx.BoxSizer(wx.HORIZONTAL)
++        border.Add(fullSizer, 1, wx.EXPAND | wx.ALL, 15)
+         panel.SetSizer(border)
+         panel.SetAutoLayout(True)
+         border.Fit(panel)
+@@ -539,20 +539,20 @@
+         frame.Show(True)
+         EVT_INVOKE(frame, self.onInvoke)
+-        EVT_CLOSE(frame, self._close)
++        wx.EVT_CLOSE(frame, self._close)
+     def setstayontop(self, x):
+         if self.stayontop_checkbox.GetValue():
+-            self.windowStyle |= wxSTAY_ON_TOP
++            self.windowStyle |= wx.STAY_ON_TOP
+         else:
+-            self.windowStyle &= ~wxSTAY_ON_TOP
++            self.windowStyle &= ~wx.STAY_ON_TOP
+         self.frame.SetWindowStyle(self.windowStyle)
+         self.config['stayontop'] = self.stayontop_checkbox.GetValue()
+     def selectdir(self, x = None):
+         self.calls['dropTargetHovered']()
+-        dl = wxDirDialog(self.frame, style = wxDD_DEFAULT_STYLE | wxDD_NEW_DIR_BUTTON)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.DirDialog(self.frame, style = wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON)
++        if dl.ShowModal() == wx.ID_OK:
+             self.dirCtl.SetValue(dl.GetPath())
+             self.calls['dropTargetDropped']()
+         else:
+@@ -560,8 +560,8 @@
+     def selectfile(self, x = None):
+         self.calls['dropTargetHovered']()
+-        dl = wxFileDialog (self.frame, 'Choose file to use', '', '', '', wxOPEN)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.FileDialog (self.frame, 'Choose file to use', '', '', '', wx.OPEN)
++        if dl.ShowModal() == wx.ID_OK:
+             self.dirCtl.SetValue(dl.GetPath())
+             self.calls['dropTargetDropped']()
+         else:
+@@ -573,8 +573,8 @@
+             self.complete(f)
+     def announcecopy(self, x):
+-        dl = wxFileDialog (self.frame, 'Choose .torrent file to use', '', '', '*.torrent', wxOPEN)
+-        if dl.ShowModal() == wxID_OK:
++        dl = wx.FileDialog (self.frame, 'Choose .torrent file to use', '', '', '*.torrent', wx.OPEN)
++        if dl.ShowModal() == wx.ID_OK:
+             self._announcecopy(dl.GetPath(), True)
+     def announcedrop(self, dat):
+@@ -619,14 +619,14 @@
+     
+     def complete(self, x):
+         if not self.dirCtl.GetValue():
+-            dlg = wxMessageDialog(self.frame, message = 'You must select a\nfile or directory', 
+-                caption = 'Error', style = wxOK | wxICON_ERROR)
++            dlg = wx.MessageDialog(self.frame, message = 'You must select a\nfile or directory', 
++                caption = 'Error', style = wx.OK | wx.ICON_ERROR)
+             dlg.ShowModal()
+             dlg.Destroy()
+             return
+         if not self.annCtl.GetValue():
+-            dlg = wxMessageDialog(self.frame, message = 'You must specify a\nsingle tracker url', 
+-                caption = 'Error', style = wxOK | wxICON_ERROR)
++            dlg = wx.MessageDialog(self.frame, message = 'You must specify a\nsingle tracker url', 
++                caption = 'Error', style = wx.OK | wx.ICON_ERROR)
+             dlg.ShowModal()
+             dlg.Destroy()
+             return
+@@ -649,10 +649,10 @@
+             if warnings:
+                 warnings += ('Are you sure you wish to produce a .torrent\n' +
+                              'with these parameters?')
+-                dlg = wxMessageDialog(self.frame,
++                dlg = wx.MessageDialog(self.frame,
+                         message = warnings,
+-                        caption = 'Warning', style = wxYES_NO | wxICON_QUESTION)
+-                if dlg.ShowModal() != wxID_YES:
++                        caption = 'Warning', style = wx.YES_NO | wx.ICON_QUESTION)
++                if dlg.ShowModal() != wx.ID_YES:
+                     dlg.Destroy()
+                     return
+             params['real_announce_list'] = annlist
+@@ -684,10 +684,10 @@
+         self.switchlock.release()
+     def selectDropTarget(self, x):
+-        dl = wxFileDialog (self.frame, 'Choose image to use', join(basepath,'targets'),
++        dl = wx.FileDialog (self.frame, 'Choose image to use', join(basepath,'targets'),
+                         join(join(basepath,'targets'), self.config['target']),
+-                        'Supported images (*.bmp,*.gif)|*.*', wxOPEN|wxHIDE_READONLY)
+-        if dl.ShowModal() == wxID_OK:
++                        'Supported images (*.bmp,*.gif)|*.*', wx.OPEN|wx.HIDE_READONLY)
++        if dl.ShowModal() == wx.ID_OK:
+             try:
+                 self.calls['changeDropTarget'](dl.GetPath())
+                 self.config['target'] = dl.GetPath()
+@@ -760,8 +760,8 @@
+     def save_thost(self, x):
+         if not self.annCtl.GetValue():
+-            dlg = wxMessageDialog(self.frame, message = 'You must specify a\nsingle tracker url', 
+-                caption = 'Error', style = wxOK | wxICON_ERROR)
++            dlg = wx.MessageDialog(self.frame, message = 'You must specify a\nsingle tracker url', 
++                caption = 'Error', style = wx.OK | wx.ICON_ERROR)
+             dlg.ShowModal()
+             dlg.Destroy()
+             return
+@@ -786,10 +786,10 @@
+                 if warnings:
+                     warnings += ('Are you sure you wish to save a torrent host\n' +
+                                  'with these parameters?')
+-                    dlg = wxMessageDialog(self.frame,
++                    dlg = wx.MessageDialog(self.frame,
+                             message = warnings,
+-                            caption = 'Warning', style = wxYES_NO | wxICON_QUESTION)
+-                    if dlg.ShowModal() != wxID_YES:
++                            caption = 'Warning', style = wx.YES_NO | wx.ICON_QUESTION)
++                    if dlg.ShowModal() != wx.ID_YES:
+                         dlg.Destroy()
+                         return
+                 metainfo['announce-list'] = annlist
+@@ -801,10 +801,10 @@
+             d = self.thostselection
+         else:
+             d = '.thost'
+-        dl = wxFileDialog (self.frame, 'Save tracker data as',
++        dl = wx.FileDialog (self.frame, 'Save tracker data as',
+                            join(basepath,'thosts'), d, '*.thost',
+-                           wxSAVE|wxOVERWRITE_PROMPT)
+-        if dl.ShowModal() != wxID_OK:
++                           wx.SAVE|wx.OVERWRITE_PROMPT)
++        if dl.ShowModal() != wx.ID_OK:
+             return
+         d = dl.GetPath()
+@@ -818,10 +818,10 @@
+         self.refresh_thostlist()
+     def delete_thost(self, x):
+-        dlg = wxMessageDialog(self.frame,
++        dlg = wx.MessageDialog(self.frame,
+                 message = 'Are you sure you want to delete\n'+self.thostselection[:-6]+'?', 
+-                caption = 'Warning', style = wxYES_NO | wxICON_EXCLAMATION)
+-        if dlg.ShowModal() != wxID_YES:
++                caption = 'Warning', style = wx.YES_NO | wx.ICON_EXCLAMATION)
++        if dlg.ShowModal() != wx.ID_YES:
+             dlg.Destroy()
+             return
+         dlg.Destroy()
+@@ -835,7 +835,7 @@
+     def invokeLater(self, func, args = [], kwargs = {}):
+         if not self.uiflag.isSet():
+-            wxPostEvent(self.frame, InvokeEvent(func, args, kwargs))
++            wx.PostEvent(self.frame, InvokeEvent(func, args, kwargs))
+     def build_setgauge(self, x):
+         self.invokeLater(self.on_setgauge, [x])
+@@ -904,15 +904,15 @@
+     def failed(self, e):
+         e = str(e)
+         self.call.build_failed(e)
+-        dlg = wxMessageDialog(self.frame, message = 'Error - ' + e, 
+-            caption = 'Error', style = wxOK | wxICON_ERROR)
++        dlg = wx.MessageDialog(self.frame, message = 'Error - ' + e, 
++            caption = 'Error', style = wx.OK | wx.ICON_ERROR)
+         dlg.ShowModal()
+         dlg.Destroy()
+ class T_make:
+     def __init__(self):
+-        self.configobj = wxConfig('BitTorrent_T-make',style=wxCONFIG_USE_LOCAL_FILE)
++        self.configobj = wx.Config('BitTorrent_T-make',style=wx.CONFIG_USE_LOCAL_FILE)
+         self.getConfig()
+         self.currentTHost = self.config['thost']
+ #        self.d = AdvancedDownloadInfo(self.config, self.getCalls())
+@@ -969,7 +969,7 @@
+     def newDropTarget(self, wh = None):
+         if wh:
+-            self.dropTarget = wxEmptyBitmap(wh[0],wh[1])
++            self.dropTarget = wx.EmptyBitmap(wh[0],wh[1])
+             try:
+                 self.changeDropTarget(self.config['target'])
+             except:
+@@ -983,7 +983,7 @@
+                     self.config['target'] = 'default.gif'
+                     self.saveConfig()
+                 except:
+-                    self.dropTarget = wxEmptyBitmap(100,100)
++                    self.dropTarget = wx.EmptyBitmap(100,100)
+         return self.dropTarget
+     def setDropTargetRefresh(self, refreshfunc):
+@@ -994,13 +994,13 @@
+         w1,h1 = self.dropTarget.GetWidth(),self.dropTarget.GetHeight()
+         w,h = bmp.GetWidth(),bmp.GetHeight()
+         x1,y1 = int((w1-w)/2.0),int((h1-h)/2.0)
+-        bbdata = wxMemoryDC()
++        bbdata = wx.MemoryDC()
+         bbdata.SelectObject(self.dropTarget)
+-        bbdata.SetPen(wxTRANSPARENT_PEN)
+-        bbdata.SetBrush(wxBrush(wx.wxSystemSettings_GetColour(wxSYS_COLOUR_MENU),wxSOLID))
++        bbdata.SetPen(wx.TRANSPARENT_PEN)
++        bbdata.SetBrush(wx.Brush(wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENU),wx.SOLID))
+         bbdata.DrawRectangle(0,0,w1,h1)
+-        bbdata.SetPen(wxBLACK_PEN)
+-        bbdata.SetBrush(wxTRANSPARENT_BRUSH)
++        bbdata.SetPen(wx.BLACK_PEN)
++        bbdata.SetBrush(wx.TRANSPARENT_BRUSH)
+         bbdata.DrawRectangle(x1-1,y1-1,w+2,h+2)
+         bbdata.DrawBitmap(bmp,x1,y1,True)
+         try:
+@@ -1022,9 +1022,9 @@
+         name = join(join(basepath,'targets'),new)
+         garbage, e = os.path.splitext(new.lower())
+         if e == '.gif':
+-            bmp = wxBitmap(name, wxBITMAP_TYPE_GIF)
++            bmp = wx.Bitmap(name, wx.BITMAP_TYPE_GIF)
+         elif e == '.bmp':
+-            bmp = wxBitmap(name, wxBITMAP_TYPE_BMP)
++            bmp = wx.Bitmap(name, wx.BITMAP_TYPE_BMP)
+         else:
+             assert False
+         return bmp
+@@ -1054,7 +1054,7 @@
+         
+-class btWxApp(wxApp):
++class btWxApp(wx.App):
+     def OnInit(self):
+         self.APP = T_make()
+         return True
This page took 0.307992 seconds and 4 git commands to generate.