SF.net SVN: fclient:[905] trunk/fclient/fclient
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-08-12 08:43:44
|
Revision: 905
http://fclient.svn.sourceforge.net/fclient/?rev=905&view=rev
Author: jUrner
Date: 2008-08-12 08:43:51 +0000 (Tue, 12 Aug 2008)
Log Message:
-----------
add an uploads widget to play around with
Modified Paths:
--------------
trunk/fclient/fclient/fclient.py
trunk/fclient/fclient/impl/config.py
Added Paths:
-----------
trunk/fclient/fclient/impl/ViewUploads.py
Modified: trunk/fclient/fclient/fclient.py
===================================================================
--- trunk/fclient/fclient/fclient.py 2008-08-12 08:42:46 UTC (rev 904)
+++ trunk/fclient/fclient/fclient.py 2008-08-12 08:43:51 UTC (rev 905)
@@ -18,6 +18,7 @@
from .impl.ViewConnection import ViewConnectionWidget
from .impl.ViewDownloads import ViewDownloadsWidget
from .impl.ViewLogger import ViewLoggerWidget
+from .impl.ViewUploads import ViewUploadsWidget
from .impl.DlgSingleAppError import DlgSingleAppError
#*************************************************************
@@ -78,6 +79,7 @@
ViewConnectionWidget(mainWindow),
ViewBrowserWidget(mainWindow),
ViewDownloadsWidget(mainWindow),
+ ViewUploadsWidget(mainWindow),
)
viewWidget.addBottomViews(ViewLoggerWidget(mainWindow))
Added: trunk/fclient/fclient/impl/ViewUploads.py
===================================================================
--- trunk/fclient/fclient/impl/ViewUploads.py (rev 0)
+++ trunk/fclient/fclient/impl/ViewUploads.py 2008-08-12 08:43:51 UTC (rev 905)
@@ -0,0 +1,173 @@
+
+""""""
+
+from __future__ import absolute_import
+if __name__ == '__main__': # see --> http://bugs.python.org/issue1510172 . works only current dir and below
+ import os; __path__ = [os.path.dirname(__file__)]
+
+
+from PyQt4 import QtCore, QtGui
+
+from . import config
+from .BaseRequestsWidget import RequestsWidget
+#************************************************************************************
+#
+#************************************************************************************
+class UploadsWidgetGlobalFeedback(config.GlobalFeedbackBase):
+ """wrapper for global statusbar widgets, menus"""
+
+ def __init__(self, parent, idGlobalFeedback):
+ config.GlobalFeedbackBase.__init__(self, parent, idGlobalFeedback)
+
+ # menus
+ self.menus = []
+ if self.menuBar is not None and hasattr(parent, 'fcViewObject'):
+ menu = QtGui.QMenu(parent.fcViewObject.displayName, self.menuBar)
+ parent.populateMenu(menu)
+ self.menus.append(menu)
+ self.menuBar.addViewMenu(menu)
+
+ # status bar widgets
+ self.labelStatus = None
+ self.progress = None
+ self.labelFeedbackWrap = None
+ #if self.statusBar is not None:
+ # self.labelStatus = QtGui.QLabel(QtCore.QString(), self.statusBar)
+ # self.statusBar.addWidget(self.labelStatus)
+ #
+ # self.progress = QtGui.QProgressBar(self.statusBar)
+ # self.progress.setRange(0, Browser.MaxProgress)
+ # self.progress.setValue(0)
+ # self.statusBar.addWidget(self.progress)
+ #
+ # label = QtGui.QLabel(self.statusBar)
+ # label.setFrameStyle(QtGui.QLabel.Sunken | QtGui.QLabel.Box)
+ # self.labelFeedbackWrap = pathlabelwrap.PathLabelWrap(
+ # label,
+ # path_module=config.CompactPathFcpKeyModule,
+ # )
+ # self.statusBar.addWidget(self.labelFeedbackWrap.label, 1)
+
+
+ def setVisible(self, flag):
+ if self.menuBar is not None:
+ for menu in self.menus:
+ menu.children()[0].setEnabled(flag)
+ #if self.statusBar is not None:
+ # self.progress.setVisible(flag)
+ # self.labelStatus.setVisible(flag)
+ # self.labelFeedbackWrap.label.setVisible(flag)
+
+ #def setProgress(self, n):
+ # if self.progress is not None:
+ # self.progress.setValue(n)
+
+ #def setStatusMessage(self, qString):
+ # if self.labelStatus is not None:
+ # self.labelStatus.setText(qString)
+
+ #def setFeedback(self, qString):
+ # if self.labelFeedbackWrap is not None:
+ # 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):
+
+
+ _key_ = config.IdViewUploadsWidget
+ _settings_ = (
+ )
+
+
+class ViewUploadsWidget(RequestsWidget):
+
+ def __init__(self, parent, idGlobalFeedback=config.IdMainWindow):
+
+ self.menuRemoveGroup = None
+
+ 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
+ self.menuRemoveGroup = QtGui.QMenu(self)
+ self.menuRemoveGroup.setTitle(self.trUtf8('Remove group'))
+ for action in self.fcActions['GroupRemoveGroup'].actions():
+ self.menuRemoveGroup.addAction(action)
+
+
+ ###################################
+ ## overwritten methods
+ ###################################
+ def hideEvent(self, event):
+ self.fcGlobalFeedback.setVisible(False)
+ RequestsWidget.hideEvent(self, event)
+
+ def showEvent(self, event):
+ self.fcGlobalFeedback.setVisible(True)
+ RequestsWidget.showEvent(self, event)
+
+ def retranslateUi(self, parent):
+ RequestsWidget.retranslateUi(self, parent)
+ if self.menuRemoveGroup is not None:
+ self.menuRemoveGroup.setTitle(self.trUtf8('Remove group'))
+
+ ###################################
+ ## methods
+ ###################################
+
+ ###################################
+ ## event handlers
+ ###################################
+ def onTreeCustomContextMenuRequested(self, pt):
+ tree = self.controlById(self.IdTree)
+ pt = tree.viewport().mapToGlobal(pt)
+
+ menu = QtGui.QMenu(self)
+ menu.addMenu(self.menuRemoveGroup)
+ menu.exec_(pt)
+
+ def onTreeItemSelectionChanged(self):
+ tree = self.controlById(self.IdTree)
+ hasSelectedItems = tree.selectionModel().hasSelection()
+
+#**********************************************************************************
+#
+#**********************************************************************************
+if __name__ == '__main__':
+ import sys
+ from . import View
+ from . import ViewConnection
+ from . import ViewLogger
+ from . import MainWindow
+
+ app = QtGui.QApplication(sys.argv)
+
+ mainWindow = MainWindow.MainWindow()
+ viewWidget = View.ViewWidget(mainWindow)
+ mainWindow.setCentralWidget(viewWidget)
+
+ viewWidget.addTopViews(
+ ViewConnection.ViewConnectionWidget(None),
+ ViewUploadsWidget(None),
+ )
+ viewWidget.addBottomViews(ViewLogger.ViewLoggerWidget(None))
+
+ mainWindow.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-12 08:42:46 UTC (rev 904)
+++ trunk/fclient/fclient/impl/config.py 2008-08-12 08:43:51 UTC (rev 905)
@@ -45,6 +45,7 @@
IdViewDownloadsWidget = 'ViewDownloadsWidget'
IdViewLoggerWidget = 'ViewDownloadsWidget'
IdViewLoggerWidget = 'ViewLoggerWidget'
+IdViewUploadsWidget = 'ViewUploadsWidget'
IdDlgPrefs = 'DlgPrefs'
IdSideBarLoadDetails = 'SideBarLoadDetails'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|