28 #include <Qt3Support/Q3IconDrag>
30 #include <QtCore/QTimer>
33 #define DEFAULT_CASESENSITIVE false
37 class K3IconViewSearchLine::K3IconViewSearchLinePrivate
40 K3IconViewSearchLinePrivate() :
43 activeSearch(
false ),
44 queuedSearches( 0 ) {}
73 return d->caseSensitive;
90 QString search = d->search = s.isNull() ? text() : s;
108 if ( item == currentItem )
114 QIconViewItemList::iterator it = hi->begin();
115 while ( it != hi->end() )
125 if ( currentItem != NULL )
126 iv->ensureItemVisible( currentItem );
133 QIconViewItemList::iterator it = d->hiddenItems.begin();
134 while ( it != d->hiddenItems.end() )
140 if ( d->iconView != NULL )
146 if ( ! d->hiddenItems.isEmpty() )
147 kDebug() << __FILE__ <<
":" << __LINE__ <<
148 "hiddenItems is not empty as it should be. " <<
149 d->hiddenItems.count() <<
" items are still there.\n" << endl;
152 d->queuedSearches = 0;
158 d->caseSensitive = cs;
163 if ( d->iconView != NULL )
164 disconnect( d->iconView, SIGNAL(destroyed()),
165 this, SLOT(iconViewDeleted()) );
171 connect( d->iconView, SIGNAL(destroyed()),
172 this, SLOT(iconViewDeleted()) );
191 return ( item->text().indexOf( s, 0,
192 caseSensitive()?Qt::CaseSensitive:Qt::CaseInsensitive ) >= 0 );
198 d =
new K3IconViewSearchLinePrivate;
202 connect(
this, SIGNAL(textChanged(
QString)),
205 if ( iconView != NULL )
207 connect( iconView, SIGNAL(destroyed()),
208 this, SLOT(iconViewDeleted()) );
219 if ( ( item == NULL ) || ( d->iconView == NULL ) )
222 d->hiddenItems.append( item );
223 d->iconView->takeItem( item );
228 if ( d->iconView == NULL )
230 kDebug() << __FILE__ <<
":" << __LINE__ <<
231 "showItem() could not be called while there's no iconView set." <<
235 d->iconView->insertItem( item );
236 d->hiddenItems.removeAll( item );
253 if ( d->queuedSearches <= 0 )
256 d->queuedSearches = 0;
263 void K3IconViewSearchLine::iconViewDeleted()
269 #include "k3iconviewsearchline.moc"