File indexing completed on 2024-05-12 03:55:46

0001 /* vi: ts=8 sts=4 sw=4
0002 
0003     This file is part of the KDE project, module kfile.
0004     SPDX-FileCopyrightText: 2000 Geert Jansen <jansen@kde.org>
0005     SPDX-FileCopyrightText: 2000 Kurt Granroth <granroth@kde.org>
0006     SPDX-FileCopyrightText: 1997 Christoph Neerfeld <chris@kde.org>
0007     SPDX-FileCopyrightText: 2002 Carsten Pfeiffer <pfeiffer@kde.org>
0008     SPDX-FileCopyrightText: 2021 Kai Uwe Broulik <kde@broulik.de>
0009 
0010     SPDX-License-Identifier: LGPL-2.0-only
0011 */
0012 
0013 #ifndef KICONDIALOG_P_H
0014 #define KICONDIALOG_P_H
0015 
0016 #include <QFileDialog>
0017 #include <QPointer>
0018 #include <QSortFilterProxyModel>
0019 
0020 #include "kicondialogmodel_p.h"
0021 
0022 #include "ui_kicondialog.h"
0023 
0024 class QLabel;
0025 class QPushButton;
0026 
0027 class KIconDialog;
0028 
0029 class KIconDialogPrivate
0030 {
0031 public:
0032     KIconDialogPrivate(KIconDialog *qq);
0033 
0034     void init();
0035     void showIcons();
0036     bool selectIcon(const QString &iconName);
0037     void setContext(KIconLoader::Context context);
0038     void updatePlaceholderLabel();
0039 
0040     void browse();
0041 
0042     bool isSystemIconsContext() const;
0043 
0044     KIconDialog *q;
0045 
0046     KIconLoader *mpLoader;
0047 
0048     KIconDialogModel *model;
0049     QSortFilterProxyModel *proxyModel;
0050 
0051     int mGroupOrSize;
0052     KIconLoader::Context mContext;
0053 
0054     QLabel *placeholderLabel;
0055     QPushButton *browseButton;
0056 
0057     bool m_bStrictIconSize = true;
0058     bool m_bLockUser = false;
0059     bool m_bLockCustomDir = false;
0060     QString custom;
0061     QString customLocation;
0062     QString pendingSelectedIcon;
0063     QPointer<QFileDialog> browseDialog;
0064 
0065     Ui::IconDialog ui;
0066 };
0067 
0068 #endif // KICONDIALOG_P_H