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: