"Fossies" - the Fresh Open Source Software Archive

Member "digikam-6.3.0/core/utilities/maintenance/newitemsfinder.h" (4 Sep 2019, 2081 Bytes) of package /linux/misc/digikam-6.3.0.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "newitemsfinder.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 6.2.0_vs_6.3.0.

    1 /* ============================================================
    2  *
    3  * This file is a part of digiKam project
    4  * https://www.digikam.org
    5  *
    6  * Date        : 2012-01-20
    7  * Description : new items finder.
    8  *
    9  * Copyright (C) 2012-2019 by Gilles Caulier <caulier dot gilles at gmail dot com>
   10  *
   11  * This program is free software; you can redistribute it
   12  * and/or modify it under the terms of the GNU General
   13  * Public License as published by the Free Software Foundation;
   14  * either version 2, or (at your option)
   15  * any later version.
   16  *
   17  * This program is distributed in the hope that it will be useful,
   18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
   19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   20  * GNU General Public License for more details.
   21  *
   22  * ============================================================ */
   23 
   24 #ifndef DIGIKAM_NEW_ITEMS_FINDER_H
   25 #define DIGIKAM_NEW_ITEMS_FINDER_H
   26 
   27 // Qt includes
   28 
   29 #include <QObject>
   30 #include <QString>
   31 
   32 // Local includes
   33 
   34 #include "maintenancetool.h"
   35 #include "digikam_export.h"
   36 
   37 namespace Digikam
   38 {
   39 
   40 class DIGIKAM_EXPORT NewItemsFinder : public MaintenanceTool
   41 {
   42     Q_OBJECT
   43 
   44 public:
   45 
   46     enum FinderMode
   47     {
   48         CompleteCollectionScan,   /** Scan whole collection immediately.                  */
   49         ScanDeferredFiles,        /** Defer whole collection scan.                      */
   50         ScheduleCollectionScan    /** Scan immediately folders list passed in constructor. */
   51     };
   52 
   53 public:
   54 
   55     explicit NewItemsFinder(const FinderMode mode = CompleteCollectionScan,
   56                             const QStringList& foldersToScan = QStringList(),
   57                             ProgressItem* const parent = nullptr);
   58     ~NewItemsFinder();
   59 
   60 private Q_SLOTS:
   61 
   62     void slotStart() override;
   63     void slotScanStarted(const QString&);
   64     void slotPartialScanDone(const QString&);
   65     void slotTotalFilesToScan(int);
   66     void slotFilesScanned(int);
   67     void slotCancel() override;
   68 
   69 private:
   70 
   71     class Private;
   72     Private* const d;
   73 };
   74 
   75 } // namespace Digikam
   76 
   77 #endif // DIGIKAM_NEW_ITEMS_FINDER_H