File indexing completed on 2024-04-14 03:43:26
0001 /* 0002 SPDX-FileCopyrightText: 2012 Akarsh Simha <akarsh.simha@kdemail.net> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "sessionsortfilterproxymodel.h" 0008 0009 #include <QTime> 0010 #include <QModelIndex> 0011 #include <QSortFilterProxyModel> 0012 0013 SessionSortFilterProxyModel::SessionSortFilterProxyModel(QObject *parent) : QSortFilterProxyModel(parent) 0014 { 0015 } 0016 0017 bool SessionSortFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const 0018 { 0019 QVariant leftData = sourceModel()->data(left); 0020 QVariant rightData = sourceModel()->data(right); 0021 if (leftData.type() == QVariant::Time) 0022 { 0023 // We are sorting the observing time. 0024 return (leftData.toTime().addSecs(12 * 3600) < 0025 rightData.toTime().addSecs(12 * 3600)); // Note that QTime wraps, so this should work. 0026 } 0027 else 0028 { 0029 // Do default sorting for now 0030 // TODO: Need to add sorting by RA / Dec / magnitude etc, although these are not as important 0031 return QSortFilterProxyModel::lessThan(left, right); 0032 } 0033 }