• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

kdeui

KListViewSearchLine Class Reference

This class makes it easy to add a search line for filtering the items in a listview based on a simple text search. More...

#include <klistviewsearchline.h>

Inheritance diagram for KListViewSearchLine:

Inheritance graph
[legend]

List of all members.


Public Slots

void setCaseSensitive (bool cs)
void setKeepParentsVisible (bool v)
void setListView (KListView *lv)
void setSearchColumns (const QValueList< int > &columns)
virtual void updateSearch (const QString &s=QString::null)

Public Member Functions

bool caseSensitive () const
bool keepParentsVisible () const
 KListViewSearchLine (QWidget *parent, const char *name)
 KListViewSearchLine (QWidget *parent=0, KListView *listView=0, const char *name=0)
KListView * listView () const
QValueList< int > searchColumns () const
virtual ~KListViewSearchLine ()

Protected Slots

void activateSearch ()
void queueSearch (const QString &search)

Protected Member Functions

virtual QPopupMenu * createPopupMenu ()
virtual bool itemMatches (const QListViewItem *item, const QString &s) const

Detailed Description

This class makes it easy to add a search line for filtering the items in a listview based on a simple text search.

No changes to the application other than instantiating this class with an appropriate KListView should be needed.

If you want the clear button and the search label, you should take a look at the KListViewSearchLineWidget

Note:
{ When iterating over items in the KListView, make sure that the iterator only includes visible items (for example, by adding QListViewItemIterator::Visible to the iterator flags). Otherwise, actions (such as deletion) may be taken on items that have been hidden by the search function. }
Since:
3.3

Definition at line 47 of file klistviewsearchline.h.


Constructor & Destructor Documentation

KListViewSearchLine::KListViewSearchLine ( QWidget *  parent = 0,
KListView *  listView = 0,
const char *  name = 0 
)

Constructs a KListViewSearchLine with listView being the KListView to be filtered.

If listView is null then the widget will be disabled until a listview is set with setListView().

Definition at line 59 of file klistviewsearchline.cpp.

KListViewSearchLine::KListViewSearchLine ( QWidget *  parent,
const char *  name 
)

Constructs a KListViewSearchLine without any KListView to filter.

The KListView object has to be set later with setListView().

Definition at line 80 of file klistviewsearchline.cpp.

KListViewSearchLine::~KListViewSearchLine (  )  [virtual]

Destroys the KListViewSearchLine.

Definition at line 93 of file klistviewsearchline.cpp.


Member Function Documentation

void KListViewSearchLine::activateSearch (  )  [protected, slot]

When the timer started with queueSearch() expires this slot is called.

If there has been another timer started then this slot does nothing. However if there are no other pending searches this starts the list view search.

See also:
queueSearch()

Definition at line 291 of file klistviewsearchline.cpp.

bool KListViewSearchLine::caseSensitive (  )  const

Returns true if the search is case sensitive.

This defaults to false.

See also:
setCaseSensitive()

Definition at line 98 of file klistviewsearchline.cpp.

QPopupMenu * KListViewSearchLine::createPopupMenu (  )  [protected, virtual]

Re-implemented for internal reasons.

API not affected.

See QLineEdit::mousePressEvent().

Reimplemented from KLineEdit.

Definition at line 234 of file klistviewsearchline.cpp.

bool KListViewSearchLine::itemMatches ( const QListViewItem *  item,
const QString &  s 
) const [protected, virtual]

Returns true if item matches the search s.

This will be evaluated based on the value of caseSensitive(). This can be overridden in subclasses to implement more complicated matching schemes.

Definition at line 205 of file klistviewsearchline.cpp.

bool KListViewSearchLine::keepParentsVisible (  )  const

If this is true (the default) then the parents of matched items will also be shown.

See also:
setKeepParentsVisible()

Definition at line 108 of file klistviewsearchline.cpp.

KListView * KListViewSearchLine::listView (  )  const

Returns the listview that is currently filtered by the search.

See also:
setListView()

Definition at line 113 of file klistviewsearchline.cpp.

void KListViewSearchLine::queueSearch ( const QString &  search  )  [protected, slot]

When keys are pressed a new search string is created and a timer is activated.

The most recent search is activated when this timer runs out if another key has not yet been pressed.

This method makes

Parameters:
search the most recent search and starts the timer.
Together with activateSearch() this makes it such that searches are not started until there is a short break in the users typing.

See also:
activateSearch()

Definition at line 284 of file klistviewsearchline.cpp.

QValueList< int > KListViewSearchLine::searchColumns (  )  const

Returns the current list of columns that will be searched.

If the returned list is empty all visible columns will be searched.

See also:
setSearchColumns

Definition at line 103 of file klistviewsearchline.cpp.

void KListViewSearchLine::setCaseSensitive ( bool  cs  )  [slot]

Make the search case sensitive or case insensitive.

See also:
caseSenstive()

Definition at line 163 of file klistviewsearchline.cpp.

void KListViewSearchLine::setKeepParentsVisible ( bool  v  )  [slot]

When a search is active on a list that's organized into a tree view if a parent or ancesestor of an item is does not match the search then it will be hidden and as such so too will any children that match.

If this is set to true (the default) then the parents of matching items will be shown.

See also:
keepParentsVisible

Definition at line 168 of file klistviewsearchline.cpp.

void KListViewSearchLine::setListView ( KListView *  lv  )  [slot]

Sets the KListView that is filtered by this search line.

If lv is null then the widget will be disabled.

See also:
listView()

Definition at line 178 of file klistviewsearchline.cpp.

void KListViewSearchLine::setSearchColumns ( const QValueList< int > &  columns  )  [slot]

Sets the list of columns to be searched.

The default is to search all, visible columns which can be restored by passing columns as an empty list.

See also:
searchColumns

Definition at line 173 of file klistviewsearchline.cpp.

void KListViewSearchLine::updateSearch ( const QString &  s = QString::null  )  [virtual, slot]

Updates search to only make visible the items that match s.

If s is null then the line edit's text will be used.

Definition at line 122 of file klistviewsearchline.cpp.


The documentation for this class was generated from the following files:
  • klistviewsearchline.h
  • klistviewsearchline.cpp

kdeui

Skip menu "kdeui"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal