Changeset 749
- Timestamp:
- 07/28/08 15:14:24 (4 months ago)
- Files:
-
- oss/jlib/designer/ui/atomentryform.ui (modified) (9 diffs)
- oss/jlib/examples/basic/client.py (modified) (7 diffs)
- oss/jlib/jlib/core/pubsub.py (modified) (4 diffs)
- oss/jlib/jlib/gui/atom/entryui.py (modified) (3 diffs)
- oss/jlib/jlib/gui/pubsub/subscription.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
oss/jlib/designer/ui/atomentryform.ui
r745 r749 13 13 <string>Form</string> 14 14 </property> 15 <layout class="QVBoxLayout" name="verticalLayout_4">15 <layout class="QVBoxLayout" > 16 16 <item> 17 17 <widget class="QToolBox" name="toolBox" > 18 18 <property name="currentIndex" > 19 <number> 5</number>19 <number>0</number> 20 20 </property> 21 21 <widget class="QWidget" name="generalItem" > 22 <property name="geometry" > 23 <rect> 24 <x>0</x> 25 <y>0</y> 26 <width>496</width> 27 <height>300</height> 28 </rect> 29 </property> 22 30 <attribute name="label" > 23 31 <string>General</string> 24 32 </attribute> 25 <layout class="QGridLayout" name="gridLayout">33 <layout class="QGridLayout" > 26 34 <item row="0" column="0" > 27 35 <widget class="QLabel" name="label" > … … 72 80 </item> 73 81 <item rowspan="2" row="3" column="2" colspan="2" > 74 <spacer name="horizontalSpacer">82 <spacer> 75 83 <property name="orientation" > 76 84 <enum>Qt::Horizontal</enum> 77 85 </property> 78 <property name="sizeHint" stdset="0">86 <property name="sizeHint" > 79 87 <size> 80 88 <width>259</width> … … 121 129 <x>0</x> 122 130 <y>0</y> 123 <width> 497</width>124 <height> 243</height>131 <width>94</width> 132 <height>68</height> 125 133 </rect> 126 134 </property> … … 128 136 <string>Authors</string> 129 137 </attribute> 130 <layout class="QVBoxLayout" name="verticalLayout">138 <layout class="QVBoxLayout" > 131 139 <item> 132 140 <widget class="QTableView" name="authors" > … … 143 151 <x>0</x> 144 152 <y>0</y> 145 <width> 497</width>146 <height> 243</height>153 <width>94</width> 154 <height>68</height> 147 155 </rect> 148 156 </property> … … 150 158 <string>Links</string> 151 159 </attribute> 152 <layout class="QVBoxLayout" name="verticalLayout_2">160 <layout class="QVBoxLayout" > 153 161 <item> 154 162 <widget class="QTableView" name="links" > … … 161 169 </widget> 162 170 <widget class="QWidget" name="categoryItem" > 171 <property name="geometry" > 172 <rect> 173 <x>0</x> 174 <y>0</y> 175 <width>94</width> 176 <height>68</height> 177 </rect> 178 </property> 163 179 <attribute name="label" > 164 180 <string>Categories</string> 165 181 </attribute> 166 <layout class="QVBoxLayout" name="verticalLayout_3">182 <layout class="QVBoxLayout" > 167 183 <item> 168 184 <widget class="QTableView" name="categories" > … … 175 191 </widget> 176 192 <widget class="QWidget" name="contentItem" > 193 <property name="geometry" > 194 <rect> 195 <x>0</x> 196 <y>0</y> 197 <width>94</width> 198 <height>68</height> 199 </rect> 200 </property> 177 201 <attribute name="label" > 178 202 <string>Content</string> 179 203 </attribute> 180 <layout class="QVBoxLayout" name="verticalLayout_5">204 <layout class="QVBoxLayout" > 181 205 <item> 182 206 <widget class="QTextEdit" name="content" /> 183 </item>184 </layout>185 </widget>186 <widget class="QWidget" name="page" >187 <attribute name="label" >188 <string>Page</string>189 </attribute>190 <layout class="QGridLayout" name="gridLayout_2" >191 <item row="0" column="0" >192 <widget class="QWebView" name="browser" >193 <property name="url" >194 <url>195 <string>about:blank</string>196 </url>197 </property>198 </widget>199 207 </item> 200 208 </layout> … … 211 219 </layout> 212 220 </widget> 213 <customwidgets>214 <customwidget>215 <class>QWebView</class>216 <extends>QWidget</extends>217 <header>QtWebKit/QWebView</header>218 </customwidget>219 </customwidgets>220 221 <resources/> 221 222 <connections/> oss/jlib/examples/basic/client.py
r741 r749 37 37 38 38 self.logger = jlibLogger() 39 self.logger.setComponent(jlibLoggerComponent())39 #self.logger.setComponent(jlibLoggerComponent()) 40 40 QtCore.QObject.connect(self.actionShowLog, QtCore.SIGNAL("toggled(bool)"), 41 41 self.changeLogAreaView) 42 QtCore.QObject.connect(self.logger, QtCore.SIGNAL("logData(PyQt_PyObject)"),43 self.logData)42 #QtCore.QObject.connect(self.logger, QtCore.SIGNAL("logData(PyQt_PyObject)"), 43 # self.logData) 44 44 45 45 self.toolBox.setItemText(0, "Contacts") … … 75 75 self.connection.emit(QtCore.SIGNAL("activateChat()")) 76 76 self.connection.emit(QtCore.SIGNAL("activatePubSub(PyQt_PyObject)"), unicode(self.options.pubsub)) 77 self.connection.emit(QtCore.SIGNAL("registerLinkages(PyQt_PyObject)"), self.logger)77 #self.connection.emit(QtCore.SIGNAL("registerLinkages(PyQt_PyObject)"), self.logger) 78 78 self.connection.emit(QtCore.SIGNAL("registerLinkages(PyQt_PyObject)"), self.contactUi.contact) 79 79 self.connection.emit(QtCore.SIGNAL("registerLinkages(PyQt_PyObject)"), self.contactUi.presence) … … 105 105 self.actionStop.setEnabled(True) 106 106 107 107 108 def clientReady(self, jid): 109 self.nodesUi.setPubSub(self.connection.qobj.pubsubnode) 110 self.subsUi.setPubSub(self.connection.qobj.pubsubnode) 111 self.subsUi.setDiscovery(self.connection.qobj.discovery) 112 self.affsUi.setPubSub(self.connection.qobj.pubsubnode) 113 108 114 model = jlibNodeItemModel(parent=self.connection.qobj.discovery) 109 self.nodesUi.setPubSub(self.connection.qobj.pubsubnode)110 115 self.nodesUi.setModel(model) 111 116 112 QtCore.QObject.connect(self.connection.qobj.chat, QtCore.SIGNAL("receivedMessage(PyQt_PyObject)"), 117 QtCore.QObject.connect(self.connection.qobj.chat, 118 QtCore.SIGNAL("receivedMessage(PyQt_PyObject)"), 113 119 self.messageReceived) 114 self.nodesUi.setPubSub(self.connection.qobj.pubsubnode)115 120 116 121 disco = self.connection.qobj.discovery … … 119 124 self.setSubscriptionsModel) 120 125 disco.emit(QtCore.SIGNAL("discoverSubscriptions()")) 121 126 if self.options.rootnode: 127 disco.emit(QtCore.SIGNAL("discoverNodeInformation(PyQt_PyObject)"), 128 unicode(self.options.rootnode)) 129 122 130 QtCore.QObject.connect(disco, QtCore.SIGNAL("receivedFeatures(PyQt_PyObject)"), 123 131 self.setFeaturesModel) … … 141 149 model = jlibSubscriptionDiscoveryModel(parent=self.connection.qobj.discovery) 142 150 model.setSubscriptions(subscriptions) 143 self.subsUi.setPubSub(self.connection.qobj.pubsubnode)144 self.subsUi.setDiscovery(self.connection.qobj.discovery)145 151 self.subsUi.setModel(model) 146 152 … … 153 159 model = jlibAffiliationDiscoveryModel(parent=self.connection.qobj.discovery) 154 160 model.setAffiliations(affiliations) 155 self.affsUi.setPubSub(self.connection.qobj.pubsubnode)156 161 self.affsUi.setModel(model) 157 162 … … 237 242 help="Jabber PubSub service name (default: pubsub.localhost)") 238 243 parser.set_defaults(pubsub='pubsub.localhost') 244 parser.add_option("-r", "--pubsub-root-node", dest="rootnode", 245 help="Jabber PubSub user root node") 239 246 240 247 args = [str(arg) for arg in QtGui.QApplication.instance().arguments()] oss/jlib/jlib/core/pubsub.py
r747 r749 43 43 44 44 def getLinkages(self): 45 linkages = {("xmpp", "%s.query" % XMPP_DISCO_INFO_NS): ("discodisp", " features.inbox"),45 linkages = {("xmpp", "%s.query" % XMPP_DISCO_INFO_NS): ("discodisp", "inbox"), 46 46 ("xmpp", "%s.query" % XMPP_DISCO_ITEMS_NS): ("discodisp", "items.inbox"), 47 47 ("xmpp", "%s.affiliations" % XMPP_PUBSUB_NS): ("discodisp", "affiliation.inbox"), … … 57 57 ("discodisp",'affiliation.outbox'):('xmpp','forward'), 58 58 ("discodisp",'out.subscription.result'): ('discohandler','subscriptions.result'), 59 ("discodisp",'out.subscription.error'): ('discohandler','subscriptions.error'), 60 ("discodisp",'out.info.error'): ('discohandler','information.error'), 59 61 ("discodisp",'out.affiliation.result'): ('discohandler','affiliations.result'), 60 62 ("discodisp", 'out.items.result'): ('discohandler', 'items.result'), … … 95 97 96 98 "subscriptions.result": "", 99 "subscriptions.error": "", 97 100 "affiliations.result": "", 98 101 "information.result": "", 102 "information.error": "", 99 103 "features.result": "", 100 104 "items.result": "", … … 183 187 items = self.recv('items.error') 184 188 self.qobj.emit(QtCore.SIGNAL("receivedItemsError(PyQt_PyObject)"), items) 189 190 if self.dataReady('subscriptions.error'): 191 subscriptions = self.recv('subscriptions.error') 192 self.qobj.emit(QtCore.SIGNAL("receivedSubscriptionError(PyQt_PyObject)"), subscriptions) 193 194 if self.dataReady('information.error'): 195 info = self.recv('information.error') 196 self.qobj.emit(QtCore.SIGNAL("receivedInformationError(PyQt_PyObject)"), info) 185 197 186 198 if self.dataReady('subscriptions.result'): oss/jlib/jlib/gui/atom/entryui.py
r745 r749 1 1 # -*- coding: utf-8 -*- 2 2 3 # Form implementation generated from reading ui file ' ..\..\designer\ui\atomentryform.ui'3 # Form implementation generated from reading ui file 'designer/ui/atomentryform.ui' 4 4 # 5 # Created: Fri Jul 25 17:21:1020086 # by: PyQt4 UI code generator 4. 4.25 # Created: Sat Jul 26 22:19:08 2008 6 # by: PyQt4 UI code generator 4.3.3 7 7 # 8 8 # WARNING! All changes made in this file will be lost! … … 13 13 def setupUi(self, jlibAtomEntryForm): 14 14 jlibAtomEntryForm.setObjectName("jlibAtomEntryForm") 15 jlibAtomEntryForm.resize(533,477) 16 self.verticalLayout_4 = QtGui.QVBoxLayout(jlibAtomEntryForm) 17 self.verticalLayout_4.setObjectName("verticalLayout_4") 15 jlibAtomEntryForm.resize(QtCore.QSize(QtCore.QRect(0,0,533,477).size()).expandedTo(jlibAtomEntryForm.minimumSizeHint())) 16 17 self.vboxlayout = QtGui.QVBoxLayout(jlibAtomEntryForm) 18 self.vboxlayout.setObjectName("vboxlayout") 19 18 20 self.toolBox = QtGui.QToolBox(jlibAtomEntryForm) 19 21 self.toolBox.setObjectName("toolBox") 22 20 23 self.generalItem = QtGui.QWidget() 24 self.generalItem.setGeometry(QtCore.QRect(0,0,496,300)) 21 25 self.generalItem.setObjectName("generalItem") 22 self.gridLayout = QtGui.QGridLayout(self.generalItem) 23 self.gridLayout.setObjectName("gridLayout") 26 27 self.gridlayout = QtGui.QGridLayout(self.generalItem) 28 self.gridlayout.setObjectName("gridlayout") 29 24 30 self.label = QtGui.QLabel(self.generalItem) 25 31 self.label.setObjectName("label") 26 self.gridLayout.addWidget(self.label,0,0,1,1) 32 self.gridlayout.addWidget(self.label,0,0,1,1) 33 27 34 self.atomID = QtGui.QLineEdit(self.generalItem) 28 35 self.atomID.setObjectName("atomID") 29 self.gridLayout.addWidget(self.atomID,0,1,1,2) 36 self.gridlayout.addWidget(self.atomID,0,1,1,2) 37 30 38 self.withUuid = QtGui.QCheckBox(self.generalItem) 31 39 self.withUuid.setObjectName("withUuid") 32 self.gridLayout.addWidget(self.withUuid,0,3,1,1) 40 self.gridlayout.addWidget(self.withUuid,0,3,1,1) 41 33 42 self.label_2 = QtGui.QLabel(self.generalItem) 34 43 self.label_2.setObjectName("label_2") 35 self.gridLayout.addWidget(self.label_2,1,0,1,1) 44 self.gridlayout.addWidget(self.label_2,1,0,1,1) 45 36 46 self.title = QtGui.QLineEdit(self.generalItem) 37 47 self.title.setObjectName("title") 38 self.gridLayout.addWidget(self.title,1,1,1,3) 48 self.gridlayout.addWidget(self.title,1,1,1,3) 49 39 50 self.label_4 = QtGui.QLabel(self.generalItem) 40 51 self.label_4.setObjectName("label_4") 41 self.gridLayout.addWidget(self.label_4,2,0,1,1) 52 self.gridlayout.addWidget(self.label_4,2,0,1,1) 53 42 54 self.subtitle = QtGui.QLineEdit(self.generalItem) 43 55 self.subtitle.setObjectName("subtitle") 44 self.gridLayout.addWidget(self.subtitle,2,1,1,3) 56 self.gridlayout.addWidget(self.subtitle,2,1,1,3) 57 45 58 self.label_3 = QtGui.QLabel(self.generalItem) 46 59 self.label_3.setObjectName("label_3") 47 self.gridLayout.addWidget(self.label_3,3,0,1,1) 60 self.gridlayout.addWidget(self.label_3,3,0,1,1) 61 48 62 self.publication = QtGui.QDateTimeEdit(self.generalItem) 49 63 self.publication.setObjectName("publication") 50 self.gridLayout.addWidget(self.publication,3,1,1,1) 64 self.gridlayout.addWidget(self.publication,3,1,1,1) 65 51 66 spacerItem = QtGui.QSpacerItem(259,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) 52 self.gridLayout.addItem(spacerItem,3,2,2,2) 67 self.gridlayout.addItem(spacerItem,3,2,2,2) 68 53 69 self.label_6 = QtGui.QLabel(self.generalItem) 54 70 self.label_6.setObjectName("label_6") 55 self.gridLayout.addWidget(self.label_6,4,0,1,1) 71 self.gridlayout.addWidget(self.label_6,4,0,1,1) 72 56 73 self.edition = QtGui.QDateTimeEdit(self.generalItem) 57 74 self.edition.setObjectName("edition") 58 self.gridLayout.addWidget(self.edition,4,1,1,1) 75 self.gridlayout.addWidget(self.edition,4,1,1,1) 76 59 77 self.label_7 = QtGui.QLabel(self.generalItem) 60 78 self.label_7.setObjectName("label_7") 61 self.gridLayout.addWidget(self.label_7,5,0,1,1) 79 self.gridlayout.addWidget(self.label_7,5,0,1,1) 80 62 81 self.rights = QtGui.QLineEdit(self.generalItem) 63 82 self.rights.setObjectName("rights") 64 self.gridLayout.addWidget(self.rights,5,1,1,3) 83 self.gridlayout.addWidget(self.rights,5,1,1,3) 84 65 85 self.label_5 = QtGui.QLabel(self.generalItem) 66 86 self.label_5.setObjectName("label_5") 67 self.gridLayout.addWidget(self.label_5,6,0,1,1) 87 self.gridlayout.addWidget(self.label_5,6,0,1,1) 88 68 89 self.summary = QtGui.QTextEdit(self.generalItem) 69 90 self.summary.setObjectName("summary") 70 self.grid Layout.addWidget(self.summary,7,0,1,4)91 self.gridlayout.addWidget(self.summary,7,0,1,4) 71 92 self.toolBox.addItem(self.generalItem,"") 93 72 94 self.authorItem = QtGui.QWidget() 73 self.authorItem.setGeometry(QtCore.QRect(0,0, 497,243))95 self.authorItem.setGeometry(QtCore.QRect(0,0,94,68)) 74 96 self.authorItem.setObjectName("authorItem") 75 self.verticalLayout = QtGui.QVBoxLayout(self.authorItem) 76 self.verticalLayout.setObjectName("verticalLayout") 97 98 self.vboxlayout1 = QtGui.QVBoxLayout(self.authorItem) 99 self.vboxlayout1.setObjectName("vboxlayout1") 100 77 101 self.authors = QtGui.QTableView(self.authorItem) 78 102 self.authors.setAlternatingRowColors(True) 79 103 self.authors.setObjectName("authors") 80 self.v erticalLayout.addWidget(self.authors)104 self.vboxlayout1.addWidget(self.authors) 81 105 self.toolBox.addItem(self.authorItem,"") 106 82 107 self.linkItem = QtGui.QWidget() 83 self.linkItem.setGeometry(QtCore.QRect(0,0, 497,243))108 self.linkItem.setGeometry(QtCore.QRect(0,0,94,68)) 84 109 self.linkItem.setObjectName("linkItem") 85 self.verticalLayout_2 = QtGui.QVBoxLayout(self.linkItem) 86 self.verticalLayout_2.setObjectName("verticalLayout_2") 110 111 self.vboxlayout2 = QtGui.QVBoxLayout(self.linkItem) 112 self.vboxlayout2.setObjectName("vboxlayout2") 113 87 114 self.links = QtGui.QTableView(self.linkItem) 88 115 self.links.setAlternatingRowColors(True) 89 116 self.links.setObjectName("links") 90 self.v erticalLayout_2.addWidget(self.links)117 self.vboxlayout2.addWidget(self.links) 91 118 self.toolBox.addItem(self.linkItem,"") 119 92 120 self.categoryItem = QtGui.QWidget() 121 self.categoryItem.setGeometry(QtCore.QRect(0,0,94,68)) 93 122 self.categoryItem.setObjectName("categoryItem") 94 self.verticalLayout_3 = QtGui.QVBoxLayout(self.categoryItem) 95 self.verticalLayout_3.setObjectName("verticalLayout_3") 123 124 self.vboxlayout3 = QtGui.QVBoxLayout(self.categoryItem) 125 self.vboxlayout3.setObjectName("vboxlayout3") 126 96 127 self.categories = QtGui.QTableView(self.categoryItem) 97 128 self.categories.setAlternatingRowColors(True) 98 129 self.categories.setObjectName("categories") 99 self.v erticalLayout_3.addWidget(self.categories)130 self.vboxlayout3.addWidget(self.categories) 100 131 self.toolBox.addItem(self.categoryItem,"") 132 101 133 self.contentItem = QtGui.QWidget() 134 self.contentItem.setGeometry(QtCore.QRect(0,0,94,68)) 102 135 self.contentItem.setObjectName("contentItem") 103 self.verticalLayout_5 = QtGui.QVBoxLayout(self.contentItem) 104 self.verticalLayout_5.setObjectName("verticalLayout_5") 136 137 self.vboxlayout4 = QtGui.QVBoxLayout(self.contentItem) 138 self.vboxlayout4.setObjectName("vboxlayout4") 139 105 140 self.content = QtGui.QTextEdit(self.contentItem) 106 141 self.content.setObjectName("content") 107 self.v erticalLayout_5.addWidget(self.content)142 self.vboxlayout4.addWidget(self.content) 108 143 self.toolBox.addItem(self.contentItem,"") 109 self.page = QtGui.QWidget() 110 self.page.setObjectName("page") 111 self.gridLayout_2 = QtGui.QGridLayout(self.page) 112 self.gridLayout_2.setObjectName("gridLayout_2") 113 self.browser = QtWebKit.QWebView(self.page) 114 self.browser.setUrl(QtCore.QUrl("about:blank")) 115 self.browser.setObjectName("browser") 116 self.gridLayout_2.addWidget(self.browser,0,0,1,1) 117 self.toolBox.addItem(self.page,"") 118 self.verticalLayout_4.addWidget(self.toolBox) 144 self.vboxlayout.addWidget(self.toolBox) 145 119 146 self.buttonBox = QtGui.QDialogButtonBox(jlibAtomEntryForm) 120 147 self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Save) 121 148 self.buttonBox.setObjectName("buttonBox") 122 self.v erticalLayout_4.addWidget(self.buttonBox)149 self.vboxlayout.addWidget(self.buttonBox) 123 150 124 151 self.retranslateUi(jlibAtomEntryForm) 125 self.toolBox.setCurrentIndex( 5)152 self.toolBox.setCurrentIndex(0) 126 153 QtCore.QMetaObject.connectSlotsByName(jlibAtomEntryForm) 127 154 … … 141 168 self.toolBox.setItemText(self.toolBox.indexOf(self.categoryItem), QtGui.QApplication.translate("jlibAtomEntryForm", "Categories", None, QtGui.QApplication.UnicodeUTF8)) 142 169 self.toolBox.setItemText(self.toolBox.indexOf(self.contentItem), QtGui.QApplication.translate("jlibAtomEntryForm", "Content", None, QtGui.QApplication.UnicodeUTF8)) 143 self.toolBox.setItemText(self.toolBox.indexOf(self.page), QtGui.QApplication.translate("jlibAtomEntryForm", "Page", None, QtGui.QApplication.UnicodeUTF8))144 170 145 from PyQt4 import QtWebKitoss/jlib/jlib/gui/pubsub/subscription.py
r747 r749 4 4 from jlib.gui.pubsub.subscriptionsui import Ui_jlibPubSubSubscription 5 5 from jlib.gui.pubsub.subscribenodedialog import jlibSubscribeNodeDialog 6 from jlib.gui.pubsub.createnodedialog import jlibCreateNodeDialog 6 7 7 8 __all__ = ['jlibPubSubSubscriptionWidget'] … … 24 25 def setDiscovery(self, discovery): 25 26 self.discovery = discovery 27 QtCore.QObject.connect(self.discovery, QtCore.SIGNAL("receivedSubscriptionError(PyQt_PyObject)"), 28 self.handleSubscriptionError) 29 QtCore.QObject.connect(self.discovery, QtCore.SIGNAL("receivedInformationError(PyQt_PyObject)"), 30 self.handleInformationError) 31 32 def handleSubscriptionError(self, subscription): 33 QtGui.QMessageBox.warning(self, "Error", repr(subscription.error), QtGui.QMessageBox.Ok) 34 35 def handleInformationError(self, information): 36 if int(information.error.code) == 404: 37 ui = jlibCreateNodeDialog() 38 ui.show() 39 ui.nodeName.setText(information.node_name) 40 if ui.exec_() == QtGui.QDialog.Accepted: 41 self.pubsub.emit(QtCore.SIGNAL("createNode(PyQt_PyObject)"), unicode(ui.nodeName.text())) 42 else: 43 QtGui.QMessageBox.warning(self, "Error", repr(information.error), QtGui.QMessageBox.Ok) 26 44 27 45 def subscribeNode(self):
