File indexing completed on 2024-05-05 04:22:02

0001 /* SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org>
0002 
0003    SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 #ifndef MD5CHECKPAGE_H
0006 #define MD5CHECKPAGE_H
0007 
0008 #include "ImportSettings.h"
0009 
0010 #include <kpabase/StringSet.h>
0011 
0012 #include <QGridLayout>
0013 #include <QWidget>
0014 class QButtonGroup;
0015 
0016 namespace ImportExport
0017 {
0018 
0019 class ClashInfo
0020 {
0021 public:
0022     explicit ClashInfo(const QStringList &categories);
0023     bool anyClashes();
0024     bool label;
0025     bool description;
0026     bool orientation;
0027     bool date;
0028     QMap<QString, bool> categories;
0029 };
0030 
0031 class MD5CheckPage : public QWidget
0032 {
0033 public:
0034     explicit MD5CheckPage(const ImportSettings &settings);
0035     static bool pageNeeded(const ImportSettings &settings);
0036     QMap<QString, ImportSettings::ImportAction> settings();
0037 
0038 private:
0039     void createRow(QGridLayout *layout, int &row, const QString &name, const QString &title, bool anyClashes, bool allowMerge);
0040     static int countOfMD5Matches(const ImportSettings &settings);
0041     static ClashInfo clashes(const ImportSettings &settings);
0042     static Utilities::StringSet mapCategoriesToDB(const CategoryMatchSetting &matcher, const Utilities::StringSet &items);
0043 
0044 private:
0045     QMap<QString, QButtonGroup *> m_groups;
0046 };
0047 
0048 }
0049 
0050 #endif /* MD5CHECKPAGE_H */
0051 
0052 // vi:expandtab:tabstop=4 shiftwidth=4: