SF.net SVN: fclient:[819] trunk/fclient/src/fclient
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-07-30 10:49:35
|
Revision: 819
http://fclient.svn.sourceforge.net/fclient/?rev=819&view=rev
Author: jUrner
Date: 2008-07-30 10:49:43 +0000 (Wed, 30 Jul 2008)
Log Message:
-----------
add single application ckeck on startup ++ error dlg ++ prefs page
Modified Paths:
--------------
trunk/fclient/src/fclient/fclient.py
trunk/fclient/src/fclient/impl/Prefs.py
trunk/fclient/src/fclient/impl/config.py
Added Paths:
-----------
trunk/fclient/src/fclient/impl/DlgSingleAppError.py
trunk/fclient/src/fclient/impl/PrefsSingleApp.py
trunk/fclient/src/fclient/impl/tpls/DlgSingleAppErrorTpl.ui
trunk/fclient/src/fclient/impl/tpls/PrefsSingleAppTpl.ui
trunk/fclient/src/fclient/impl/tpls/Ui_DlgSingleAppErrorTpl.py
trunk/fclient/src/fclient/impl/tpls/Ui_PrefsSingleAppTpl.py
Modified: trunk/fclient/src/fclient/fclient.py
===================================================================
--- trunk/fclient/src/fclient/fclient.py 2008-07-30 10:47:21 UTC (rev 818)
+++ trunk/fclient/src/fclient/fclient.py 2008-07-30 10:49:43 UTC (rev 819)
@@ -6,33 +6,67 @@
import sys
from PyQt4 import QtGui
+from .impl import config
+from .impl.lib.qt4ex import singleapp
+
from .impl.MainWindow import MainWindow
from .impl.View import ViewWidget
from .impl.ViewBrowser import ViewBrowserWidget
from .impl.ViewConnection import ViewConnectionWidget
from .impl.ViewDownloads import ViewDownloadsWidget
from .impl.ViewLogger import ViewLoggerWidget
+
+from .impl.DlgSingleAppError import DlgSingleAppError
#*************************************************************
#
#*************************************************************
+class SingleApp(singleapp.SingleApp):
+
+ def onOtherAppIsStarting(self):
+ #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()
+ pass
+
+
def main():
- app = QtGui.QApplication(sys.argv)
- mainWindow = MainWindow()
- viewWidget = ViewWidget(mainWindow)
- mainWindow.setCentralWidget(viewWidget)
-
- viewWidget.addBottomViews(ViewLoggerWidget(mainWindow))
- viewWidget.addTopViews(
- ViewConnectionWidget(mainWindow),
- ViewBrowserWidget(mainWindow),
- ViewDownloadsWidget(mainWindow),
- )
-
-
- mainWindow.show()
- res = app.exec_()
- sys.exit(res)
+ singleApp = SingleApp(
+ host=config.fcSettings.value('SingleAppHost'),
+ port=config.fcSettings.value('SingleAppPort'),
+ magicToSend='{80a21244-c2ff-4afd-b8a2-c3b93b99332f}',
+ magicToRespond='{2e86f6f1-0707-415d-bfe6-6d485603a98c}'
+ )
+ try:
+ singleApp.start()
+ except singleapp.ErrorOtherAppIsRunning:
+ print 'looks like another %s application is already running' % config.FcAppName
+ print 'exit'
+ sys.exit(5)
+ except singleapp.ErrorCanNotConnect:
+ app = QtGui.QApplication(sys.argv)
+ dlg = DlgSingleAppError()
+ dlg.exec_()
+
+ else:
+ app = QtGui.QApplication(sys.argv)
+ mainWindow = MainWindow()
+ singleApp.userData = mainWindow
+
+ viewWidget = ViewWidget(mainWindow)
+ mainWindow.setCentralWidget(viewWidget)
+ viewWidget.addBottomViews(ViewLoggerWidget(mainWindow))
+ viewWidget.addTopViews(
+ ViewConnectionWidget(mainWindow),
+ ViewBrowserWidget(mainWindow),
+ ViewDownloadsWidget(mainWindow),
+ )
+
+ mainWindow.show()
+ res = app.exec_()
+ sys.exit(res)
#**********************************************************************************
#
Added: trunk/fclient/src/fclient/impl/DlgSingleAppError.py
===================================================================
--- trunk/fclient/src/fclient/impl/DlgSingleAppError.py (rev 0)
+++ trunk/fclient/src/fclient/impl/DlgSingleAppError.py 2008-07-30 10:49:43 UTC (rev 819)
@@ -0,0 +1,133 @@
+#***************************************************************************************
+#TODO:
+# x. error icon
+#
+#*************************************************************************************
+
+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__)]
+
+import os
+from PyQt4 import QtCore, QtGui
+
+from . import config
+from .lib import fcp2
+
+from .tpls.Ui_DlgSingleAppErrorTpl import Ui_DlgSingleAppError
+#**********************************************************************************
+#
+#**********************************************************************************
+class Settings(config.SettingsBase):
+ _key_ = 'DlgSingleAppError'
+ _settings_ = (
+ ('Geometry', 'ByteArray', QtCore.QByteArray(), config.SettingScopePrivate),
+ ('SplitterPos', 'ByteArray', QtCore.QByteArray(), config.SettingScopePrivate),
+ )
+
+
+#**********************************************************************************
+#
+#**********************************************************************************
+class DlgSingleAppError(QtGui.QDialog, Ui_DlgSingleAppError):
+
+ IdTextEdit = 'textEdit'
+ IdEdHost = 'edHost'
+ IdSpinPort = 'spinPort'
+ IdSplitter = 'splitter'
+
+
+ def __init__(self, parent=None, fcpKey=None):
+ QtGui.QDialog.__init__(self, parent)
+
+ self.setupUi(self)
+ self.fcSettings = Settings(self).restore()
+
+ # setup dialog
+ self.restoreGeometry(self.fcSettings.value('Geometry'))
+ self.setWindowTitle(config.FcAppName + self.trUtf8(' - Error starting up'))
+
+
+ # setup host / port
+ edHost = self.controlById(self.IdEdHost)
+ edHost.setText(config.fcSettings.value('SingleAppHost'))
+
+ spinPort = self.controlById(self.IdSpinPort)
+ spinPort.setRange(0, 0xFFFF) #TODO: no idea if port range (0, 0xFFFF) this is reasonable
+ spinPort.setValue(config.fcSettings.value('SingleAppPort'))
+
+
+ # setup text edit
+ ed = self.controlById(self.IdTextEdit)
+ text = self.trUtf8('<b>%1 could not be started!</b>').arg(config.FcAppName)
+ ed.insertHtml(text)
+ ed.insertHtml('<br><br>')
+ text = self.trUtf8('%1 could not establish a socket connection needed to enshure only one application is running at a time. Possible reasons are:').arg(config.FcAppName)
+ ed.insertHtml(text)
+
+ text = '''<ol>
+ <li>%s</li>
+ <li>%s</li>
+
+ </ol>
+ ''' % (
+ self.trUtf8('Your firewall blocks the connection. Adjust your firewall to allow the connection as shown to the left.'),
+ self.trUtf8('Another application may already use host and port as shown. Adjust host and port to your needs. In most cases setting port to an arbitrary (high) number should do the job.'),
+
+ )
+ ed.insertHtml(text)
+ cursor = ed.textCursor()
+ cursor.movePosition(cursor.Start, cursor.MoveAnchor)
+ ed.setTextCursor(cursor)
+
+ # setup splitter
+ splitter = self.controlById(self.IdSplitter)
+ splitter.restoreState(self.fcSettings.value('SplitterPos'))
+ self.connect(splitter, QtCore.SIGNAL('splitterMoved(int, int)'), self.onSplitterMoved)
+
+ ##############################
+ ## methods
+ ##############################
+ def controlById(self, idControl):
+ return getattr(self, idControl)
+
+ ##############################
+ ## overwritten methods
+ ##############################
+ def accept(self):
+ edHost = self.controlById(self.IdEdHost)
+ spinPort = self.controlById(self.IdSpinPort)
+ config.fcSettings.setValues(
+ SingleAppHost=edHost.text(),
+ SingleAppPort=spinPort.value(),
+ )
+
+
+ self.done(self.Accepted)
+
+ ##############################
+ ## overwritten events
+ ##############################
+ def hideEvent(self, event):
+ self.fcSettings.setValues(Geometry=self.saveGeometry())
+
+ ##############################
+ ## event handlers
+ ##############################
+ def onSplitterMoved(self, pos, index):
+ splitter = self.controlById(self.IdSplitter)
+ self.fcSettings.setValues(SplitterPos=splitter.saveState())
+
+#**********************************************************************************
+#
+#**********************************************************************************
+if __name__ == '__main__':
+ import sys
+
+ app = QtGui.QApplication(sys.argv)
+ w = DlgSingleAppError()
+ w.show()
+ res = app.exec_()
+ sys.exit(res)
+
+
Modified: trunk/fclient/src/fclient/impl/Prefs.py
===================================================================
--- trunk/fclient/src/fclient/impl/Prefs.py 2008-07-30 10:47:21 UTC (rev 818)
+++ trunk/fclient/src/fclient/impl/Prefs.py 2008-07-30 10:49:43 UTC (rev 819)
@@ -10,6 +10,7 @@
from .PrefsGlobal import PrefsPageGlobal
from .PrefsBrowserWidget import PrefsPageBrowser
from .PrefsConnectionWidget import PrefsPageConnectionExpertSettings
+from .PrefsSingleApp import PrefsPageSingleApp
#**********************************************************************************
#
#**********************************************************************************
@@ -55,7 +56,10 @@
pages = PrefsPageRoot()(
PrefsPageGlobal(),
- PrefsPageConnectionExpertSettings(),
+ PrefsPageConnectionExpertSettings()
+ (
+ PrefsPageSingleApp(),
+ ),
PrefsPageBrowser(),
)
Added: trunk/fclient/src/fclient/impl/PrefsSingleApp.py
===================================================================
--- trunk/fclient/src/fclient/impl/PrefsSingleApp.py (rev 0)
+++ trunk/fclient/src/fclient/impl/PrefsSingleApp.py 2008-07-30 10:49:43 UTC (rev 819)
@@ -0,0 +1,104 @@
+
+
+from __future__ import absolute_import
+if __name__ == '__main__': # see --> http://bugs.python.org/Fc1510172 . works only current dir and below
+ import os; __path__ = [os.path.dirname(__file__)]
+
+
+from PyQt4 import QtCore, QtGui
+
+from . import config
+from .lib.qt4ex import dlgpreferences
+from .lib.qt4ex.lib import settings
+
+from .tpls.Ui_PrefsSingleAppTpl import Ui_PrefsSingleApp
+#**********************************************************************************
+#
+#**********************************************************************************
+class PrefsSingleApp(QtGui.QWidget, Ui_PrefsSingleApp):
+
+ IdEdHost = 'edHost'
+ IdSpinPort = 'spinPort'
+
+ def __init__(self, parent=None, page=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.setupUi(self)
+
+ self.fcSettingsControler = settings.SettingsControler(config.fcSettings, parent=self)
+ if page is not None:
+ page.connect(self.fcSettingsControler, QtCore.SIGNAL('isDirty(bool)'), page.setDirty)
+
+ self.fcSettingsControler.addLineEdit(
+ self.controlById(self.IdEdHost),
+ 'SingleAppHost',
+ )
+
+ spinPort = self.controlById(self.IdSpinPort)
+ spinPort.setRange(0, 0xFFFF) #TODO: no idea if port range (0, 0xFFFF) this is reasonable
+ self.fcSettingsControler.addSpinBox(
+ spinPort,
+ 'SingleAppPort',
+ )
+
+
+ def controlById(self, idControl):
+ return getattr(self, idControl)
+
+ def doApply(self):
+ if self.fcSettingsControler is not None:
+ return self.fcSettingsControler.apply()
+ return False
+
+ def doRestoreDefaults(self):
+ if self.fcSettingsControler is not None:
+ return self.fcSettingsControler.restoreDefaults()
+ return False
+
+#***********************************************************************
+#
+#***********************************************************************
+class PrefsPageSingleApp(dlgpreferences.Page):
+
+ UUID = '{9b76279c-46da-4fbe-9c02-a62fc843d6fc}'
+
+ def __init__(self):
+ dlgpreferences.Page.__init__(self, self.UUID)
+ self._widget = None
+
+ def displayName(self):
+ return self.trUtf8('Single application')
+
+ def canApply(self): return True
+ def canHelp(self): return False
+ def canRestoreDefaults(self): return True
+
+ def doApply(self):
+ self._widget.doApply()
+ return True
+
+ def doRestoreDefaults(self):
+ self._widget.doRestoreDefaults()
+ return True
+
+ def setVisible(self, parent, flag):
+ createdNew = False
+ if flag and self._widget is None:
+ createdNew = True
+ self._widget = PrefsSingleApp(parent=parent, page=self)
+ self._widget.setVisible(flag)
+ return (createdNew, self._widget)
+
+#***********************************************************************
+#
+#***********************************************************************
+if __name__ == '__main__':
+ from PyQt4 import QtGui
+ import sys
+
+ app = QtGui.QApplication(sys.argv)
+ w = PrefsSingleApp(None)
+ w.show()
+ res = app.exec_()
+ sys.exit(res)
+
Modified: trunk/fclient/src/fclient/impl/config.py
===================================================================
--- trunk/fclient/src/fclient/impl/config.py 2008-07-30 10:47:21 UTC (rev 818)
+++ trunk/fclient/src/fclient/impl/config.py 2008-07-30 10:49:43 UTC (rev 819)
@@ -101,6 +101,9 @@
class Settings(SettingsBase):
_key_ = 'ConfigSettings'
_settings_ = (
+ ('SingleAppHost', 'String', QtCore.QString('localhost'), SettingScopeExpert),
+ ('SingleAppPort', 'UInt', 45663, SettingScopeExpert),
+
('SettingsDir', 'String', QtCore.QString(FcSettingsDir), SettingScopeUser), # if not None, settings are stored locally in the app folder
('SettingsAllUsers', 'Bool', False, SettingScopeUser), # store settings for all users?
('IconTheme', 'String', 'crystal', SettingScopeUser), #TODO: global icon theme?
Added: trunk/fclient/src/fclient/impl/tpls/DlgSingleAppErrorTpl.ui
===================================================================
--- trunk/fclient/src/fclient/impl/tpls/DlgSingleAppErrorTpl.ui (rev 0)
+++ trunk/fclient/src/fclient/impl/tpls/DlgSingleAppErrorTpl.ui 2008-07-30 10:49:43 UTC (rev 819)
@@ -0,0 +1,125 @@
+<ui version="4.0" >
+ <class>DlgSingleAppError</class>
+ <widget class="QDialog" name="DlgSingleAppError" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>410</width>
+ <height>277</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Dialog</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QSplitter" name="splitter" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QTextEdit" name="textEdit" />
+ <widget class="QWidget" name="" >
+ <layout class="QVBoxLayout" name="verticalLayout_2" >
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string><b>Host: </b></string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="edHost" />
+ </item>
+ <item>
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string><b>Port: </b></string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinPort" />
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="Line" name="line" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ <zorder>textEdit</zorder>
+ <zorder>line</zorder>
+ <zorder>buttonBox</zorder>
+ <zorder>textEdit</zorder>
+ <zorder>textEdit</zorder>
+ <zorder>splitter</zorder>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>DlgSingleAppError</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>DlgSingleAppError</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
Added: trunk/fclient/src/fclient/impl/tpls/PrefsSingleAppTpl.ui
===================================================================
--- trunk/fclient/src/fclient/impl/tpls/PrefsSingleAppTpl.ui (rev 0)
+++ trunk/fclient/src/fclient/impl/tpls/PrefsSingleAppTpl.ui 2008-07-30 10:49:43 UTC (rev 819)
@@ -0,0 +1,86 @@
+<ui version="4.0" >
+ <class>PrefsSingleApp</class>
+ <widget class="QWidget" name="PrefsSingleApp" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>533</width>
+ <height>399</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Form</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" colspan="2" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>The gui uses a socket connection to enshure only one instance is running at a time. Use the boxes below to adjust host and port of the connection to your needs.</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap" >
+ <bool>true</bool>
+ </property>
+ <property name="textInteractionFlags" >
+ <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string><b>Single application host: </b></string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="edHost" />
+ </item>
+ <item>
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string><b>Single application port: </b></string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinPort" />
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="1" >
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>251</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0" >
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>218</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
Added: trunk/fclient/src/fclient/impl/tpls/Ui_DlgSingleAppErrorTpl.py
===================================================================
--- trunk/fclient/src/fclient/impl/tpls/Ui_DlgSingleAppErrorTpl.py (rev 0)
+++ trunk/fclient/src/fclient/impl/tpls/Ui_DlgSingleAppErrorTpl.py 2008-07-30 10:49:43 UTC (rev 819)
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/me/src/proj/fclient/trunk/fclient/src/fclient/impl/tpls/DlgSingleAppErrorTpl.ui'
+#
+# Created: Wed Jul 30 11:43:40 2008
+# by: PyQt4 UI code generator 4.4.3-snapshot-20080705
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+class Ui_DlgSingleAppError(object):
+ def setupUi(self, DlgSingleAppError):
+ DlgSingleAppError.setObjectName("DlgSingleAppError")
+ DlgSingleAppError.resize(410, 277)
+ self.gridLayout = QtGui.QGridLayout(DlgSingleAppError)
+ self.gridLayout.setObjectName("gridLayout")
+ self.splitter = QtGui.QSplitter(DlgSingleAppError)
+ self.splitter.setOrientation(QtCore.Qt.Horizontal)
+ self.splitter.setObjectName("splitter")
+ self.textEdit = QtGui.QTextEdit(self.splitter)
+ self.textEdit.setObjectName("textEdit")
+ self.widget = QtGui.QWidget(self.splitter)
+ self.widget.setObjectName("widget")
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.widget)
+ self.verticalLayout_2.setObjectName("verticalLayout_2")
+ self.verticalLayout = QtGui.QVBoxLayout()
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.label = QtGui.QLabel(self.widget)
+ self.label.setObjectName("label")
+ self.verticalLayout.addWidget(self.label)
+ self.edHost = QtGui.QLineEdit(self.widget)
+ self.edHost.setObjectName("edHost")
+ self.verticalLayout.addWidget(self.edHost)
+ self.label_3 = QtGui.QLabel(self.widget)
+ self.label_3.setObjectName("label_3")
+ self.verticalLayout.addWidget(self.label_3)
+ self.spinPort = QtGui.QSpinBox(self.widget)
+ self.spinPort.setObjectName("spinPort")
+ self.verticalLayout.addWidget(self.spinPort)
+ self.verticalLayout_2.addLayout(self.verticalLayout)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_2.addItem(spacerItem)
+ self.gridLayout.addWidget(self.splitter, 0, 0, 1, 1)
+ self.line = QtGui.QFrame(DlgSingleAppError)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName("line")
+ self.gridLayout.addWidget(self.line, 1, 0, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(DlgSingleAppError)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName("buttonBox")
+ self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 1)
+
+ self.retranslateUi(DlgSingleAppError)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), DlgSingleAppError.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), DlgSingleAppError.reject)
+ QtCore.QMetaObject.connectSlotsByName(DlgSingleAppError)
+
+ def retranslateUi(self, DlgSingleAppError):
+ DlgSingleAppError.setWindowTitle(QtGui.QApplication.translate("DlgSingleAppError", "Dialog", None, QtGui.QApplication.UnicodeUTF8))
+ self.label.setText(QtGui.QApplication.translate("DlgSingleAppError", "<b>Host: </b>", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_3.setText(QtGui.QApplication.translate("DlgSingleAppError", "<b>Port: </b>", None, QtGui.QApplication.UnicodeUTF8))
+
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ DlgSingleAppError = QtGui.QDialog()
+ ui = Ui_DlgSingleAppError()
+ ui.setupUi(DlgSingleAppError)
+ DlgSingleAppError.show()
+ sys.exit(app.exec_())
+
Added: trunk/fclient/src/fclient/impl/tpls/Ui_PrefsSingleAppTpl.py
===================================================================
--- trunk/fclient/src/fclient/impl/tpls/Ui_PrefsSingleAppTpl.py (rev 0)
+++ trunk/fclient/src/fclient/impl/tpls/Ui_PrefsSingleAppTpl.py 2008-07-30 10:49:43 UTC (rev 819)
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/me/src/proj/fclient/trunk/fclient/src/fclient/impl/tpls/PrefsSingleAppTpl.ui'
+#
+# Created: Wed Jul 30 12:28:11 2008
+# by: PyQt4 UI code generator 4.4.3-snapshot-20080705
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+class Ui_PrefsSingleApp(object):
+ def setupUi(self, PrefsSingleApp):
+ PrefsSingleApp.setObjectName("PrefsSingleApp")
+ PrefsSingleApp.resize(533, 399)
+ self.gridLayout = QtGui.QGridLayout(PrefsSingleApp)
+ self.gridLayout.setObjectName("gridLayout")
+ self.label = QtGui.QLabel(PrefsSingleApp)
+ self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+ self.label.setWordWrap(True)
+ self.label.setTextInteractionFlags(QtCore.Qt.TextSelectableByKeyboard|QtCore.Qt.TextSelectableByMouse)
+ self.label.setObjectName("label")
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+ self.verticalLayout = QtGui.QVBoxLayout()
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.label_2 = QtGui.QLabel(PrefsSingleApp)
+ self.label_2.setObjectName("label_2")
+ self.verticalLayout.addWidget(self.label_2)
+ self.edHost = QtGui.QLineEdit(PrefsSingleApp)
+ self.edHost.setObjectName("edHost")
+ self.verticalLayout.addWidget(self.edHost)
+ self.label_3 = QtGui.QLabel(PrefsSingleApp)
+ self.label_3.setObjectName("label_3")
+ self.verticalLayout.addWidget(self.label_3)
+ self.spinPort = QtGui.QSpinBox(PrefsSingleApp)
+ self.spinPort.setObjectName("spinPort")
+ self.verticalLayout.addWidget(self.spinPort)
+ self.gridLayout.addLayout(self.verticalLayout, 1, 0, 1, 1)
+ spacerItem = QtGui.QSpacerItem(251, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout.addItem(spacerItem, 1, 1, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(20, 218, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem1, 2, 0, 1, 1)
+
+ self.retranslateUi(PrefsSingleApp)
+ QtCore.QMetaObject.connectSlotsByName(PrefsSingleApp)
+
+ def retranslateUi(self, PrefsSingleApp):
+ PrefsSingleApp.setWindowTitle(QtGui.QApplication.translate("PrefsSingleApp", "Form", None, QtGui.QApplication.UnicodeUTF8))
+ self.label.setText(QtGui.QApplication.translate("PrefsSingleApp", "The gui uses a socket connection to enshure only one instance is running at a time. Use the boxes below to adjust host and port of the connection to your needs.", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_2.setText(QtGui.QApplication.translate("PrefsSingleApp", "<b>Single application host: </b>", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_3.setText(QtGui.QApplication.translate("PrefsSingleApp", "<b>Single application port: </b>", None, QtGui.QApplication.UnicodeUTF8))
+
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ PrefsSingleApp = QtGui.QWidget()
+ ui = Ui_PrefsSingleApp()
+ ui.setupUi(PrefsSingleApp)
+ PrefsSingleApp.show()
+ sys.exit(app.exec_())
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|