File indexing completed on 2024-05-12 04:39:20
0001 /* 0002 SPDX-FileCopyrightText: 2018 Friedrich W. H. Kossebau <kossebau@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "checklistfilterproxysearchline.h" 0008 0009 // KF 0010 #include <KLocalizedString> 0011 // Qt 0012 #include <QTimer> 0013 #include <QSortFilterProxyModel> 0014 0015 namespace ClangTidy 0016 { 0017 0018 CheckListFilterProxySearchLine::CheckListFilterProxySearchLine(QWidget *parent) 0019 : QLineEdit(parent) 0020 , m_delayTimer(new QTimer(this)) 0021 { 0022 setClearButtonEnabled(true); 0023 setPlaceholderText(i18nc("@info:placeholder", "Search...")); 0024 0025 m_delayTimer->setSingleShot(true); 0026 m_delayTimer->setInterval(300); 0027 connect(m_delayTimer, &QTimer::timeout, 0028 this, &CheckListFilterProxySearchLine::updateFilter); 0029 connect(this, &CheckListFilterProxySearchLine::textChanged, 0030 m_delayTimer, QOverload<>::of(&QTimer::start)); 0031 } 0032 0033 0034 void CheckListFilterProxySearchLine::setFilterProxyModel(QSortFilterProxyModel* filterProxyModel) 0035 { 0036 m_filterProxyModel = filterProxyModel; 0037 } 0038 0039 void CheckListFilterProxySearchLine::updateFilter() 0040 { 0041 if (!m_filterProxyModel) { 0042 return; 0043 } 0044 0045 m_filterProxyModel->setFilterFixedString(text()); 0046 } 0047 0048 } 0049 0050 #include "moc_checklistfilterproxysearchline.cpp"