File indexing completed on 2023-05-30 10:45:24
0001 /* 0002 This file is part of KDevelop 0003 0004 SPDX-FileCopyrightText: 2018 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #include "filterproxysearchline.h" 0010 0011 // KF 0012 #include <KLocalizedString> 0013 // Qt 0014 #include <QSortFilterProxyModel> 0015 #include <QTimer> 0016 0017 0018 FilterProxySearchLine::FilterProxySearchLine(QWidget *parent) 0019 : QLineEdit(parent) 0020 , m_delayTimer(new QTimer(this)) 0021 { 0022 setClearButtonEnabled(true); 0023 setPlaceholderText(i18n("Search")); 0024 0025 m_delayTimer->setSingleShot(true); 0026 m_delayTimer->setInterval(300); 0027 connect(m_delayTimer, &QTimer::timeout, 0028 this, &FilterProxySearchLine::updateFilter); 0029 connect(this, &FilterProxySearchLine::textChanged, 0030 m_delayTimer, static_cast<void(QTimer::*)()>(&QTimer::start)); 0031 } 0032 0033 void FilterProxySearchLine::setFilterProxyModel(QSortFilterProxyModel* filterProxyModel) 0034 { 0035 m_filterProxyModel = filterProxyModel; 0036 } 0037 0038 void FilterProxySearchLine::updateFilter() 0039 { 0040 if (!m_filterProxyModel) { 0041 return; 0042 } 0043 0044 m_filterProxyModel->setFilterFixedString(text()); 0045 }