VirtualBox

Changeset 75622 in vbox for trunk/src


Ignore:
Timestamp:
Nov 20, 2018 4:29:51 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
126799
Message:

FE/Qt: bugref:6699. Sort changed date/time column correctly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileModel.cpp

    r75480 r75622  
    5353        {
    5454            if (pLeftItem->isDirectory() && !pRightItem->isDirectory())
    55                 return true && (sortOrder() == Qt::AscendingOrder);
     55                return (sortOrder() == Qt::AscendingOrder);
    5656            if (!pLeftItem->isDirectory() && pRightItem->isDirectory())
    57                 return false && (sortOrder() == Qt::AscendingOrder);
     57                return (sortOrder() == Qt::DescendingOrder);
    5858        }
    5959        /* Up directory item should be always the first item: */
    6060        if (pLeftItem->isUpDirectory())
    61             return true && (sortOrder() == Qt::AscendingOrder);
     61            return (sortOrder() == Qt::AscendingOrder);
    6262        else if (pRightItem->isUpDirectory())
    63             return false && (sortOrder() == Qt::AscendingOrder);
     63            return (sortOrder() == Qt::DescendingOrder);
     64
     65        /* If the sort column is datatime than handle it correctly: */
     66        if (sortColumn() == UIGuestControlFileModelColumn_ChangeTime)
     67        {
     68            QVariant dataLeft = pLeftItem->data(UIGuestControlFileModelColumn_ChangeTime);
     69            QVariant dataRight = pRightItem->data(UIGuestControlFileModelColumn_ChangeTime);
     70            /* Being a bit paranoid?: */
     71            if (dataLeft.canConvert(QMetaType::QDateTime) &&
     72                dataRight.canConvert(QMetaType::QDateTime))
     73            {
     74                QDateTime leftDateTime = dataLeft.toDateTime();
     75                QDateTime rightDateTime = dataRight.toDateTime();
     76                return (leftDateTime < rightDateTime);
     77            }
     78
     79        }
    6480    }
    6581    return QSortFilterProxyModel::lessThan(left, right);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette