Fix a bug : previous year loading does something worse

This commit is contained in:
Grégory Soutadé 2012-01-29 11:18:55 +01:00
parent 6fb6f6832c
commit c78b88b387

View File

@ -337,7 +337,7 @@ void AccountPanel::LoadYear(int year, bool showMonth)
User* user = _kiss->GetUser(); User* user = _kiss->GetUser();
int curMonth = -1; int curMonth = -1;
QDate curDate = QDate::currentDate(); QDate curDate = QDate::currentDate();
QTreeWidgetItem* parentNode, *curMonthNode; QTreeWidgetItem* parentNode, *curMonthNode = 0;
std::map<int, std::vector<int> > ops ; std::map<int, std::vector<int> > ops ;
std::vector<int>::iterator it; std::vector<int>::iterator it;
@ -354,16 +354,19 @@ void AccountPanel::LoadYear(int year, bool showMonth)
parentNode = _tree->currentItem(); parentNode = _tree->currentItem();
if (!parentNode)
parentNode = _tree->topLevelItem(0);
for (it = ops[year].begin(); it != ops[year].end(); it++) for (it = ops[year].begin(); it != ops[year].end(); it++)
{ {
if (curMonth == -1 || (year == curDate.year() && *it <= curDate.month())) if (!curMonthNode)
{ {
curMonth = *it; curMonth = *it;
curMonthNode = new QTreeWidgetItem(QStringList(wxUI::months[*it])); curMonthNode = new QTreeWidgetItem(QStringList(wxUI::months[*it]));
parentNode->addChild(curMonthNode); parentNode->addChild(curMonthNode);
} }
else else
_tree->topLevelItem(0)->addChild(new QTreeWidgetItem(QStringList(wxUI::months[*it]))); parentNode->addChild(new QTreeWidgetItem(QStringList(wxUI::months[*it])));
} }
_tree->expandItem(parentNode); _tree->expandItem(parentNode);
@ -846,7 +849,7 @@ void AccountPanel::OnTreeChange (QTreeWidgetItem * item, int column)
// _tree.CollapseAll(); // _tree.CollapseAll();
// _tree.Expand(event.GetItem()); // _tree.Expand(event.GetItem());
LoadYear(year, false); LoadYear(year, true);
} }
else else
{ {