digiKam
Loading...
Searching...
No Matches
cameramessagebox.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 : 2012-01-04
7 * Description : a message box to manage camera items
8 *
9 * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QWidget>
20#include <QTreeWidget>
21
22// Local includes
23
24#include "camerathumbsctrl.h"
25#include "digikam_export.h"
26
27class QDialog;
28class QDialogButtonBox;
29
30namespace Digikam
31{
32
33class DIGIKAM_GUI_EXPORT CameraItem : public QTreeWidgetItem
34{
35
36public:
37
38 CameraItem(QTreeWidget* const parent, const CamItemInfo& info);
39 ~CameraItem() override;
40
41 bool hasValidThumbnail() const;
42 CamItemInfo info() const;
43
44 void setThumb(const QPixmap& pix, bool hasThumb = true);
45
46private:
47
48 class Private;
49 Private* const d = nullptr;
50
51private:
52
53 Q_DISABLE_COPY(CameraItem)
54};
55
56// -----------------------------------------------------------
57
58class DIGIKAM_GUI_EXPORT CameraItemList : public QTreeWidget
59{
60 Q_OBJECT
61
62public:
63
64 explicit CameraItemList(QWidget* const parent = nullptr);
65 ~CameraItemList() override;
66
67 void setThumbCtrl(CameraThumbsCtrl* const ctrl);
68 void setItems(const CamItemInfoList& items);
69
70private:
71
72 void drawRow(QPainter* p,
73 const QStyleOptionViewItem& opt,
74 const QModelIndex& index) const override;
75
76private Q_SLOTS:
77
78 void slotThumbnailLoaded(const CamItemInfo&);
79
80private:
81
82 class Private;
83 Private* const d = nullptr;
84};
85
86// -----------------------------------------------------------
87
88class DIGIKAM_GUI_EXPORT CameraMessageBox
89{
90
91public:
92
96 static void informationList(CameraThumbsCtrl* const ctrl,
97 QWidget* const parent,
98 const QString& caption,
99 const QString& text,
100 const CamItemInfoList& items,
101 const QString& dontShowAgainName = QString());
102
107 static int warningContinueCancelList(CameraThumbsCtrl* const ctrl,
108 QWidget* const parent,
109 const QString& caption,
110 const QString& text,
111 const CamItemInfoList& items,
112 const QString& dontAskAgainName = QString());
113};
114
115} // namespace Digikam
Definition camiteminfo.h:39
Definition cameramessagebox.h:59
Definition cameramessagebox.h:34
Definition cameramessagebox.h:89
Definition camerathumbsctrl.h:38
Definition datefolderview.cpp:34
QList< CamItemInfo > CamItemInfoList
Definition camiteminfo.h:116