def clearAll(self): """ Set all the items as unchecked """ with utils.signalsBlocked(self.model()): for row in xrange(self.model().rowCount()): self.setItemData(row, QtCore.Qt.Unchecked, QtCore.Qt.CheckStateRole) self.__updateCheckedItems()
def setDateRange(self, index=None): """ Set date fields according to date combo selection mode """ if index is None: index = self.dateCombo.currentIndex() proxyModel = self.tableView.model() if index == enum.kDate_All: self.startDateEdit.setEnabled(True) self.endDateEdit.setEnabled(True) self.startDateEdit.setDate(self.startDateEdit.minimumDate()) self.endDateEdit.setDate(self.endDateEdit.maximumDate()) elif index == enum.kDate_PreviousMonth: self.endDateEdit.setEnabled(True) self.startDateEdit.setEnabled(False) self.endDateEdit.setDate(self.endDateEdit.maximumDate()) self.startDateEdit.setDate(self.endDateEdit.date().addMonths(-1)) elif index == enum.kDate_PreviousYear: self.startDateEdit.setEnabled(True) self.endDateEdit.setEnabled(True) self.endDateEdit.setDate(self.endDateEdit.maximumDate()) self.startDateEdit.setDate(self.endDateEdit.date().addYears(-1)) elif index == enum.kdate_LastImport: self.startDateEdit.setEnabled(False) self.endDateEdit.setEnabled(False) proxyModel.setInsertDate(insertDate=self.maxInsertDate) startDate = QtCore.QDate() endDate = QtCore.QDate() # Find the min/max dates for the last import from the proxy model for row in xrange(proxyModel.rowCount()): dateForRow = proxyModel.index(row, enum.kRecords_Date).data( QtCore.Qt.UserRole) if not endDate.isValid() or dateForRow > endDate: endDate = dateForRow if not startDate.isValid() or dateForRow < startDate: startDate = dateForRow # This is for information only, so don't trigger a query on the proxy with utils.signalsBlocked(self.endDateEdit, self.startDateEdit): self.startDateEdit.setDate(startDate) self.endDateEdit.setDate(endDate)
def setDateRange(self, index=None): """ Set date fields according to date combo selection mode """ if index is None: index = self.dateCombo.currentIndex() proxyModel = self.tableView.model() if index == enum.kDate_All: self.startDateEdit.setEnabled(True) self.endDateEdit.setEnabled(True) self.startDateEdit.setDate(self.startDateEdit.minimumDate()) self.endDateEdit.setDate(self.endDateEdit.maximumDate()) elif index == enum.kDate_PreviousMonth: self.endDateEdit.setEnabled(True) self.startDateEdit.setEnabled(False) self.endDateEdit.setDate(self.endDateEdit.maximumDate()) self.startDateEdit.setDate(self.endDateEdit.date().addMonths(-1)) elif index == enum.kDate_PreviousYear: self.startDateEdit.setEnabled(True) self.endDateEdit.setEnabled(True) self.endDateEdit.setDate(self.endDateEdit.maximumDate()) self.startDateEdit.setDate(self.endDateEdit.date().addYears(-1)) elif index == enum.kdate_LastImport: self.startDateEdit.setEnabled(False) self.endDateEdit.setEnabled(False) proxyModel.setInsertDate(insertDate=self.maxInsertDate) startDate = QtCore.QDate() endDate = QtCore.QDate() # Find the min/max dates for the last import from the proxy model for row in xrange(proxyModel.rowCount()): dateForRow = proxyModel.index(row, enum.kRecords_Date).data(QtCore.Qt.UserRole) if not endDate.isValid() or dateForRow > endDate: endDate = dateForRow if not startDate.isValid() or dateForRow < startDate: startDate = dateForRow # This is for information only, so don't trigger a query on the proxy with utils.signalsBlocked(self.endDateEdit, self.startDateEdit): self.startDateEdit.setDate(startDate) self.endDateEdit.setDate(endDate)
def reset(self, *args): """ Reset all filters and combo boxes to a default state """ signalsToBlock = ( self.accountCombo, self.checkedCombo, self.tagsCombo, self.inoutCombo, self.descEdit, self.scrolltoEdit, self.amountEdit, self.dateCombo, self.startDateEdit, self.endDateEdit, self.tableView.model(), ) with utils.signalsBlocked(signalsToBlock): self.tagView.model().sourceModel().clearSelection() self.tableView.model().clearFilters() self.dateCombo.setCurrentIndex(enum.kDate_PreviousMonth) # Signals blocked so need to reset filter manually self.setDateRange() self.tableView.model().setStartDate(self.startDateEdit.date()) self.tableView.model().setEndDate(self.endDateEdit.date()) self.checkedCombo.setCurrentIndex(enum.kCheckedStatus_All) self.tagsCombo.setCurrentIndex(enum.kCheckedStatus_All) self.inoutCombo.setCurrentIndex(enum.kInOutStatus_All) self.accountCombo.clearAll() self.amountEdit.clear() self.descEdit.clear() self.tableView.sortByColumn(enum.kRecords_Date, QtCore.Qt.AscendingOrder) self.tagView.sortByColumn(enum.kTags_TagName, QtCore.Qt.AscendingOrder) self.tableView.model().sourceModel().select() # Need signals to clear highlight filter on model self.scrolltoEdit.clear() self.tableView.model().reset() self.tagView.resizeColumnsToContents() self.tableView.resizeColumnsToContents()