From c8aafa7edf061684d11b8f1bb68d645d9201a274 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 29 Mar 2011 10:32:17 +0900 Subject: [PATCH] tweak layout and add edit button --- aqt/groupsel.py | 37 ++++++++++++++++++++++++++++++------- designer/groupsel.ui | 5 ++++- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/aqt/groupsel.py b/aqt/groupsel.py index 2ab695594..e28ec00ff 100644 --- a/aqt/groupsel.py +++ b/aqt/groupsel.py @@ -21,21 +21,44 @@ class GroupSel(QDialog): def load(self): import time - t = time.time() + self.mw.progress.start() grps = self.mw.deck.sched.groupCountTree() - print "groups", time.time() - t + self.mw.progress.finish() + self._groupMap = {} items = self._makeItems(grps) 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(grp): branch = QTreeWidgetItem() branch.setText(0, grp[0]) - branch.setText(1, str(grp[1])) - branch.setText(2, str(grp[2])) - branch.setText(3, str(grp[3])) - if grp[4]: - for c in grp[4]: + branch.setText(1, str(grp[2])) + branch.setText(2, str(grp[3])) + branch.setText(3, str(grp[4])) + self._groupMap[grp[0]] = grp[1] + if grp[5]: + for c in grp[5]: branch.addChild(makeItems(c)) return branch top = [makeItems(g) for g in grps] diff --git a/designer/groupsel.ui b/designer/groupsel.ui index bbc290568..12fd5f273 100644 --- a/designer/groupsel.ui +++ b/designer/groupsel.ui @@ -19,6 +19,9 @@ QAbstractItemView::MultiSelection + + false + Group @@ -41,7 +44,7 @@ - + Actions