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"