digiKam
findduplicatesview.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date : 2008-05-19
7  * Description : Find Duplicates View.
8  *
9  * Copyright (C) 2016-2017 by Mario Frank <mario dot frank at uni minus potsdam dot de>
10  * Copyright (C) 2008-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
11  * Copyright (C) 2008-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
12  * Copyright (C) 2009 by Andi Clemens <andi dot clemens at gmail dot com>
13  *
14  * This program is free software; you can redistribute it
15  * and/or modify it under the terms of the GNU General
16  * Public License as published by the Free Software Foundation;
17  * either version 2, or (at your option)
18  * any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  * GNU General Public License for more details.
24  *
25  * ============================================================ */
26 
27 #ifndef DIGIKAM_FIND_DUPLICATES_VIEW_H
28 #define DIGIKAM_FIND_DUPLICATES_VIEW_H
29 
30 // Qt includes
31 
32 #include <QWidget>
33 #include <QList>
34 
35 // Local includes
36 
37 #include "album.h"
38 
39 class QTreeWidgetItem;
40 
41 namespace Digikam
42 {
43 
44 class FindDuplicatesView : public QWidget
45 {
46  Q_OBJECT
47 
48 public:
49 
50  explicit FindDuplicatesView(QWidget* const parent = nullptr);
51  ~FindDuplicatesView() override;
52 
54  void setActive(bool val);
55  void populateTreeView();
56 
57 public Q_SLOTS:
58 
59  void slotSetSelectedAlbums(const QList<PAlbum*>& albums);
60  void slotSetSelectedAlbums(const QList<TAlbum*>& albums);
61  void slotRemoveDuplicates();
62 
63 private Q_SLOTS:
64 
65  void initAlbumUpdateConnections();
66  void slotAlbumAdded(Album* a);
67  void slotAlbumDeleted(Album* a);
68  void slotSearchUpdated(SAlbum* a);
69  void slotSelectItemsTimer();
70  void slotClear();
71  void slotFindDuplicates();
72  void slotUpdateDuplicates(const QList<SAlbum*>& sAlbumsToRebuild,
73  const QList<qlonglong>& deletedImages);
74  void slotDuplicatesAlbumActived();
75  void slotComplete();
76  void slotUpdateFingerPrints();
77  void slotCheckForValidSettings();
78  void slotApplicationSettingsChanged();
79 
80 private:
81 
82  void enableControlWidgets(bool);
83 
84  void updateSimilarityRangeInterval();
85 
86  void resetAlbumsAndTags();
87 
88 private:
89 
90  class Private;
91  Private* const d;
92 };
93 
94 } // namespace Digikam
95 
96 #endif // DIGIKAM_FIND_DUPLICATES_VIEW_H
Abstract base class for all album types.
Definition: album.h:67
Definition: findduplicatesview.h:45
void setActive(bool val)
Definition: findduplicatesview.cpp:294
void slotRemoveDuplicates()
Definition: findduplicatesview.cpp:642
FindDuplicatesView(QWidget *const parent=nullptr)
Definition: findduplicatesview.cpp:114
QList< SAlbum * > currentFindDuplicatesAlbums() const
Definition: findduplicatesview.cpp:345
void populateTreeView()
Definition: findduplicatesview.cpp:302
~FindDuplicatesView() override
Definition: findduplicatesview.cpp:270
void slotSetSelectedAlbums(const QList< PAlbum * > &albums)
Definition: findduplicatesview.cpp:582
Definition: album.h:493
Definition: piwigotalker.h:48
Definition: datefolderview.cpp:43