1 /* ============================================================ 2 * 3 * This file is a part of digiKam project 4 * https://www.digikam.org 5 * 6 * Date : 2010-10-09 7 * Description : Widget to choose options for face scanning 8 * 9 * Copyright (C) 2010-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de> 10 * Copyright (C) 2012-2021 by Gilles Caulier <caulier dot gilles at gmail dot com> 11 * 12 * This program is free software; you can redistribute it 13 * and/or modify it under the terms of the GNU General 14 * Public License as published by the Free Software Foundation; 15 * either version 2, or (at your option) 16 * any later version. 17 * 18 * This program is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU General Public License for more details. 22 * 23 * ============================================================ */ 24 25 #ifndef DIGIKAM_FACE_SCAN_WIDGET_H 26 #define DIGIKAM_FACE_SCAN_WIDGET_H 27 28 // Qt includes 29 30 #include <QTabWidget> 31 32 // Local includes 33 34 #include "statesavingobject.h" 35 #include "facescansettings.h" 36 37 namespace Digikam 38 { 39 40 class FaceScanWidget : public QTabWidget, 41 public StateSavingObject 42 { 43 Q_OBJECT 44 45 public: 46 47 explicit FaceScanWidget(QWidget* const parent = nullptr); 48 ~FaceScanWidget() override; 49 50 bool settingsConflicted() const; 51 FaceScanSettings settings() const; 52 53 protected: 54 55 void doLoadState() override; 56 void doSaveState() override; 57 58 private: 59 60 void setupUi(); 61 void setupConnections(); 62 63 private Q_SLOTS: 64 65 void slotPrepareForDetect(bool status); 66 void slotPrepareForRecognize(bool status); 67 68 private: 69 70 class Private; 71 Private* const d; 72 }; 73 74 } // namespace Digikam 75 76 #endif // DIGIKAM_FACE_SCAN_WIDGET_H 77