diff options
author | Lubos Dolezel <lubos@dolezel.info> | 2015-06-03 13:47:48 +0200 |
---|---|---|
committer | Lubos Dolezel <lubos@dolezel.info> | 2015-06-03 13:47:48 +0200 |
commit | 95f098703e5df6f2dd6a2f6be25d7c917815be75 (patch) | |
tree | 7d654bd06a01cb64a8b1950e683aba4d32807c1a | |
parent | 7109d3c44c6cbead9a58253b118bb94905411b28 (diff) | |
download | twinkle-95f098703e5df6f2dd6a2f6be25d7c917815be75.tar twinkle-95f098703e5df6f2dd6a2f6be25d7c917815be75.tar.gz twinkle-95f098703e5df6f2dd6a2f6be25d7c917815be75.tar.lz twinkle-95f098703e5df6f2dd6a2f6be25d7c917815be75.tar.xz twinkle-95f098703e5df6f2dd6a2f6be25d7c917815be75.zip |
Fix sorting correctness in addresstablemodel.cpp
-rw-r--r-- | src/gui/addresstablemodel.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
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; }); |