SF.net SVN: fclient:[921] trunk/fclient/fclient
Status: Pre-Alpha
Brought to you by:
jurner
From: <jU...@us...> - 2008-08-16 10:54:52
|
Revision: 921 http://fclient.svn.sourceforge.net/fclient/?rev=921&view=rev Author: jUrner Date: 2008-08-16 10:55:00 +0000 (Sat, 16 Aug 2008) Log Message: ----------- redesdigned view objects Modified Paths: -------------- trunk/fclient/fclient/fclient.py trunk/fclient/fclient/impl/MainWindow/MainWindow.py trunk/fclient/fclient/impl/ViewBrowser/SideBars/SideBarLoadDetails.py trunk/fclient/fclient/impl/ViewBrowser/ViewBrowser.py trunk/fclient/fclient/impl/ViewConnection/ViewConnection.py trunk/fclient/fclient/impl/ViewDownloads/ViewDownloads.py trunk/fclient/fclient/impl/ViewLogger/ViewLogger.py trunk/fclient/fclient/impl/ViewUploads/ViewUploads.py trunk/fclient/fclient/impl/config.py Modified: trunk/fclient/fclient/fclient.py =================================================================== --- trunk/fclient/fclient/fclient.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/fclient.py 2008-08-16 10:55:00 UTC (rev 921) @@ -12,13 +12,13 @@ from .impl import config from .impl.lib.qt4ex import singleapp -from .impl.MainWindow import MainWindow -from .impl.View import ViewWidget -from .impl.ViewBrowser import ViewBrowser -from .impl.ViewConnection import ViewConnection -from .impl.ViewDownloads import ViewDownloads -from .impl.ViewLogger import ViewLogger -from .impl.ViewUploads import ViewUploads +from .impl.MainWindow.ViewObject import ViewObjectMainWindow +from .impl.ViewView.ViewObject import ViewObjectView +from .impl.ViewConnection.ViewObject import ViewObjectConnection +from .impl.ViewBrowser.ViewObject import ViewObjectBrowser +from .impl.ViewDownloads.ViewObject import ViewObjectDownloads +from .impl.ViewLogger.ViewObject import ViewObjectLogger +from .impl.ViewUploads.ViewObject import ViewObjectUploads from .impl.DlgSingleAppError import DlgSingleAppError #************************************************************* @@ -30,8 +30,8 @@ #TODO: looks like no way to bring the window to the foreground # the calls do not work on x11. may work on windows though # - ##QtGui.QApplication.instance().setActiveWindow(self.userData) - ##self.userData.activateWindow() + ##QtGui.QApplication.instance().setActiveWindow(self.userData.widget()) + ##self.userData.widget().activateWindow() pass def main(): @@ -70,20 +70,37 @@ else: # everything went well. start gui app = QtGui.QApplication(sys.argv) - mainWindow = MainWindow.MainWindow() - singleApp.userData = mainWindow + + #print MainWindow.ViewObject + + voMainWindow = ViewObjectMainWindow(None) + voMainWindow.create() + singleApp.userData = voMainWindow - viewWidget = ViewWidget(mainWindow) - mainWindow.setCentralWidget(viewWidget) - viewWidget.addTopViews( - ViewConnection.ViewConnectionWidget(mainWindow), - ViewBrowser.ViewBrowserWidget(mainWindow), - ViewDownloads.ViewDownloadsWidget(mainWindow), - ViewUploads.ViewUploadsWidget(mainWindow), + voView = ViewObjectView(voMainWindow) + viewWidget = voView.create() + voMainWindow.widget().setCentralWidget(viewWidget) + + topViews = ( + ViewObjectConnection, + ViewObjectBrowser, + ViewObjectDownloads, + ViewObjectUploads, ) - viewWidget.addBottomViews(ViewLogger.ViewLoggerWidget(mainWindow)) + for view in topViews: + view = view(voView) + view.create() + viewWidget.addTopViews(view) - mainWindow.show() + bottomViews = ( + ViewObjectLogger, + ) + for view in bottomViews: + view = view(voView) + view.create() + viewWidget.addBottomViews(view) + + voMainWindow.widget().show() res = app.exec_() sys.exit(res) Modified: trunk/fclient/fclient/impl/MainWindow/MainWindow.py =================================================================== --- trunk/fclient/fclient/impl/MainWindow/MainWindow.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/impl/MainWindow/MainWindow.py 2008-08-16 10:55:00 UTC (rev 921) @@ -33,8 +33,6 @@ self._isCreated = False self.setupUi(self) - config.ObjectRegistry.register(self) - self.fcSettings = Settings.Settings().restore() self.fcActions = Actions.Actions(self) self.setMenuBar(MenuBar.MenuBar(self)) Modified: trunk/fclient/fclient/impl/ViewBrowser/SideBars/SideBarLoadDetails.py =================================================================== --- trunk/fclient/fclient/impl/ViewBrowser/SideBars/SideBarLoadDetails.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/impl/ViewBrowser/SideBars/SideBarLoadDetails.py 2008-08-16 10:55:00 UTC (rev 921) @@ -68,8 +68,6 @@ self.statusNames = {} # TreeItem.Status* --> displayName self.setupUi(self) - - config.ObjectRegistry.register(self) self.fcSettings = SideBarLoadDetailsSettings(self).restore() self.baseKey = None # base key of the page Modified: trunk/fclient/fclient/impl/ViewBrowser/ViewBrowser.py =================================================================== --- trunk/fclient/fclient/impl/ViewBrowser/ViewBrowser.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/impl/ViewBrowser/ViewBrowser.py 2008-08-16 10:55:00 UTC (rev 921) @@ -82,18 +82,6 @@ #***************************************************************************************** # #***************************************************************************************** -class BrowserWidgetViewObject(config.ViewObject): - - def __init__(self, parent): - config.ViewObject. __init__(self, parent) - - self.name=parent.objectName() - self.displayName=self.trUtf8('Browser') - self.icon=QtGui.QIcon() - -#***************************************************************************************** -# -#***************************************************************************************** class ViewBrowserWidget(QtGui.QWidget, Ui_ViewBrowserWidget): IdTabBrowsers = 'tabBrowsers' @@ -123,14 +111,9 @@ self.menuSideBars = QtGui.QMenu(self.trUtf8('Side bars')) #TODO: retranslate self.setupUi(self) - config.ObjectRegistry.register(self) - self.isCreated = False - self._initialConfigDataArrived = False - self.fcSettings = Settings.Settings(self).restore() self.fcActions = Actions.Actions(self) - self.fcViewObject = BrowserWidgetViewObject(self) self.fcGlobalFeedback = GlobalFeedback.GlobalFeedback(self, idGlobalFeedback) # setup @@ -308,9 +291,10 @@ if browser is None: return False - connectionWidget = config.ObjectRegistry.get(config.IdViewConnectionWidget, None) - if connectionWidget is None: - raise ValueError('No connection widget found') + connectionView = config.ObjectRegistry.get(config.IdViewObjectConnection, None) + if connectionView is None: + raise ValueError('No connection view found') + connectionWidget = connectionView.widget() # load url url.setScheme('http') @@ -774,29 +758,38 @@ #********************************************************************************** if __name__ == '__main__': import sys - from ..ViewLogger import ViewLoggerWidget - from ..MainWindow import MainWindow - from ..View import ViewWidget - from ..ViewConnection import ViewConnectionWidget - from ..ViewDownloads import ViewDownloadsWidget + from ..MainWindow.ViewObject import ViewObjectMainWindow + from ..ViewView.ViewObject import ViewObjectView + from ..ViewConnection.ViewObject import ViewObjectConnection + from ..ViewLogger.ViewObject import ViewObjectLogger + from ..ViewBrowser.ViewObject import ViewObjectBrowser app = QtGui.QApplication(sys.argv) - mainWindow = MainWindow.MainWindow() - viewWidget = ViewWidget(mainWindow) - mainWindow.setCentralWidget(viewWidget) - - browserWidget = ViewBrowserWidget(mainWindow) - viewWidget.addTopViews( - ViewConnectionWidget(mainWindow), - browserWidget, - ViewDownloadsWidget(mainWindow), + voMainWindow = ViewObjectMainWindow(None) + voMainWindow.create() + + voView = ViewObjectView(voMainWindow) + viewWidget = voView.create() + voMainWindow.widget().setCentralWidget(viewWidget) + + topViews = ( + ViewObjectConnection, + ViewObjectBrowser, ) - viewWidget.addBottomViews( - ViewLoggerWidget(mainWindow), - ) - - mainWindow.show() + for view in topViews: + view = view(voView) + view.create() + viewWidget.addTopViews(view) + + bottomViews = ( + ViewObjectLogger, + ) + for view in bottomViews: + view = view(voView) + view.create() + viewWidget.addBottomViews(view) + + voMainWindow.widget().show() res = app.exec_() sys.exit(res) - Modified: trunk/fclient/fclient/impl/ViewConnection/ViewConnection.py =================================================================== --- trunk/fclient/fclient/impl/ViewConnection/ViewConnection.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/impl/ViewConnection/ViewConnection.py 2008-08-16 10:55:00 UTC (rev 921) @@ -95,17 +95,6 @@ spinPort = parent.controlById(parent.IdFproxySpinConnectionPort) spinPort.setValue(self.value('FproxyConnectionPort')) - -class ConnectionViewObject(config.ViewObject): - - def __init__(self, parent): - config.ViewObject. __init__(self, parent) - - self.name=parent.objectName() - self.displayName=self.trUtf8('Connection') - self.icon=QtGui.QIcon() - - #********************************************************************************** # #********************************************************************************** @@ -177,10 +166,8 @@ spinPort.setRange(0, 0xFFFF) #TODO: no idea if port range (0, 0xFFFF) this is reasonable self._isCreated = False - config.ObjectRegistry.register(self) self.fcSettings = Settings(self).restore() self.fcActions = Actions(self) - self.fcViewObject = ConnectionViewObject(self) self.fcGlobalFeedback = GlobalFeedback(self,idGlobalFeedback) self._connectionTimer = ConnectionTimer(self) Modified: trunk/fclient/fclient/impl/ViewDownloads/ViewDownloads.py =================================================================== --- trunk/fclient/fclient/impl/ViewDownloads/ViewDownloads.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/impl/ViewDownloads/ViewDownloads.py 2008-08-16 10:55:00 UTC (rev 921) @@ -78,17 +78,6 @@ # self.labelFeedbackWrap.setPath(unicode(qString)) - -class DownloadsViewObject(config.ViewObject): - - def __init__(self, parent): - config.ViewObject. __init__(self, parent) - - self.name=parent.objectName() - self.displayName=self.trUtf8('Downloads') - self.icon=QtGui.QIcon() - - class DownloadsWidgetSettings(config.SettingsBase): @@ -107,9 +96,7 @@ BaseRequestsWidget.RequestsWidget.__init__(self, parent) self.setObjectName(config.IdViewDownloadsWidget) - config.ObjectRegistry.register(self) self.fcSettings = DownloadsWidgetSettings(self).restore() - self.fcViewObject = DownloadsViewObject(self) self.fcGlobalFeedback = DownloadsWidgetGlobalFeedback(self, idGlobalFeedback) # setup menus @@ -181,23 +168,39 @@ #********************************************************************************** if __name__ == '__main__': import sys - from .. import View - from ..ViewConnection import ViewConnection - from ..ViewLogger import ViewLogger - from ..MainWindow import MainWindow - + from ..MainWindow.ViewObject import ViewObjectMainWindow + from ..ViewView.ViewObject import ViewObjectView + from ..ViewConnection.ViewObject import ViewObjectConnection + from ..ViewLogger.ViewObject import ViewObjectLogger + from ..ViewDownloads.ViewObject import ViewObjectDownloads + app = QtGui.QApplication(sys.argv) - mainWindow = MainWindow.MainWindow() - viewWidget = View.ViewWidget(mainWindow) - mainWindow.setCentralWidget(viewWidget) - - viewWidget.addTopViews( - ViewConnection.ViewConnectionWidget(None), - ViewDownloadsWidget(None), + voMainWindow = ViewObjectMainWindow(None) + voMainWindow.create() + + voView = ViewObjectView(voMainWindow) + viewWidget = voView.create() + voMainWindow.widget().setCentralWidget(viewWidget) + + topViews = ( + ViewObjectConnection, + ViewObjectDownloads, ) - viewWidget.addBottomViews(ViewLogger.ViewLoggerWidget(None)) + for view in topViews: + view = view(voView) + view.create() + viewWidget.addTopViews(view) + + bottomViews = ( + ViewObjectLogger, + ) + for view in bottomViews: + view = view(voView) + view.create() + viewWidget.addBottomViews(view) + + voMainWindow.widget().show() + res = app.exec_() + sys.exit(res) - mainWindow.show() - res = app.exec_() - sys.exit(res) \ No newline at end of file Modified: trunk/fclient/fclient/impl/ViewLogger/ViewLogger.py =================================================================== --- trunk/fclient/fclient/impl/ViewLogger/ViewLogger.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/impl/ViewLogger/ViewLogger.py 2008-08-16 10:55:00 UTC (rev 921) @@ -121,17 +121,6 @@ ('ColorFgVerbosityCHATTY', 'QColor', QtGui.QColor('lightslategray')), ) - -class LoggerViewObject(config.ViewObject): - - def __init__(self, parent): - config.ViewObject. __init__(self, parent) - - self.name=parent.objectName() - self.displayName=self.trUtf8('Logger') - self.icon=QtGui.QIcon() - - #*********************************************************************** # #*********************************************************************** @@ -158,11 +147,8 @@ self._mainWindowMenus = {} #TODO: wrap along with toolbars to a handy class MainWindowStuff self.setupUi(self) - config.ObjectRegistry.register(self) - self.fcActions = Actions(self) self.fcSettings = Settings(self).restore() - self.fcViewObject = LoggerViewObject(self) self.fcGlobalFeedback = GlobalFeedback(self, idGlobalFeedback) Modified: trunk/fclient/fclient/impl/ViewUploads/ViewUploads.py =================================================================== --- trunk/fclient/fclient/impl/ViewUploads/ViewUploads.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/impl/ViewUploads/ViewUploads.py 2008-08-16 10:55:00 UTC (rev 921) @@ -79,17 +79,6 @@ # self.labelFeedbackWrap.setPath(unicode(qString)) - -class DownloadsViewObject(config.ViewObject): - - def __init__(self, parent): - config.ViewObject. __init__(self, parent) - - self.name=parent.objectName() - self.displayName=self.trUtf8('Uploads') - self.icon=QtGui.QIcon() - - class UploadsWidgetSettings(config.SettingsBase): @@ -107,9 +96,7 @@ BaseRequestsWidget.RequestsWidget.__init__(self, parent) self.setObjectName(config.IdViewUploadsWidget) - config.ObjectRegistry.register(self) self.fcSettings = UploadsWidgetSettings(self).restore() - self.fcViewObject = DownloadsViewObject(self) self.fcGlobalFeedback = UploadsWidgetGlobalFeedback(self, idGlobalFeedback) # setup menus @@ -159,23 +146,38 @@ #********************************************************************************** if __name__ == '__main__': import sys - from .. import View - from ..ViewConnection import ViewConnection - from ..ViewLogger import ViewLogger - from ..MainWindow import MainWindow - + from ..MainWindow.ViewObject import ViewObjectMainWindow + from ..ViewView.ViewObject import ViewObjectView + from ..ViewConnection.ViewObject import ViewObjectConnection + from ..ViewLogger.ViewObject import ViewObjectLogger + from ..ViewUploads.ViewObject import ViewObjectUploads + app = QtGui.QApplication(sys.argv) - mainWindow = MainWindow.MainWindow() - viewWidget = View.ViewWidget(mainWindow) - mainWindow.setCentralWidget(viewWidget) - - viewWidget.addTopViews( - ViewConnection.ViewConnectionWidget(None), - ViewUploadsWidget(None), + voMainWindow = ViewObjectMainWindow(None) + voMainWindow.create() + + voView = ViewObjectView(voMainWindow) + viewWidget = voView.create() + voMainWindow.widget().setCentralWidget(viewWidget) + + topViews = ( + ViewObjectConnection, + ViewObjectUploads, ) - viewWidget.addBottomViews(ViewLogger.ViewLoggerWidget(None)) - - mainWindow.show() + for view in topViews: + view = view(voView) + view.create() + viewWidget.addTopViews(view) + + bottomViews = ( + ViewObjectLogger, + ) + for view in bottomViews: + view = view(voView) + view.create() + viewWidget.addBottomViews(view) + + voMainWindow.widget().show() res = app.exec_() sys.exit(res) \ No newline at end of file Modified: trunk/fclient/fclient/impl/config.py =================================================================== --- trunk/fclient/fclient/impl/config.py 2008-08-16 08:22:18 UTC (rev 920) +++ trunk/fclient/fclient/impl/config.py 2008-08-16 10:55:00 UTC (rev 921) @@ -50,6 +50,16 @@ IdSideBarLoadDetails = 'SideBarLoadDetails' +##### +IdViewObjectBrowser = QtCore.QString('ViewObjectBrowser') +IdViewObjectConnection = QtCore.QString('ViewObjectConnection') +IdViewObjectDownloads = QtCore.QString('ViewObjectDownloads') +IdViewObjectLogger = QtCore.QString('ViewObjectLogger') +IdViewObjectMainWindow = QtCore.QString('ViewObjectMainWindow') +IdViewObjectUploads = QtCore.QString('ViewObjectUploads') +IdViewObjectView = QtCore.QString('ViewObjectView') + + class ObjectRegistry(weakref.WeakValueDictionary): """global object registry @@ -57,19 +67,19 @@ ObjectRegistry is actually a WeakValueDictionary. so use as a dict """ - def register(self, obj): + def register(self, viewObject): """regisdters an object in the registry - @param obj: (QObject) object to register + @param viewObject: view object to register @note: QObject.objectName() is taken as id. ids have to be unique throughout the runtime of the gui """ - ido = str(obj.objectName()) + ido = viewObject.name() if ido in self: - raise ValueError('ui object already registered: %s' % ido) - self[ido] = obj + raise ValueError('view object already registered: %s' % ido) + self[ido] = viewObject + + def unregister(self, viewObject): + del self[str(viewObject.name())] - def unregister(self, obj): - del self[str(obj.objectName())] - ObjectRegistry = ObjectRegistry() #********************************************************************************** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |