1
/**************************************************************************
3
* Copyright 2013 Canonical Ltd.
4
* Copyright 2013 Carlos J Mazieri <carlos.mazieri@gmail.com>
6
* You may use this file under the terms of the BSD license as follows:
8
* "Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions are
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in
15
* the documentation and/or other materials provided with the
17
* * Neither the name of Nemo Mobile nor the names of its contributors
18
* may be used to endorse or promote products derived from this
19
* software without specific prior written permission.
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
33
* File: filecompare.cpp
37
#include "filecompare.h"
38
#include "diriteminfo.h"
45
bool fileCompareExists(const DirItemInfo &a, const DirItemInfo &b)
47
if (a.isDir() && !b.isDir())
50
if (b.isDir() && !a.isDir())
53
bool ret = QString::localeAwareCompare(a.absoluteFilePath(), b.absoluteFilePath()) < 0;
55
qDebug() << Q_FUNC_INFO << ret << a.absoluteFilePath() << b.absoluteFilePath();
61
bool fileCompareAscending(const DirItemInfo &a, const DirItemInfo &b)
63
if (a.isDir() && !b.isDir())
66
if (b.isDir() && !a.isDir())
69
return QString::localeAwareCompare(a.fileName(), b.fileName()) < 0;
73
bool fileCompareDescending(const DirItemInfo &a, const DirItemInfo &b)
75
if (a.isDir() && !b.isDir())
78
if (b.isDir() && !a.isDir())
81
return QString::localeAwareCompare(a.fileName(), b.fileName()) > 0;
85
bool dateCompareDescending(const DirItemInfo &a, const DirItemInfo &b)
87
if (a.isDir() && !b.isDir())
90
if (b.isDir() && !a.isDir())
93
return a.lastModified() > b.lastModified();
97
bool dateCompareAscending(const DirItemInfo &a, const DirItemInfo &b)
99
if (a.isDir() && !b.isDir())
102
if (b.isDir() && !a.isDir())
105
return a.lastModified() < b.lastModified();