File indexing completed on 2024-06-02 04:19:45

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2017-05-06
0007  * Description : utilities for digiKam setup
0008  *
0009  * SPDX-FileCopyrightText: 2017      by Simon Frei <freisim93 at gmail dot com>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #include "setuputils.h"
0016 
0017 // Local includes
0018 
0019 #include "digikam_globals.h"
0020 
0021 namespace Digikam
0022 {
0023 
0024 QStringList cleanUserFilterString(QString filterString,
0025                                   const bool caseSensitive,
0026                                   const bool useSemicolon)
0027 {
0028     if (!caseSensitive)
0029     {
0030         filterString = filterString.toLower();
0031     }
0032 
0033     QChar separator;
0034 
0035     if (!useSemicolon)
0036     {
0037         separator = QLatin1Char(' ');
0038         filterString.remove(QLatin1Char('*'));
0039         filterString.replace(QLatin1Char(';'), QLatin1Char(' '));
0040         filterString.replace(QLatin1String(" ."), QLatin1String(" "));
0041         filterString.replace(QLatin1String(" -."), QLatin1String(" -"));
0042     }
0043     else
0044     {
0045         separator = QLatin1Char(';');
0046         filterString.replace(QLatin1String(";."), QLatin1String(";"));
0047         filterString.replace(QLatin1String(";-."), QLatin1String(";-"));
0048     }
0049 
0050     QStringList filterList;
0051 
0052     Q_FOREACH (const QString& filter, filterString.split(separator, QT_SKIP_EMPTY_PARTS))
0053     {
0054         filterList << filter.trimmed();
0055     }
0056 
0057     return filterList;
0058 }
0059 
0060 } // namespace Digikam