File indexing completed on 2024-05-05 04:51:45
0001 /* 0002 SPDX-FileCopyrightText: 2009 Gustavo Pichorim Boiko <gustavo.boiko@kdemail.net> 0003 SPDX-FileCopyrightText: 2010-2011 Michal Malek <michalm@jabster.pl> 0004 SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #include "k3bdirproxymodel.h" 0010 #include "k3bdataprojectmodel.h" 0011 0012 0013 K3b::DirProxyModel::DirProxyModel(QObject *parent) 0014 : QSortFilterProxyModel(parent) 0015 { 0016 setDynamicSortFilter( true ); 0017 sort( DataProjectModel::FilenameColumn, Qt::AscendingOrder ); 0018 } 0019 0020 K3b::DirProxyModel::~DirProxyModel() 0021 { 0022 } 0023 0024 0025 bool K3b::DirProxyModel::filterAcceptsRow( int source_row, const QModelIndex & source_parent ) const 0026 { 0027 QAbstractItemModel *model = sourceModel(); 0028 QModelIndex index = model->index(source_row, 0, source_parent); 0029 0030 QVariant data = index.data( DataProjectModel::ItemTypeRole ); 0031 DataProjectModel::ItemType type = DataProjectModel::FileItemType; 0032 0033 if (data.isValid()) 0034 type = (DataProjectModel::ItemType) index.data( DataProjectModel::ItemTypeRole ).toInt(); 0035 0036 return (type == DataProjectModel::DirItemType); 0037 } 0038 0039 bool K3b::DirProxyModel::lessThan( const QModelIndex& left, const QModelIndex& right ) const 0040 { 0041 if( !left.parent().isValid() && !right.parent().isValid() ) { 0042 return left.row() < right.row(); 0043 } else { 0044 return QSortFilterProxyModel::lessThan( left, right ); 0045 } 0046 } 0047 0048 #include "moc_k3bdirproxymodel.cpp"