svn path=/trunk/KDE/kdebase/apps/; revision=677018
dirModelColumnToDolphinView[column] :
DolphinView::SortByName;
setSortRole(m_sorting);
dirModelColumnToDolphinView[column] :
DolphinView::SortByName;
setSortRole(m_sorting);
- QSortFilterProxyModel::sort(column, sortOrder);
+ KSortFilterProxyModel::sort(column, sortOrder);
}
bool DolphinSortFilterProxyModel::hasChildren(const QModelIndex& parent) const
}
bool DolphinSortFilterProxyModel::hasChildren(const QModelIndex& parent) const
}
int DolphinSortFilterProxyModel::naturalCompare(const QString& a,
}
int DolphinSortFilterProxyModel::naturalCompare(const QString& a,
{
// This method chops the input a and b into pieces of
// digits and non-digits (a1.05 becomes a | 1 | . | 05)
{
// This method chops the input a and b into pieces of
// digits and non-digits (a1.05 becomes a | 1 | . | 05)
{
if (purpose == GeneralPurpose)
{
{
if (purpose == GeneralPurpose)
{
- return proxyModel->lessThanGeneralPurpose(left, right);
+ return proxyModel->sortOrder() == Qt::AscendingOrder ?
+ proxyModel->lessThanGeneralPurpose(left, right) :
+ !proxyModel->lessThanGeneralPurpose(left, right);
- return proxyModel->lessThanCategoryPurpose(left, right);
+ return proxyModel->sortOrder() == Qt::AscendingOrder ?
+ proxyModel->lessThanCategoryPurpose(left, right) :
+ !proxyModel->lessThanCategoryPurpose(left, right);
+void KSortFilterProxyModel::sort(int column, Qt::SortOrder order)
+{
+ QSortFilterProxyModel::sort(column, order);
+
+ m_sortOrder = order;
+}
+
+Qt::SortOrder KSortFilterProxyModel::sortOrder() const
+{
+ return m_sortOrder;
+}
+
bool KSortFilterProxyModel::lessThanCategoryPurpose(const QModelIndex &left,
const QModelIndex &right) const
{
bool KSortFilterProxyModel::lessThanCategoryPurpose(const QModelIndex &left,
const QModelIndex &right) const
{
KSortFilterProxyModel(QObject *parent = 0);
~KSortFilterProxyModel();
KSortFilterProxyModel(QObject *parent = 0);
~KSortFilterProxyModel();
+ virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder);
+
+ Qt::SortOrder sortOrder() const;
+
virtual bool lessThanGeneralPurpose(const QModelIndex &left,
const QModelIndex &right) const = 0;
virtual bool lessThanCategoryPurpose(const QModelIndex &left,
const QModelIndex &right) const;
virtual bool lessThanGeneralPurpose(const QModelIndex &left,
const QModelIndex &right) const = 0;
virtual bool lessThanCategoryPurpose(const QModelIndex &left,
const QModelIndex &right) const;
+
+private:
+ Qt::SortOrder m_sortOrder;