From: <sir...@us...> - 2003-03-09 12:10:05
|
Update of /cvsroot/btplusplus/BT++/src/TabHistory In directory sc8-pr-cvs1:/tmp/cvs-serv17691/src/TabHistory Modified Files: TabHistory.py Added Files: HistLoaderManager.py Grid.py Log Message: - Made History working. - Added option for History. - Fixes. --- NEW FILE: HistLoaderManager.py --- from wxPython.wx import * from os import listdir, path from Loader import Loader from LoaderManager import LoaderManager from ConfigFile import Config class HistLoaderManager(LoaderManager): Loaders = [] Log = None Refresh = None Finish = None UpMeasure = None DirTorrent = '' DirTemp = '' DirFilFinish = '' DirTorFinish = '' def Update(self): self.UpdateList() def UpdateList(self): # UPDATE TORRENT LIST tors = listdir( self.DirTorrent ) if len(tors) == 0: return for tor in tors: con = false for loader in self.Loaders: if loader.Config['Tor'] == tor: con = true if con == true: continue self.CreateNewLoader(tor) def CreateNewLoader(self, torrent): l = LoaderManager.CreateNewLoader(self, torrent) if not path.exists( l.Config['Filename'] ): self.Loaders.remove(l) else: return l ManagerUp = HistLoaderManager( [ Config.Get('Paths', 'History'), Config.Get('Paths', 'Incoming'), '', '' ] ) --- NEW FILE: Grid.py --- from wxPython.wx import * from TabLog.LogWindow import Log from ConfigFile import Config from TimedUpdate import TimedUpdate from Images import GetBitmap import TabTrans.Renderer import TabTrans.Grid import TabTrans.GridTable from HistLoaderManager import ManagerUp class HistGrid(TabTrans.Grid.Grid): def __init__(self, parent): wxScrolledWindow.__init__(self, parent, -1, wxPoint(0,0), wxSize(786,335), style = wxSIMPLE_BORDER | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE) self.Table = HistGridTable(self) self.SetBackgroundColour(wxColour(255,255,255)) for col in range(self.Table.GetNumberCols()): size = Config.Get('GUI', 'HistCol%i' % col) self.Table.SetColSize(col, size) self.SetScrollRate( 5, 5 ) self.Updater = TimedUpdate( 10.0, self.Update ) self.Updater.Start() # Menu creation self.Menu = wxMenu('') self.itemCancel = wxMenuItem( self.Menu, 1, 'Cancel' ) self.itemResume = wxMenuItem( self.Menu, 2, 'Resume' ) self.itemPause = wxMenuItem( self.Menu, 3, 'Pause' ) self.itemUp = wxMenuItem( self.Menu, 4, 'Move Up' ) self.itemDown = wxMenuItem( self.Menu, 5, 'Move Down' ) self.itemCancel.SetBitmap( GetBitmap('Menu_Cancel') ) self.itemResume.SetBitmap( GetBitmap('Menu_Resume') ) self.itemPause .SetBitmap( GetBitmap('Menu_Pause') ) self.Menu.AppendItem( self.itemCancel ) self.Menu.AppendSeparator() self.Menu.AppendItem( self.itemResume ) self.Menu.AppendItem( self.itemPause ) EVT_MENU( self, self.itemCancel.GetId(), self.Menu_Cancel ) EVT_MENU( self, self.itemResume.GetId(), self.Menu_Resume ) EVT_MENU( self, self.itemPause.GetId(), self.Menu_Pause ) EVT_KEY_DOWN( self, self.OnKeyDown ) EVT_KEY_UP( self, self.OnKeyUp ) EVT_LEFT_DOWN( self, self.OnMouseLeftDown ) EVT_LEFT_UP( self, self.OnMouseLeftUp ) EVT_RIGHT_DOWN( self, self.OnMouseRightDown ) EVT_MOTION( self, self.OnMouseMove ) EVT_PAINT( self, self.OnPaint ) EVT_SIZE( self, self.OnSize ) self.DrawTools['ArrowBitmap'] = GetBitmap('Grid_Arrow') def Destroy(self, evt = wxCloseEvent()): for col in range(self.Table.GetNumberCols()): Config.Set('GUI', 'HistCol%i' % col, self.Table.GetColSize(col)) Config.Save() self.Table.Destroy() self.Updater.Shutdown() wxScrolledWindow.Destroy(self) ########################################################################################################### ########################################################################################################### class HistGridTable(TabTrans.GridTable.GridTable): Renderers = { 'Default': TabTrans.Renderer.Default(), 'Rows': {}, 'Cols': {} } def __init__(self, grid): self.Grid = grid self.Manager = ManagerUp self.Manager.Refresh = self.Refresh self.Manager.Log = Log def GetNumberCols(self): return 5 def GetColLabelValue(self, col): if col == 0: return 'Filename' if col == 1: return 'Size' if col == 2: return 'Transfered' if col == 3: return 'Speed' if col == 4: return 'Status' def GetValue(self, row, col): def info(name): return self.Manager.GetInfo(row, name) if col == 0: return info('File') if col == 1: return '%.2f MB' % (info('Size') / 1024 / 1024) if col == 2: if info('FractionDone') == -1.0 or \ info('Status') == 'Hashing': return '?' else: return '%.2f MB' % (info('FractionDone') * info('Size') / 1024 / 1024) if col == 3: return '%.1f' % info('SpeedUp') if col == 4: return info('Status') Index: TabHistory.py =================================================================== RCS file: /cvsroot/btplusplus/BT++/src/TabHistory/TabHistory.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TabHistory.py 2 Mar 2003 16:39:38 -0000 1.1 --- TabHistory.py 9 Mar 2003 12:10:02 -0000 1.2 *************** *** 1,5 **** ! from wxPython.wx import * ! from TabTrans.Grid import Grid ! from TabTrans.GridTable import GridTable ########################################################################################################### --- 1,4 ---- ! from wxPython.wx import * ! from Grid import HistGrid ########################################################################################################### *************** *** 11,19 **** def __init__(self, parent): ! wxPanel.__init__(self, parent, -1, wxPoint(0,65), wxSize(786,347)) ! #self.Grid = Grid( self ) sizer = wxBoxSizer(wxHORIZONTAL) ! #sizer.Add( self.Grid, 1, wxEXPAND | wxALL, 3) self.SetSizer(sizer) --- 10,18 ---- def __init__(self, parent): ! wxPanel.__init__(self, parent, -1, wxPoint(0,65), wxSize(786,347), style = 0) ! self.Grid = HistGrid( self ) sizer = wxBoxSizer(wxHORIZONTAL) ! sizer.Add( self.Grid, 1, wxEXPAND | wxALL, 3) self.SetSizer(sizer) *************** *** 22,25 **** def Destroy(self, evt = wxCloseEvent()): ! #self.Grid.Destroy() wxPanel.Destroy(self) --- 21,24 ---- def Destroy(self, evt = wxCloseEvent()): ! self.Grid.Destroy() wxPanel.Destroy(self) |