From c9bd1deb27cdead5346ef6ccdb6a2cd9addb12e3 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 28 Mar 2011 22:19:24 +0900 Subject: [PATCH] initial work on group selection dialog --- aqt/groupsel.py | 42 +++++++++++++++++++ aqt/overview.py | 9 ++++- designer/groupsel.ui | 96 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 aqt/groupsel.py create mode 100644 designer/groupsel.ui diff --git a/aqt/groupsel.py b/aqt/groupsel.py new file mode 100644 index 000000000..2ab695594 --- /dev/null +++ b/aqt/groupsel.py @@ -0,0 +1,42 @@ +# Copyright: Damien Elmes +# -*- coding: utf-8 -*- +# License: GNU GPL, version 3 or later; http://www.gnu.org/copyleft/gpl.html + +from PyQt4.QtCore import * +from PyQt4.QtGui import * +import aqt + +class GroupSel(QDialog): + def __init__(self, mw): + QDialog.__init__(self, mw) + self.mw = mw + self.form = aqt.forms.groupsel.Ui_Dialog() + self.form.setupUi(self) + self.load() + # self.connect(self.form.optionsHelpButton, + # SIGNAL("clicked()"), + # lambda: QDesktopServices.openUrl(QUrl( + # aqt.appWiki + "StudyOptions"))) + self.exec_() + + def load(self): + import time + t = time.time() + grps = self.mw.deck.sched.groupCountTree() + print "groups", time.time() - t + items = self._makeItems(grps) + self.form.tree.addTopLevelItems(items) + + 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.addChild(makeItems(c)) + return branch + top = [makeItems(g) for g in grps] + return top diff --git a/aqt/overview.py b/aqt/overview.py index d0dd7816a..08fba4b9f 100644 --- a/aqt/overview.py +++ b/aqt/overview.py @@ -56,7 +56,7 @@ class Overview(object): elif url == "list": self.mw.close() elif url == "chgrp": - print "change groups" + self.changeGroups() # HTML ############################################################ @@ -174,3 +174,10 @@ $(function () { if not self.mw.config['showToolbar']: return self.mw.form.toolBar.show() + + # Group changing + ########################################################################## + + def changeGroups(self): + from aqt.groupsel import GroupSel + g = GroupSel(self.mw) diff --git a/designer/groupsel.ui b/designer/groupsel.ui new file mode 100644 index 000000000..bbc290568 --- /dev/null +++ b/designer/groupsel.ui @@ -0,0 +1,96 @@ + + + Dialog + + + + 0 + 0 + 527 + 394 + + + + Select Groups + + + + + + QAbstractItemView::MultiSelection + + + + Group + + + + + Cards + + + + + Due + + + + + New + + + + + + + + + + + + + Qt::Vertical + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + +