1/* vi: ts=8 sts=4 sw=4
2
3 This file is part of the KDE project, module kfile.
4 SPDX-FileCopyrightText: 2000 Geert Jansen <jansen@kde.org>
5 SPDX-FileCopyrightText: 2000 Kurt Granroth <granroth@kde.org>
6 SPDX-FileCopyrightText: 1997 Christoph Neerfeld <chris@kde.org>
7 SPDX-FileCopyrightText: 2002 Carsten Pfeiffer <pfeiffer@kde.org>
8 SPDX-FileCopyrightText: 2021 Kai Uwe Broulik <kde@broulik.de>
9
10 SPDX-License-Identifier: LGPL-2.0-only
11*/
12
13#ifndef KICONDIALOG_P_H
14#define KICONDIALOG_P_H
15
16#include <QFileDialog>
17#include <QPointer>
18#include <QSortFilterProxyModel>
19
20#include "kicondialogmodel_p.h"
21
22#include "ui_kicondialog.h"
23
24class QLabel;
25class QPushButton;
26
27class KIconDialog;
28class KIconDialogSortFilterProxyModel;
29
30class KIconDialogPrivate
31{
32public:
33 KIconDialogPrivate(KIconDialog *qq);
34
35 void init();
36 void showIcons();
37 bool selectIcon(const QString &iconName);
38 void setContext(KIconLoader::Context context);
39 void updatePlaceholderLabel();
40
41 void browse();
42
43 bool isSystemIconsContext() const;
44
45 KIconDialog *q;
46
47 KIconLoader *mpLoader;
48
49 KIconDialogModel *model;
50 KIconDialogSortFilterProxyModel *proxyModel;
51
52 int mGroupOrSize;
53 KIconLoader::Context mContext;
54
55 QLabel *placeholderLabel;
56 QPushButton *browseButton;
57
58 QAction *filterSymbolicAction;
59 QActionGroup *filterSymbolicGroup;
60
61 bool m_bStrictIconSize = true;
62 bool m_bLockUser = false;
63 bool m_bLockCustomDir = false;
64 QString custom;
65 QString customLocation;
66 QString pendingSelectedIcon;
67 QPointer<QFileDialog> browseDialog;
68
69 Ui::IconDialog ui;
70};
71
72#endif // KICONDIALOG_P_H
73

source code of kiconthemes/src/widgets/kicondialog_p.h