From 95f098703e5df6f2dd6a2f6be25d7c917815be75 Mon Sep 17 00:00:00 2001 From: Lubos Dolezel Date: Wed, 3 Jun 2015 13:47:48 +0200 Subject: Fix sorting correctness in addresstablemodel.cpp --- src/gui/addresstablemodel.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/gui') diff --git a/src/gui/addresstablemodel.cpp b/src/gui/addresstablemodel.cpp index dc86660..d706b94 100644 --- a/src/gui/addresstablemodel.cpp +++ b/src/gui/addresstablemodel.cpp @@ -109,18 +109,25 @@ void AddressTableModel::sort(int column, Qt::SortOrder order) switch (column) { case COL_ADDR_NAME: - retval = QString::fromStdString(a1.get_display_name()) < QString::fromStdString(a2.get_display_name()); + if (order == Qt::DescendingOrder) + retval = QString::fromStdString(a1.get_display_name()) > QString::fromStdString(a2.get_display_name()); + else + retval = QString::fromStdString(a1.get_display_name()) < QString::fromStdString(a2.get_display_name()); break; case COL_ADDR_PHONE: - retval = a1.sip_address.compare(a2.sip_address) < 0; + if (order == Qt::DescendingOrder) + retval = a1.sip_address.compare(a2.sip_address) > 0; + else + retval = a1.sip_address.compare(a2.sip_address) < 0; break; case COL_ADDR_REMARK: - retval = QString::fromStdString(a1.remark) < QString::fromStdString(a2.remark); + if (order == Qt::DescendingOrder) + retval = QString::fromStdString(a1.remark) > QString::fromStdString(a2.remark); + else + retval = QString::fromStdString(a1.remark) < QString::fromStdString(a2.remark); break; } - if (order == Qt::DescendingOrder) - retval = !retval; return retval; }); -- cgit v1.2.3