tweak layout and add edit button

This commit is contained in:
Damien Elmes 2011-03-29 10:32:17 +09:00
parent c9bd1deb27
commit c8aafa7edf
2 changed files with 34 additions and 8 deletions

View file

@ -21,21 +21,44 @@ class GroupSel(QDialog):
def load(self): def load(self):
import time import time
t = time.time() self.mw.progress.start()
grps = self.mw.deck.sched.groupCountTree() grps = self.mw.deck.sched.groupCountTree()
print "groups", time.time() - t self.mw.progress.finish()
self._groupMap = {}
items = self._makeItems(grps) items = self._makeItems(grps)
self.form.tree.addTopLevelItems(items) self.form.tree.addTopLevelItems(items)
for item in items:
self._addButtons(item)
h = self.form.tree.header()
h.setResizeMode(QHeaderView.ResizeToContents)
h.setResizeMode(0, QHeaderView.Stretch)
h.setMovable(False)
self.form.tree.setIndentation(15)
self.form.tree.expandAll()
def _addButtons(self, item):
gid = self._groupMap[unicode(item.text(0))]
if gid:
b = QPushButton("Edit")
b.setFixedHeight(20)
b.connect(b, SIGNAL("clicked()"), lambda g=gid: self._edit(gid))
self.form.tree.setItemWidget(item, 4, b)
for i in range(item.childCount()):
self._addButtons(item.child(i))
def _edit(self, gid):
print "edit", gid
def _makeItems(self, grps): def _makeItems(self, grps):
def makeItems(grp): def makeItems(grp):
branch = QTreeWidgetItem() branch = QTreeWidgetItem()
branch.setText(0, grp[0]) branch.setText(0, grp[0])
branch.setText(1, str(grp[1])) branch.setText(1, str(grp[2]))
branch.setText(2, str(grp[2])) branch.setText(2, str(grp[3]))
branch.setText(3, str(grp[3])) branch.setText(3, str(grp[4]))
if grp[4]: self._groupMap[grp[0]] = grp[1]
for c in grp[4]: if grp[5]:
for c in grp[5]:
branch.addChild(makeItems(c)) branch.addChild(makeItems(c))
return branch return branch
top = [makeItems(g) for g in grps] top = [makeItems(g) for g in grps]

View file

@ -19,6 +19,9 @@
<property name="selectionMode"> <property name="selectionMode">
<enum>QAbstractItemView::MultiSelection</enum> <enum>QAbstractItemView::MultiSelection</enum>
</property> </property>
<attribute name="headerStretchLastSection">
<bool>false</bool>
</attribute>
<column> <column>
<property name="text"> <property name="text">
<string>Group</string> <string>Group</string>
@ -41,7 +44,7 @@
</column> </column>
<column> <column>
<property name="text"> <property name="text">
<string/> <string>Actions</string>
</property> </property>
</column> </column>
</widget> </widget>