In January (in this example, January 2016), last month isn't from 2016-0-1 to 2016-1-1, it's from 2015-12-1 to 2016-1-1.
Edit: this means in each January the "Last Month" filter simply does not work.
In January (in this example, January 2016), last month isn't from 2016-0-1 to 2016-1-1, it's from 2015-12-1 to 2016-1-1.
Edit: this means in each January the "Last Month" filter simply does not work.
Can you please rewrite this a bit? E.g. calculate prevMonthFirstDay first and then use it in one call.
Does January 1st belong to the previous month?
I'm not sure if it would be better readable, we would need an integer for the year (prevMonthYear) and an integer for the month (prevMonthFirstDay) and calculate both depending on current.month(), so the If/else statement wouldn't get shorter. If general consensus is to implement it this way I'll change it of course, no problem.
Technically January 1st does not belong to the previous month, but since the old range-calculation in this method computed the last month from 1st to 1st I didn't want to change that logic. Maybe someone somewhere relies on this...
ping @jonasschnelli
Please don't implement your own logic here. Qt already has all of this built in. fa51939 is enough.
Whenever I think I know (most of) Qt someone shows me that I don't...thanks @MarcoFalke :thumbsup:
I've changed and tested it, works fine.
Offtopic: @crowning- I saw you implemented wallet maintenance (rescan, etc) over the GUI. I think this is considered useful for bitcoin core as well (ping @jonasschnelli ?)
Have you ever thought about porting it to bitcoin core?
266 | @@ -267,8 +267,8 @@ void TransactionView::chooseDate(int idx) 267 | break; 268 | case LastMonth: 269 | transactionProxyModel->setDateRange( 270 | - QDateTime(QDate(current.year(), current.month()-1, 1)), 271 | - QDateTime(QDate(current.year(), current.month(), 1))); 272 | + QDateTime(QDate(current.year(), current.month(), 1).addMonths(-1)),
nit: please realign with the other "case" structures (re-add the \t).
Also squash, having two commits does not make sense here.
Tested ACK.
Thanks for fixing this.
Indeed: QDate(current.year(), current.month()-1, 1) does not work.
nit: code alignment.
Alignment fixed, sorry.
Can you squash the commits into one?
Squashed!
Tested ACK 30cdacea3c356acda32ab77238f07c1c40b1f1b5