import java.util.Map;\r
\r
import com.trolltech.qt.core.QAbstractItemModel;\r
+import com.trolltech.qt.core.QDateTime;\r
import com.trolltech.qt.core.QModelIndex;\r
import com.trolltech.qt.core.QObject;\r
import com.trolltech.qt.gui.QSortFilterProxyModel;\r
\r
public class NoteSortFilterProxyModel extends QSortFilterProxyModel {\r
private final Map<String,String> guids;\r
+ private String dateFormat;\r
\r
public NoteSortFilterProxyModel(QObject parent) {\r
super(parent);\r
guids = new HashMap<String,String>();\r
+ dateFormat = Global.getDateFormat() + " " + Global.getTimeFormat();\r
setDynamicSortFilter(true);\r
+// logger = new ApplicationLogger("filter.log");\r
}\r
public void clear() {\r
guids.clear();\r
guids.put(guid, null);\r
}\r
public void filter() {\r
+ dateFormat = Global.getDateFormat() + " " + Global.getTimeFormat();\r
invalidateFilter();\r
}\r
@Override\r
\r
@Override\r
protected boolean lessThan(QModelIndex left, QModelIndex right) {\r
- \r
Object leftData = sourceModel().data(left);\r
Object rightData = sourceModel().data(right);\r
\r
- if (leftData instanceof Long && rightData instanceof Long) {\r
- Long leftLong = (Long)leftData;\r
- Long rightLong = (Long)rightData;\r
- return leftLong.compareTo(rightLong) < 0;\r
+ if (sortColumn() == Global.noteTableCreationPosition || \r
+ sortColumn() == Global.noteTableChangedPosition ||\r
+ sortColumn() == Global.noteTableSubjectDatePosition) {\r
+ QDateTime leftDate = QDateTime.fromString(leftData.toString(), dateFormat);\r
+ QDateTime rightDate = QDateTime.fromString(rightData.toString(), dateFormat);\r
+ return leftDate.compareTo(rightDate) < 0;\r
}\r
if (leftData instanceof String && rightData instanceof String) {\r
String leftString = (String)leftData;\r