1 /* 2 This file is part of KDevelop 3 4 SPDX-FileCopyrightText: 2018 Friedrich W. H. Kossebau <kossebau@kde.org> 5 6 SPDX-License-Identifier: LGPL-2.0-or-later 7 */ 8 9 #include "filterproxysearchline.h" 10 11 // KF 12 #include <KLocalizedString> 13 // Qt 14 #include <QSortFilterProxyModel> 15 #include <QTimer> 16 17 FilterProxySearchLine(QWidget * parent)18FilterProxySearchLine::FilterProxySearchLine(QWidget *parent) 19 : QLineEdit(parent) 20 , m_delayTimer(new QTimer(this)) 21 { 22 setClearButtonEnabled(true); 23 setPlaceholderText(i18n("Search")); 24 25 m_delayTimer->setSingleShot(true); 26 m_delayTimer->setInterval(300); 27 connect(m_delayTimer, &QTimer::timeout, 28 this, &FilterProxySearchLine::updateFilter); 29 connect(this, &FilterProxySearchLine::textChanged, 30 m_delayTimer, static_cast<void(QTimer::*)()>(&QTimer::start)); 31 } 32 setFilterProxyModel(QSortFilterProxyModel * filterProxyModel)33void FilterProxySearchLine::setFilterProxyModel(QSortFilterProxyModel* filterProxyModel) 34 { 35 m_filterProxyModel = filterProxyModel; 36 } 37 updateFilter()38void FilterProxySearchLine::updateFilter() 39 { 40 if (!m_filterProxyModel) { 41 return; 42 } 43 44 m_filterProxyModel->setFilterFixedString(text()); 45 } 46