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, 2007 David Faure <faure@kde.org>
0004    SPDX-FileCopyrightText: 2008 Urs Wolfer <uwolfer @ kde.org>
0005 
0006    SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
0007 */
0008 
0009 // Own
0010 #include "typeslistitem.h"
0011 
0012 // Qt
0013 
0014 TypesListItem::TypesListItem(QTreeWidget *parent, const QString &major)
0015     : TypesListItemBase(parent)
0016     , m_mimetypeData(major)
0017 {
0018     setText(0, major);
0019 }
0020 
0021 TypesListItem::TypesListItem(TypesListItem *parent, QMimeType mimetype)
0022     : TypesListItemBase(parent)
0023     , m_mimetypeData(mimetype)
0024 {
0025     setText(0, m_mimetypeData.minorType());
0026 }
0027 
0028 TypesListItem::TypesListItem(TypesListItem *parent, const QString &newMimetype)
0029     : TypesListItemBase(parent)
0030     , m_mimetypeData(newMimetype, true)
0031 {
0032     setText(0, m_mimetypeData.minorType());
0033 }
0034 
0035 TypesListItem::~TypesListItem()
0036 {
0037 }
0038 
0039 void TypesListItem::setIcon(const QString &icon)
0040 {
0041     m_mimetypeData.setUserSpecifiedIcon(icon);
0042     loadIcon(true);
0043 }
0044 
0045 void TypesListItem::loadIcon(bool forceReload)
0046 {
0047     if ((!m_mimetypeData.icon().isEmpty() && icon(0).isNull()) || forceReload) {
0048         QTreeWidgetItem::setIcon(0, QIcon::fromTheme(m_mimetypeData.icon()));
0049     }
0050 }