SF.net SVN: fclient: [546] trunk/fclient/src/fclient/Ui_ViewConnection.py
Status: Pre-Alpha
Brought to you by:
jurner
From: <jU...@us...> - 2008-07-08 10:47:40
|
Revision: 546 http://fclient.svn.sourceforge.net/fclient/?rev=546&view=rev Author: jUrner Date: 2008-07-08 03:47:10 -0700 (Tue, 08 Jul 2008) Log Message: ----------- starterd implementing connection interface Added Paths: ----------- trunk/fclient/src/fclient/Ui_ViewConnection.py Added: trunk/fclient/src/fclient/Ui_ViewConnection.py =================================================================== --- trunk/fclient/src/fclient/Ui_ViewConnection.py (rev 0) +++ trunk/fclient/src/fclient/Ui_ViewConnection.py 2008-07-08 10:47:10 UTC (rev 546) @@ -0,0 +1,117 @@ +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 .lib import fcp2 +from .lib.qt4ex import settingsbase +from .tpls.Ui_ViewConnectionTpl import Ui_ViewConnectionTpl + +#********************************************************************************** +# +#********************************************************************************** +class UserSettings(settingsbase.SettingsBase): + + KEY_SETTINGS = 'UserSettingsConnection' + SETTINGS = [ + ('AutoConnect', ['toBool', False]), + ('ConnectionHost', ['toString', fcp2.Client.DefaultFcpHost]), + ('ConnectionPort', ['toUInt', fcp2.Client.DefaultFcpPort]), + ] + +#*********************************************************************** +# +#*********************************************************************** +class ViewWidgetConnection(QtGui.QWidget, Ui_ViewConnectionTpl): + + IdBtConnect = 'btConnect' + IdEdConnectionHost = 'edConnectionHost' + IdSpinConnectionPort = 'spinConnectionPort' + + + + def __init__(self, parent, cfg=None): + QtGui.QWidget.__init__(self, parent) + + self._isCreated = False + + + self.cfg = config.Config(self) if cfg is None else cfg + self.userSettings = UserSettings() + + self.setupUi(self) + + + def showEvent(self, event): + QtGui.QWidget.showEvent(self, event) + if self._isCreated: + return + + self._isCreated = True + self.connect( + self.controlById(self.IdBtConnect), + QtCore.SIGNAL('clicked(bool)'), + self.onBtConnectClicked + ) + + # setup host / port boxes + edHost = self.controlById(self.IdEdConnectionHost) + edHost.setText(self.userSettings['ConnectionHost']) + + spinPort = self.controlById(self.IdSpinConnectionPort) + #TODO: no idea if port range (0, 0xFFFF) this is reasonable + spinPort.setRange(0, 0xFFFF) + spinPort.setValue(self.userSettings['ConnectionPort']) + + + # autoconnect if desired + self.cfg.settings.readSettings(self, self.userSettings) + if self.userSettings['AutoConnect']: + self.controlById(self.IdBtConnect).setChecked(True) + self.onBtConnectClicked(True) + + + + + def controlById(self, idControl): + return getattr(self, idControl) + + + def retranslateUi(self, w): + Ui_ViewConnectionTpl.retranslateUi(self, w) + bt = self.controlById(self.IdBtConnect) + if bt.isChecked(): + bt.setText() + + + ######################################### + ## + ######################################### + def onBtConnectClicked(self, checked): + bt = self.controlById(self.IdBtConnect) + if checked: + bt.setText(QtGui.QApplication.translate("ViewWidgetConnection", "Disconnect", None, QtGui.QApplication.UnicodeUTF8)) + else: + bt.setText(QtGui.QApplication.translate("ViewWidgetConnection", "Connect", None, QtGui.QApplication.UnicodeUTF8)) + + + + +#********************************************************************************** +# +#********************************************************************************** +if __name__ == '__main__': + import sys + + app = QtGui.QApplication(sys.argv) + w = ViewWidgetConnection(None) + w.show() + res = app.exec_() + sys.exit(res) + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |