Changeset 737
- Timestamp:
- 07/24/08 10:37:02 (4 months ago)
- Files:
-
- oss/jlib/designer/ui/atomentryform.ui (modified) (2 diffs)
- oss/jlib/jlib/gui/atom/entry.py (modified) (5 diffs)
- oss/jlib/jlib/gui/atom/entryui.py (modified) (3 diffs)
- oss/jlib/jlib/gui/pubsub/node.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
oss/jlib/designer/ui/atomentryform.ui
r732 r737 6 6 <x>0</x> 7 7 <y>0</y> 8 <width> 444</width>9 <height>4 61</height>8 <width>533</width> 9 <height>477</height> 10 10 </rect> 11 11 </property> … … 13 13 <string>Form</string> 14 14 </property> 15 <layout class="Q GridLayout" >16 <item row="0" column="0">17 <widget class="Q Label" name="label" >18 <property name=" text" >19 < string>ID:</string>15 <layout class="QVBoxLayout" name="verticalLayout_4" > 16 <item> 17 <widget class="QToolBox" name="toolBox" > 18 <property name="currentIndex" > 19 <number>0</number> 20 20 </property> 21 <widget class="QWidget" name="generalItem" > 22 <attribute name="label" > 23 <string>General</string> 24 </attribute> 25 <layout class="QGridLayout" name="gridLayout" > 26 <item row="0" column="0" > 27 <widget class="QLabel" name="label" > 28 <property name="text" > 29 <string>ID:</string> 30 </property> 31 </widget> 32 </item> 33 <item row="0" column="1" colspan="2" > 34 <widget class="QLineEdit" name="atomID" /> 35 </item> 36 <item row="0" column="3" > 37 <widget class="QCheckBox" name="withUuid" > 38 <property name="text" > 39 <string>Generate UUID</string> 40 </property> 41 </widget> 42 </item> 43 <item row="1" column="0" > 44 <widget class="QLabel" name="label_2" > 45 <property name="text" > 46 <string>Title:</string> 47 </property> 48 </widget> 49 </item> 50 <item row="1" column="1" colspan="3" > 51 <widget class="QLineEdit" name="title" /> 52 </item> 53 <item row="2" column="0" > 54 <widget class="QLabel" name="label_4" > 55 <property name="text" > 56 <string>Subtitle:</string> 57 </property> 58 </widget> 59 </item> 60 <item row="2" column="1" colspan="3" > 61 <widget class="QLineEdit" name="subtitle" /> 62 </item> 63 <item row="3" column="0" > 64 <widget class="QLabel" name="label_3" > 65 <property name="text" > 66 <string>Publication:</string> 67 </property> 68 </widget> 69 </item> 70 <item row="3" column="1" > 71 <widget class="QDateTimeEdit" name="publication" /> 72 </item> 73 <item rowspan="2" row="3" column="2" colspan="2" > 74 <spacer name="horizontalSpacer" > 75 <property name="orientation" > 76 <enum>Qt::Horizontal</enum> 77 </property> 78 <property name="sizeHint" stdset="0" > 79 <size> 80 <width>268</width> 81 <height>20</height> 82 </size> 83 </property> 84 </spacer> 85 </item> 86 <item row="4" column="0" > 87 <widget class="QLabel" name="label_6" > 88 <property name="text" > 89 <string>Edition:</string> 90 </property> 91 </widget> 92 </item> 93 <item row="4" column="1" > 94 <widget class="QDateTimeEdit" name="edition" /> 95 </item> 96 <item row="5" column="0" > 97 <widget class="QLabel" name="label_7" > 98 <property name="text" > 99 <string>Rights:</string> 100 </property> 101 </widget> 102 </item> 103 <item row="5" column="1" colspan="3" > 104 <widget class="QLineEdit" name="rights" /> 105 </item> 106 <item row="6" column="0" > 107 <widget class="QLabel" name="label_5" > 108 <property name="text" > 109 <string>Summary:</string> 110 </property> 111 </widget> 112 </item> 113 <item row="7" column="0" colspan="4" > 114 <widget class="QTextEdit" name="summary" /> 115 </item> 116 </layout> 117 </widget> 118 <widget class="QWidget" name="authorItem" > 119 <property name="geometry" > 120 <rect> 121 <x>0</x> 122 <y>0</y> 123 <width>497</width> 124 <height>271</height> 125 </rect> 126 </property> 127 <attribute name="label" > 128 <string>Authors</string> 129 </attribute> 130 <layout class="QVBoxLayout" name="verticalLayout" > 131 <item> 132 <widget class="QTableView" name="authors" > 133 <property name="alternatingRowColors" > 134 <bool>true</bool> 135 </property> 136 </widget> 137 </item> 138 </layout> 139 </widget> 140 <widget class="QWidget" name="linkItem" > 141 <property name="geometry" > 142 <rect> 143 <x>0</x> 144 <y>0</y> 145 <width>497</width> 146 <height>271</height> 147 </rect> 148 </property> 149 <attribute name="label" > 150 <string>Links</string> 151 </attribute> 152 <layout class="QVBoxLayout" name="verticalLayout_2" > 153 <item> 154 <widget class="QTableView" name="links" > 155 <property name="alternatingRowColors" > 156 <bool>true</bool> 157 </property> 158 </widget> 159 </item> 160 </layout> 161 </widget> 162 <widget class="QWidget" name="categoryItem" > 163 <attribute name="label" > 164 <string>Categories</string> 165 </attribute> 166 <layout class="QVBoxLayout" name="verticalLayout_3" > 167 <item> 168 <widget class="QTableView" name="categories" > 169 <property name="alternatingRowColors" > 170 <bool>true</bool> 171 </property> 172 </widget> 173 </item> 174 </layout> 175 </widget> 176 <widget class="QWidget" name="contentItem" > 177 <attribute name="label" > 178 <string>Content</string> 179 </attribute> 180 <layout class="QVBoxLayout" name="verticalLayout_5" > 181 <item> 182 <widget class="QTextEdit" name="content" /> 183 </item> 184 </layout> 185 </widget> 21 186 </widget> 22 187 </item> 23 <item row="0" column="1" colspan="2" > 24 <widget class="QLineEdit" name="atomID" /> 25 </item> 26 <item row="1" column="0" > 27 <widget class="QLabel" name="label_2" > 28 <property name="text" > 29 <string>Title:</string> 30 </property> 31 </widget> 32 </item> 33 <item row="1" column="1" colspan="2" > 34 <widget class="QLineEdit" name="title" /> 35 </item> 36 <item row="2" column="0" colspan="2" > 37 <widget class="QLabel" name="label_3" > 38 <property name="text" > 39 <string>Authors:</string> 40 </property> 41 </widget> 42 </item> 43 <item rowspan="2" row="2" column="2" > 44 <widget class="QTableView" name="authors" > 45 <property name="alternatingRowColors" > 46 <bool>true</bool> 47 </property> 48 </widget> 49 </item> 50 <item row="3" column="0" colspan="2" > 51 <spacer> 52 <property name="orientation" > 53 <enum>Qt::Vertical</enum> 54 </property> 55 <property name="sizeHint" > 56 <size> 57 <width>20</width> 58 <height>121</height> 59 </size> 60 </property> 61 </spacer> 62 </item> 63 <item row="4" column="0" colspan="2" > 64 <widget class="QLabel" name="label_4" > 65 <property name="text" > 66 <string>Links:</string> 67 </property> 68 </widget> 69 </item> 70 <item rowspan="2" row="4" column="2" > 71 <widget class="QTableView" name="links" > 72 <property name="alternatingRowColors" > 73 <bool>true</bool> 74 </property> 75 </widget> 76 </item> 77 <item row="5" column="0" colspan="2" > 78 <spacer> 79 <property name="orientation" > 80 <enum>Qt::Vertical</enum> 81 </property> 82 <property name="sizeHint" > 83 <size> 84 <width>20</width> 85 <height>41</height> 86 </size> 87 </property> 88 </spacer> 89 </item> 90 <item row="6" column="0" colspan="2" > 91 <widget class="QLabel" name="label_5" > 92 <property name="text" > 93 <string>Categories:</string> 94 </property> 95 </widget> 96 </item> 97 <item rowspan="2" row="6" column="2" > 98 <widget class="QTableView" name="categories" > 99 <property name="alternatingRowColors" > 100 <bool>true</bool> 101 </property> 102 </widget> 103 </item> 104 <item row="7" column="0" colspan="2" > 105 <spacer> 106 <property name="orientation" > 107 <enum>Qt::Vertical</enum> 108 </property> 109 <property name="sizeHint" > 110 <size> 111 <width>20</width> 112 <height>81</height> 113 </size> 114 </property> 115 </spacer> 116 </item> 117 <item row="8" column="2" > 188 <item> 118 189 <widget class="QDialogButtonBox" name="buttonBox" > 119 190 <property name="standardButtons" > oss/jlib/jlib/gui/atom/entry.py
r734 r737 20 20 def setupUi(self, parent): 21 21 Ui_jlibAtomEntryForm.setupUi(self, parent) 22 self.authors.contextMenuEvent = self.authorsContextMenuEvent 23 22 24 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), 23 25 self.saveEntry) 26 QtCore.QObject.connect(self.withUuid, QtCore.SIGNAL("stateChanged(int)"), 27 self.uuidToggle) 28 29 self.publication.setDateTime(QtCore.QDateTime.currentDateTime()) 30 self.edition.setDateTime(QtCore.QDateTime.currentDateTime()) 24 31 25 32 def setNode(self, node): … … 30 37 E(u'id', namespace=ATOM10_NS, prefix=ATOM10_PREFIX, 31 38 content=unicode(self.atomID.text()), parent=entry) 32 date = unicode(datetime.datetime.utcnow().isoformat()) + u'Z' 39 33 40 E(u'published', namespace=ATOM10_NS, prefix=ATOM10_PREFIX, 34 content=date, parent=entry) 41 content=unicode(self.publication.dateTime().toString(QtCore.Qt.ISODate)), 42 parent=entry) 43 35 44 E(u'updated', namespace=ATOM10_NS, prefix=ATOM10_PREFIX, 36 content=date, parent=entry) 45 content=unicode(self.edition.dateTime().toString(QtCore.Qt.ISODate)), 46 parent=entry) 47 37 48 E(u'title', namespace=ATOM10_NS, prefix=ATOM10_PREFIX, 38 attributes={u'type': u'text'}, content=unicode(self.title.text()), parent=entry) 49 attributes={u'type': u'text'}, content=unicode(self.title.text()), 50 parent=entry) 51 52 if not self.subtitle.text().isEmpty(): 53 E(u'subtitle', namespace=ATOM10_NS, prefix=ATOM10_PREFIX, 54 attributes={u'type': u'text'}, content=unicode(self.subtitle.text()), 55 parent=entry) 56 57 if not self.rights.text().isEmpty(): 58 E(u'rights', namespace=ATOM10_NS, prefix=ATOM10_PREFIX, 59 attributes={u'type': u'text'}, content=unicode(self.rights.text()), 60 parent=entry) 61 62 if not self.summary.toPlainText().isEmpty(): 63 E(u'summary', namespace=ATOM10_NS, prefix=ATOM10_PREFIX, 64 attributes={u'type': u'text'}, content=unicode(self.summary.toPlainText()), 65 parent=entry) 66 39 67 E(u'content', namespace=ATOM10_NS, prefix=ATOM10_PREFIX, 40 attributes={u'type': u'text'}, parent=entry) 68 attributes={u'type': u'text'}, content=unicode(self.content.toPlainText()), 69 parent=entry) 41 70 42 71 self.entry = entry … … 53 82 self.title.setText(QtCore.QString(str(title_element))) 54 83 84 subtitle_element = entry.get_child('subtitle', ATOM10_NS) 85 if subtitle_element and subtitle_element.xml_text: 86 self.subtitle.setText(QtCore.QString(str(subtitle_element))) 87 88 rights_element = entry.get_child('rights', ATOM10_NS) 89 if rights_element and rights_element.xml_text: 90 self.rights.setText(QtCore.QString(str(rights_element))) 91 92 summary_element = entry.get_child('summary', ATOM10_NS) 93 if summary_element and summary_element.xml_text: 94 self.summary.setPlainText(QtCore.QString(str(summary_element))) 95 96 content_element = entry.get_child('content', ATOM10_NS) 97 if content_element and content_element.xml_text: 98 self.content.setPlainText(QtCore.QString(str(content_element))) 99 100 published_element = entry.get_child('published', ATOM10_NS) 101 if published_element and published_element.xml_text: 102 dt = QtCore.QDateTime.fromString(str(published_element), QtCore.Qt.ISODate) 103 self.publication.setDateTime(dt) 104 105 updated_element = entry.get_child('updated', ATOM10_NS) 106 if updated_element and updated_element.xml_text: 107 dt = QtCore.QDateTime.fromString(str(updated_element), QtCore.Qt.ISODate) 108 self.edition.setDateTime(dt) 109 55 110 authors = entry.get_children('author', ATOM10_NS) 56 111 model = jlibAtomAuthorModel(parent=self.authors) … … 64 119 self.links.setModel(model) 65 120 self.links.verticalHeader().hide() 121 122 self.publication.setEnabled(False) 123 self.withUuid.hide() 66 124 67 125 def saveEntry(self): … … 77 135 self.emit(QtCore.SIGNAL("itemReady(PyQt_PyObject, PyQt_PyObject, PyQt_PyObject)"), 78 136 self.node, id_element.xml_text, self.entry) 137 138 def uuidToggle(self, state): 139 if self.withUuid.isChecked(): 140 uuid = str(QtCore.QUuid.createUuid().toString()).replace('{', '').replace('}', '') 141 self.atomID.setText('urn:uuid:%s' % uuid) 142 self.atomID.setReadOnly(True) 143 self.atomID.setEnabled(False) 144 else: 145 self.atomID.setText('') 146 self.atomID.setReadOnly(False) 147 self.atomID.setEnabled(True) 148 149 def addNewAuthor(self): 150 pass 151 152 def delAuthor(self): 153 pass 154 155 def authorsContextMenuEvent(self, event): 156 menu = QtGui.QMenu(self.parent()) 157 158 actionNewAuthor = QtGui.QAction(QtCore.QString("Add a new author"), self.parent()) 159 QtCore.QObject.connect(actionNewAuthor, QtCore.SIGNAL("triggered()"), self.addNewAuthor) 160 menu.addAction(actionNewAuthor) 161 162 actionDelAuthor = QtGui.QAction(QtCore.QString("Delete author"), self.parent()) 163 QtCore.QObject.connect(actionDelAuthor, QtCore.SIGNAL("triggered()"), self.delAuthor) 164 menu.addAction(actionDelAuthor) 165 166 menu.exec_(event.globalPos()) 79 167 80 168 class jlibAtomEntryFormDialog(QtGui.QDialog): oss/jlib/jlib/gui/atom/entryui.py
r727 r737 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: Sun Jul 20 19:50:1320086 # by: PyQt4 UI code generator 4. 3.35 # Created: Thu Jul 24 15:25:35 2008 6 # by: PyQt4 UI code generator 4.4.2 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(QtCore.QSize(QtCore.QRect(0,0,444,461).size()).expandedTo(jlibAtomEntryForm.minimumSizeHint())) 16 17 self.gridlayout = QtGui.QGridLayout(jlibAtomEntryForm) 18 self.gridlayout.setObjectName("gridlayout") 19 20 self.label = QtGui.QLabel(jlibAtomEntryForm) 15 jlibAtomEntryForm.resize(533,477) 16 self.verticalLayout_4 = QtGui.QVBoxLayout(jlibAtomEntryForm) 17 self.verticalLayout_4.setObjectName("verticalLayout_4") 18 self.toolBox = QtGui.QToolBox(jlibAtomEntryForm) 19 self.toolBox.setObjectName("toolBox") 20 self.generalItem = QtGui.QWidget() 21 self.generalItem.setObjectName("generalItem") 22 self.gridLayout = QtGui.QGridLayout(self.generalItem) 23 self.gridLayout.setObjectName("gridLayout") 24 self.label = QtGui.QLabel(self.generalItem) 21 25 self.label.setObjectName("label") 22 self.gridlayout.addWidget(self.label,0,0,1,1) 23 24 self.atomID = QtGui.QLineEdit(jlibAtomEntryForm) 26 self.gridLayout.addWidget(self.label,0,0,1,1) 27 self.atomID = QtGui.QLineEdit(self.generalItem) 25 28 self.atomID.setObjectName("atomID") 26 self.gridlayout.addWidget(self.atomID,0,1,1,2) 27 28 self.label_2 = QtGui.QLabel(jlibAtomEntryForm) 29 self.gridLayout.addWidget(self.atomID,0,1,1,2) 30 self.withUuid = QtGui.QCheckBox(self.generalItem) 31 self.withUuid.setObjectName("withUuid") 32 self.gridLayout.addWidget(self.withUuid,0,3,1,1) 33 self.label_2 = QtGui.QLabel(self.generalItem) 29 34 self.label_2.setObjectName("label_2") 30 self.gridlayout.addWidget(self.label_2,1,0,1,1) 31 32 self.title = QtGui.QLineEdit(jlibAtomEntryForm) 35 self.gridLayout.addWidget(self.label_2,1,0,1,1) 36 self.title = QtGui.QLineEdit(self.generalItem) 33 37 self.title.setObjectName("title") 34 self.gridlayout.addWidget(self.title,1,1,1,2) 35 36 self.label_3 = QtGui.QLabel(jlibAtomEntryForm) 38 self.gridLayout.addWidget(self.title,1,1,1,3) 39 self.label_4 = QtGui.QLabel(self.generalItem) 40 self.label_4.setObjectName("label_4") 41 self.gridLayout.addWidget(self.label_4,2,0,1,1) 42 self.subtitle = QtGui.QLineEdit(self.generalItem) 43 self.subtitle.setObjectName("subtitle") 44 self.gridLayout.addWidget(self.subtitle,2,1,1,3) 45 self.label_3 = QtGui.QLabel(self.generalItem) 37 46 self.label_3.setObjectName("label_3") 38 self.gridlayout.addWidget(self.label_3,2,0,1,2) 39 40 self.authors = QtGui.QTableView(jlibAtomEntryForm) 47 self.gridLayout.addWidget(self.label_3,3,0,1,1) 48 self.publication = QtGui.QDateTimeEdit(self.generalItem) 49 self.publication.setObjectName("publication") 50 self.gridLayout.addWidget(self.publication,3,1,1,1) 51 spacerItem = QtGui.QSpacerItem(268,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) 52 self.gridLayout.addItem(spacerItem,3,2,2,2) 53 self.label_6 = QtGui.QLabel(self.generalItem) 54 self.label_6.setObjectName("label_6") 55 self.gridLayout.addWidget(self.label_6,4,0,1,1) 56 self.edition = QtGui.QDateTimeEdit(self.generalItem) 57 self.edition.setObjectName("edition") 58 self.gridLayout.addWidget(self.edition,4,1,1,1) 59 self.label_7 = QtGui.QLabel(self.generalItem) 60 self.label_7.setObjectName("label_7") 61 self.gridLayout.addWidget(self.label_7,5,0,1,1) 62 self.rights = QtGui.QLineEdit(self.generalItem) 63 self.rights.setObjectName("rights") 64 self.gridLayout.addWidget(self.rights,5,1,1,3) 65 self.label_5 = QtGui.QLabel(self.generalItem) 66 self.label_5.setObjectName("label_5") 67 self.gridLayout.addWidget(self.label_5,6,0,1,1) 68 self.summary = QtGui.QTextEdit(self.generalItem) 69 self.summary.setObjectName("summary") 70 self.gridLayout.addWidget(self.summary,7,0,1,4) 71 self.toolBox.addItem(self.generalItem,"") 72 self.authorItem = QtGui.QWidget() 73 self.authorItem.setGeometry(QtCore.QRect(0,0,497,271)) 74 self.authorItem.setObjectName("authorItem") 75 self.verticalLayout = QtGui.QVBoxLayout(self.authorItem) 76 self.verticalLayout.setObjectName("verticalLayout") 77 self.authors = QtGui.QTableView(self.authorItem) 41 78 self.authors.setAlternatingRowColors(True) 42 79 self.authors.setObjectName("authors") 43 self.gridlayout.addWidget(self.authors,2,2,2,1) 44 45 spacerItem = QtGui.QSpacerItem(20,121,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding) 46 self.gridlayout.addItem(spacerItem,3,0,1,2) 47 48 self.label_4 = QtGui.QLabel(jlibAtomEntryForm) 49 self.label_4.setObjectName("label_4") 50 self.gridlayout.addWidget(self.label_4,4,0,1,2) 51 52 self.links = QtGui.QTableView(jlibAtomEntryForm) 80 self.verticalLayout.addWidget(self.authors) 81 self.toolBox.addItem(self.authorItem,"") 82 self.linkItem = QtGui.QWidget() 83 self.linkItem.setGeometry(QtCore.QRect(0,0,497,271)) 84 self.linkItem.setObjectName("linkItem") 85 self.verticalLayout_2 = QtGui.QVBoxLayout(self.linkItem) 86 self.verticalLayout_2.setObjectName("verticalLayout_2") 87 self.links = QtGui.QTableView(self.linkItem) 53 88 self.links.setAlternatingRowColors(True) 54 89 self.links.setObjectName("links") 55 self.gridlayout.addWidget(self.links,4,2,2,1) 56 57 spacerItem1 = QtGui.QSpacerItem(20,41,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding) 58 self.gridlayout.addItem(spacerItem1,5,0,1,2) 59 60 self.label_5 = QtGui.QLabel(jlibAtomEntryForm) 61 self.label_5.setObjectName("label_5") 62 self.gridlayout.addWidget(self.label_5,6,0,1,2) 63 64 self.categories = QtGui.QTableView(jlibAtomEntryForm) 90 self.verticalLayout_2.addWidget(self.links) 91 self.toolBox.addItem(self.linkItem,"") 92 self.categoryItem = QtGui.QWidget() 93 self.categoryItem.setObjectName("categoryItem") 94 self.verticalLayout_3 = QtGui.QVBoxLayout(self.categoryItem) 95 self.verticalLayout_3.setObjectName("verticalLayout_3") 96 self.categories = QtGui.QTableView(self.categoryItem) 65 97 self.categories.setAlternatingRowColors(True) 66 98 self.categories.setObjectName("categories") 67 self.gridlayout.addWidget(self.categories,6,2,2,1) 68 69 spacerItem2 = QtGui.QSpacerItem(20,81,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding) 70 self.gridlayout.addItem(spacerItem2,7,0,1,2) 71 99 self.verticalLayout_3.addWidget(self.categories) 100 self.toolBox.addItem(self.categoryItem,"") 101 self.contentItem = QtGui.QWidget() 102 self.contentItem.setObjectName("contentItem") 103 self.verticalLayout_5 = QtGui.QVBoxLayout(self.contentItem) 104 self.verticalLayout_5.setObjectName("verticalLayout_5") 105 self.content = QtGui.QTextEdit(self.contentItem) 106 self.content.setObjectName("content") 107 self.verticalLayout_5.addWidget(self.content) 108 self.toolBox.addItem(self.contentItem,"") 109 self.verticalLayout_4.addWidget(self.toolBox) 72 110 self.buttonBox = QtGui.QDialogButtonBox(jlibAtomEntryForm) 73 111 self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Save) 74 112 self.buttonBox.setObjectName("buttonBox") 75 self. gridlayout.addWidget(self.buttonBox,8,2,1,1)113 self.verticalLayout_4.addWidget(self.buttonBox) 76 114 77 115 self.retranslateUi(jlibAtomEntryForm) 116 self.toolBox.setCurrentIndex(0) 78 117 QtCore.QMetaObject.connectSlotsByName(jlibAtomEntryForm) 79 118 … … 81 120 jlibAtomEntryForm.setWindowTitle(QtGui.QApplication.translate("jlibAtomEntryForm", "Form", None, QtGui.QApplication.UnicodeUTF8)) 82 121 self.label.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "ID:", None, QtGui.QApplication.UnicodeUTF8)) 122 self.withUuid.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Generate UUID", None, QtGui.QApplication.UnicodeUTF8)) 83 123 self.label_2.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Title:", None, QtGui.QApplication.UnicodeUTF8)) 84 self.label_3.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Authors:", None, QtGui.QApplication.UnicodeUTF8)) 85 self.label_4.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Links:", None, QtGui.QApplication.UnicodeUTF8)) 86 self.label_5.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Categories:", None, QtGui.QApplication.UnicodeUTF8)) 124 self.label_4.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Subtitle:", None, QtGui.QApplication.UnicodeUTF8)) 125 self.label_3.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Publication:", None, QtGui.QApplication.UnicodeUTF8)) 126 self.label_6.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Edition:", None, QtGui.QApplication.UnicodeUTF8)) 127 self.label_7.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Rights:", None, QtGui.QApplication.UnicodeUTF8)) 128 self.label_5.setText(QtGui.QApplication.translate("jlibAtomEntryForm", "Summary:", None, QtGui.QApplication.UnicodeUTF8)) 129 self.toolBox.setItemText(self.toolBox.indexOf(self.generalItem), QtGui.QApplication.translate("jlibAtomEntryForm", "General", None, QtGui.QApplication.UnicodeUTF8)) 130 self.toolBox.setItemText(self.toolBox.indexOf(self.authorItem), QtGui.QApplication.translate("jlibAtomEntryForm", "Authors", None, QtGui.QApplication.UnicodeUTF8)) 131 self.toolBox.setItemText(self.toolBox.indexOf(self.linkItem), QtGui.QApplication.translate("jlibAtomEntryForm", "Links", None, QtGui.QApplication.UnicodeUTF8)) 132 self.toolBox.setItemText(self.toolBox.indexOf(self.categoryItem), QtGui.QApplication.translate("jlibAtomEntryForm", "Categories", None, QtGui.QApplication.UnicodeUTF8)) 133 self.toolBox.setItemText(self.toolBox.indexOf(self.contentItem), QtGui.QApplication.translate("jlibAtomEntryForm", "Content", None, QtGui.QApplication.UnicodeUTF8)) 87 134 oss/jlib/jlib/gui/pubsub/node.py
r733 r737 5 5 from jlib.gui.pubsub.createnodedialog import jlibCreateNodeDialog 6 6 from jlib.gui.atom.entry import jlibAtomEntryFormDialog 7 from jlib.core.pubsub import jlibNodeItem, jlibNodeItemItem 7 8 8 9 __all__ = ['jlibPubSubNodeWidget'] … … 17 18 18 19 self.nodes.contextMenuEvent = self.contextMenuEvent 19 QtCore.QObject.connect(self.nodes, QtCore.SIGNAL("clicked(QModelIndex)"), self.clicked) 20 QtCore.QObject.connect(self.nodes, QtCore.SIGNAL("activated(QModelIndex)"), 21 self.activated) 20 22 21 23 def setPubSub(self, pubsub): … … 23 25 QtCore.QObject.connect(self.pubsub, QtCore.SIGNAL("receivedError(PyQt_PyObject)"), 24 26 self.handleError) 25 26 def setNode(self, node):27 self.node = node28 27 29 28 def setModel(self, model): … … 45 44 dialog = jlibAtomEntryFormDialog() 46 45 if dialog.exec_() == QtGui.QDialog.Accepted: 46 model = self.nodes.model() 47 index = self.nodes.currentIndex() 48 item = model.itemFromIndex(index) 49 47 50 self.pubsub.emit(QtCore.SIGNAL("publishItem(PyQt_PyObject, PyQt_PyObject, PyQt_PyObject)"), 48 self.node, unicode(dialog.form.atomID.text()), dialog.form.entry)51 item.node, unicode(dialog.form.atomID.text()), dialog.form.entry) 49 52 50 53 def deleteItem(self): 51 54 model = self.nodes.model() 52 55 index = self.nodes.currentIndex() 53 item = model. getNodeItem(index)56 item = model.itemFromIndex(index) 54 57 self.pubsub.emit(QtCore.SIGNAL("deleteItem(PyQt_PyObject, PyQt_PyObject)"), 55 item. node_item.node, item.node_item.name)58 item.item.node, item.item.name) 56 59 57 def clicked(self, index):60 def purgeNode(self): 58 61 model = self.nodes.model() 59 item = model.getNodeItem(index) 62 index = self.nodes.currentIndex() 63 item = model.itemFromIndex(index) 64 self.pubsub.emit(QtCore.SIGNAL("purgeCollectionNode(PyQt_PyObject)"), item.node) 65 66 def activated(self, index): 67 model = self.nodes.model() 68 item = model.itemFromIndex(index) 60 69 self.pubsub.emit(QtCore.SIGNAL("retrieveItem(PyQt_PyObject, PyQt_PyObject)"), 61 item. node_item.node, item.node_item.name)70 item.item.node, item.item.name) 62 71 63 72 def contextMenuEvent(self, event): 64 menu = QtGui.QMenu(self.parent()) 73 event.ignore() 74 model = self.nodes.model() 75 index = self.nodes.currentIndex() 76 item = model.itemFromIndex(index) 65 77 66 publishMenu = QtGui.QMenu(menu) 67 publishMenu.setTitle(QtCore.QString("Publish")) 78 if item.type() == jlibNodeItem.TYPE: 79 menu = QtGui.QMenu(self.parent()) 80 publishMenu = QtGui.QMenu(menu) 81 publishMenu.setTitle(QtCore.QString("Publish")) 82 83 actionPublishAtomEntry = QtGui.QAction(QtCore.QString("Atom Entry"), self.parent()) 84 QtCore.QObject.connect(actionPublishAtomEntry, QtCore.SIGNAL("triggered()"), 85 self.publishAtomEntry) 86 publishMenu.addAction(actionPublishAtomEntry) 87 88 actionPurgeNode = QtGui.QAction(QtCore.QString("Purge node"), self.parent()) 89 QtCore.QObject.connect(actionPurgeNode, QtCore.SIGNAL("triggered()"), self.purgeNode) 90 menu.addAction(actionPurgeNode) 91 92 menu.addAction(publishMenu.menuAction()) 93 menu.exec_(event.globalPos()) 94 elif item.type() == jlibNodeItemItem.TYPE: 95 menu = QtGui.QMenu(self.parent()) 96 actionDeleteItem = QtGui.QAction(QtCore.QString("Delete item"), self.parent()) 97 QtCore.QObject.connect(actionDeleteItem, QtCore.SIGNAL("triggered()"), 98 self.deleteItem) 99 menu.addAction(actionDeleteItem) 100 menu.exec_(event.globalPos()) 101 68 102 69 actionPublishAtomEntry = QtGui.QAction(QtCore.QString("Atom Entry"), self.parent())70 QtCore.QObject.connect(actionPublishAtomEntry, QtCore.SIGNAL("triggered()"),71 self.publishAtomEntry)72 publishMenu.addAction(actionPublishAtomEntry)73 74 menu.addAction(publishMenu.menuAction())75 76 actionDeleteItem = QtGui.QAction(QtCore.QString("Delete item"), self.parent())77 QtCore.QObject.connect(actionDeleteItem, QtCore.SIGNAL("triggered()"),78 self.deleteItem)79 menu.addAction(actionDeleteItem)80 81 menu.exec_(event.globalPos())
