File indexing completed on 2024-04-28 05:27:04
0001 /* This file is part of the KDE project 0002 SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org> 0003 SPDX-FileCopyrightText: 2003 David Faure <faure@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only 0006 */ 0007 0008 #ifndef TYPESLISTITEM_H 0009 #define TYPESLISTITEM_H 0010 0011 #include "mimetypedata.h" 0012 #include "typeslistitembase.h" 0013 0014 #include <QMimeType> 0015 0016 // TODO different subclasses for mimetypes and groups? 0017 class TypesListItem : public TypesListItemBase 0018 { 0019 public: 0020 /** 0021 * Create a filetype group 0022 */ 0023 TypesListItem(QTreeWidget *parent, const QString &major); 0024 0025 /** 0026 * Create a filetype item inside a group, for an existing mimetype 0027 */ 0028 TypesListItem(TypesListItem *parent, QMimeType mimetype); 0029 0030 /** 0031 * Create a filetype item inside a group, for a new mimetype 0032 */ 0033 TypesListItem(TypesListItem *parent, const QString &newMimetype); 0034 0035 ~TypesListItem() override; 0036 0037 void setIcon(const QString &icon); 0038 0039 QString name() const 0040 { 0041 return m_mimetypeData.name(); 0042 } 0043 0044 const MimeTypeData &mimeTypeData() const 0045 { 0046 return m_mimetypeData; 0047 } 0048 0049 MimeTypeData &mimeTypeData() 0050 { 0051 return m_mimetypeData; 0052 } 0053 0054 virtual void loadIcon(bool forceReload = false) override; 0055 0056 private: 0057 MimeTypeData m_mimetypeData; 0058 }; 0059 0060 #endif