1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2021 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of Qt Creator. 7 ** 8 ** Commercial License Usage 9 ** Licensees holding valid commercial Qt licenses may use this file in 10 ** accordance with the commercial license agreement provided with the 11 ** Software or, alternatively, in accordance with the terms contained in 12 ** a written agreement between you and The Qt Company. For licensing terms 13 ** and conditions see https://www.qt.io/terms-conditions. For further 14 ** information use the contact form at https://www.qt.io/contact-us. 15 ** 16 ** GNU General Public License Usage 17 ** Alternatively, this file may be used under the terms of the GNU 18 ** General Public License version 3 as published by the Free Software 19 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT 20 ** included in the packaging of this file. Please review the following 21 ** information to ensure the GNU General Public License requirements will 22 ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 23 ** 24 ****************************************************************************/ 25 26 #include "assetimportupdatetreeitem.h" 27 28 namespace QmlDesigner { 29 namespace Internal { 30 AssetImportUpdateTreeItem(const QFileInfo & info,AssetImportUpdateTreeItem * parent)31AssetImportUpdateTreeItem::AssetImportUpdateTreeItem(const QFileInfo &info, 32 AssetImportUpdateTreeItem *parent) 33 : m_parent(parent) 34 , m_fileInfo(info) 35 { 36 if (parent) 37 parent->appendChild(this); 38 } 39 ~AssetImportUpdateTreeItem()40AssetImportUpdateTreeItem::~AssetImportUpdateTreeItem() 41 { 42 if (m_parent) 43 m_parent->removeChild(this); 44 clear(); 45 } 46 clear()47void AssetImportUpdateTreeItem::clear() 48 { 49 qDeleteAll(m_children); 50 m_children.clear(); 51 m_fileInfo = {}; 52 m_parent = nullptr; 53 } 54 childCount() const55int AssetImportUpdateTreeItem::childCount() const 56 { 57 return m_children.count(); 58 } 59 rowOfItem() const60int AssetImportUpdateTreeItem::rowOfItem() const 61 { 62 return m_parent ? m_parent->m_children.indexOf(const_cast<AssetImportUpdateTreeItem *>(this)) 63 : 0; 64 } 65 childAt(int index) const66AssetImportUpdateTreeItem *AssetImportUpdateTreeItem::childAt(int index) const 67 { 68 return m_children.at(index); 69 } 70 parent() const71AssetImportUpdateTreeItem *AssetImportUpdateTreeItem::parent() const 72 { 73 return m_parent; 74 } 75 removeChild(AssetImportUpdateTreeItem * item)76void AssetImportUpdateTreeItem::removeChild(AssetImportUpdateTreeItem *item) 77 { 78 m_children.removeOne(item); 79 } 80 appendChild(AssetImportUpdateTreeItem * item)81void AssetImportUpdateTreeItem::appendChild(AssetImportUpdateTreeItem *item) 82 { 83 m_children.append(item); 84 } 85 86 } // namespace Internal 87 } // namespace QmlDesigner 88