class KListView

This Widget extends the functionality of QListView to honor the system wide settings for Single Click/Double Click mode, AutoSelection and ChangeCursorOverLink (TM). More...

Definition#include <klistview.h>
InheritsQListView (qt) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Slots

Signals

Protected Methods

Protected Slots


Detailed Description

This Widget extends the functionality of QListView to honor the system wide settings for Single Click/Double Click mode, AutoSelection and ChangeCursorOverLink (TM).

There is a new signal executed(). It gets connected to either QListView::clicked() or QListView::doubleClicked() depending on the KDE wide Single Click/Double Click settings. It is strongly recommended that you use this signal instead of the above mentioned. This way you donīt need to care about the current settings. If you want to get informed when the user selects something connect to the QListView::selectionChanged() signal.

Drag-and-Drop is supported with the signal dropped(), just setAcceptDrops(true) and connect it to a suitable slot. To see where you are dropping, setDropVisualizer(true). And also you'll need acceptDrag(QDropEvent*)

KListView is drag-enabled, too: to benefit from that you've got derive from it. Reimplement dragObject() and (possibly) startDrag(), and setDragEnabled(true).

enum SelectionModeExt { Single = QListView::Single, Multi = QListView::Multi, Extended = QListView::Extended, NoSelection = QListView::NoSelection, FileManager }

SelectionModeExt

Possible selection modes.

The first four correspond directly to QListView::SelectionMode, while the FileManager selection mode is defined as follows:

The combinations work the same with SHIFT instead of CTRL, except that if you start selecting something using SHIFT everything selected before will be deselected first.

Additionally the current item is always selected automatically when navigating using the keyboard, except other items were selected explicitely.

This way e.g. SHIFT+up/PgUp then SHIFT+down/PgDn leaves no item selected

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

KListView

Constructor.

The parameters parent and name are handled by QListView, as usual.

 ~KListView ()

~KListView

[virtual]

Destructor.

void  setAcceptDrops (bool)

setAcceptDrops

[virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

bool  isExecuteArea ( const QPoint& point )

isExecuteArea

[virtual]

This function determines whether the given coordinates are within the execute area. The execute area is the part of a QListViewItem where mouse clicks or double clicks respectively generate a executed() signal. Depending on QListView::allColumnsShowFocus() this is either the whole item or only the first column.

Returns: true if point is inside execute area of an item, false in all other cases including the case that it is over the viewport.

bool  isExecuteArea ( int x )

isExecuteArea

Same thing, but from an x coordinate only. This only checks if x is in the first column (if all columns don't show focus), without testing if the y coordinate is over an item or not.

QPtrList<QListViewItem>  selectedItems ()

selectedItems

[const]

Returns: a list containing the currently selected items.

void  moveItem (QListViewItem *item, QListViewItem *parent, QListViewItem *after)

moveItem

Arbitrarily move item to parent, positioned immediately after item after.

QListViewItemlastItem ()

lastItem

[const]

Returns: the last item (not child!) of this listview.

See also: lastChild()

QListViewItem*  lastChild ()

lastChild

[const]

Returns: the last child of this listview.

bool  itemsMovable ()

itemsMovable

[const]

Returns: if it is legal to move items in the list view

bool  itemsRenameable ()

itemsRenameable

[const]

Returns: whether inplace-renaming has been enabled.

See also: setItemsRenameable()

bool  dragEnabled ()

dragEnabled

[const]

Returns: whether dragging is enabled.

bool  autoOpen ()

autoOpen

[const]

Returns: true if AutoOpen is enabled (not implemented currently).

See also: setAutoOpen()

bool  isRenameable (int column)

isRenameable

[const]

Returns: true if column is renamable.

bool  dropVisualizer ()

dropVisualizer

[const]

Returns: true if drawing of the drop-visualizer has been enabled.

int  tooltipColumn ()

tooltipColumn

[const]

Returns: the column for which tooltips are displayed (or -1 if none set).

bool  createChildren ()

createChildren

[const]

For future expansions.

Do not use.

bool  dropHighlighter ()

dropHighlighter

[const]

Returns: true if drawing of the drop-highlighter has been enabled.

int  dropVisualizerWidth ()

dropVisualizerWidth

[const]

The dropVisualizerWidth defaults to 4.

Returns: the current width of the drop-visualizer.

SelectionModeExt  selectionModeExt ()

selectionModeExt

[const]

Returns: the "extended" selection mode of this listview.

See also: SelectionModeExt, setSelectionModeExt

int  itemIndex ( const QListViewItem *item )

itemIndex

[const]

Returns the index of item within the item tree or -1 if item doesn't exist in this list view. This function takes all items into account not only the visible ones.

QListViewItem*  itemAtIndex (int index)

itemAtIndex

Returns the item of index within the item tree or 0 if index doesn't exist in this list view. This function takes all items into account not only the visible ones.

void  setFullWidth ()

setFullWidth

void  setFullWidth (bool fullWidth)

setFullWidth

Let the last column fit exactly all the available width.

bool  fullWidth ()

fullWidth

[const]

Returns whether the last column is set to fit the available width.

int  addColumn (const QString& label, int width = -1)

addColumn

[virtual]

Reimplemented for full width support

int  addColumn (const QIconSet& iconset, const QString& label, int width = -1)

addColumn

[virtual]

Reimplemented for full width support

void  removeColumn (int index)

removeColumn

[virtual]

Reimplemented for full width support

void  setAlternateBackground (const QColor &c)

setAlternateBackground

sets the alternate background background color. This only has an effect if the items are KListViewItems

Parameters:
cthe color to use for every other item. Set to an invalid colour to disable alternate colours.

const QColoralternateBackground ()

alternateBackground

[const]

Returns: the alternate background color

void  saveLayout (KConfig *config, const QString &group)

saveLayout

[const]

Saves the list view's layout (column widtsh, column order, sort column) to a KConfig group

Parameters:
configthe KConfig object to write to
groupthe config group to use

void  restoreLayout (KConfig *config, const QString &group)

restoreLayout

Reads the list view's layout from a KConfig group as stored with saveLayout

Parameters:
configthe KConfig object to read from
groupthe config group to use

void  setSorting (int column, bool ascending = true)

setSorting

[virtual]

Reimplemented to remember the current sort column and order

int  columnSorted (void)

columnSorted

[const]

Returns: the currently sorted column, or -1 if none is sorted

bool  ascendingSort (void)

ascendingSort

[const]

Returns: whether the current sort is ascending (or descending)

void  executed ( QListViewItem *item )

executed

[signal]

This signal is emitted whenever the user executes an listview item. That means depending on the KDE wide Single Click/Double Click setting the user clicked or double clicked on that item.

Note that you may not delete any QListViewItem objects in slots connected to this signal.

Parameters:
itemis the pointer to the executed listview item.

void  executed ( QListViewItem *item, const QPoint &pos, int c )

executed

[signal]

This signal is emitted whenever the user executes an listview item. That means depending on the KDE wide Single Click/Double Click setting the user clicked or double clicked on that item.

Note that you may not delete any QListViewItem objects in slots connected to this signal.

Parameters:
itemis the pointer to the executed listview item.
posis the position where the user has clicked
cis the column into which the user clicked.

void  doubleClicked ( QListViewItem *item, const QPoint &pos, int c )

doubleClicked

[signal]

This signal gets emitted whenever the user double clicks into the listview.

Note that you may not delete any QListViewItem objects in slots connected to this signal.

This signal is more or less here for the sake of completeness. You should normally not need to use this. In most cases itīs better to use executed() instead.

Parameters:
itemis the pointer to the clicked listview item.
posis the position where the user has clicked, and
cis the column into which the user clicked.

void  dropped (QDropEvent * e, QListViewItem *after)

dropped

[signal]

This signal gets emitted whenever something acceptable is dropped onto the listview.

Parameters:
eis the drop event itself (it has already been accepted)
afteris the item after which the drop occured (or 0L, if the drop was above all items)

See also: acceptDrop()

void  dropped (KListView* list, QDropEvent* e, QListViewItem* after)

dropped

[signal]

This signal gets emitted whenever something acceptable is dropped onto the listview.

This is an overloaded version of the above (provided to simplify processing drops outside of the class).

Parameters:
listis the listview
eis the drop event itself (it has already been accepted)
afteris the item after which the drop occured (or 0L, if the drop was above all items

void  dropped (KListView* list, QDropEvent* e, QListViewItem* parent, QListViewItem* after)

dropped

[signal]

This signal gets emitted whenever something acceptable is dropped onto the listview.

This function also provides a parent, in the event that your listview is a tree

Parameters:
listis the listview
eis the drop event itself (it has already been accepted)
parentthe item that is to be the parent of the new item
afteris the item after which the drop occured (or 0L, if the drop was above all items

void  dropped (QDropEvent* e, QListViewItem* parent, QListViewItem* after)

dropped

[signal]

This signal gets emitted whenever something acceptable is dropped onto the listview.

This function also provides a parent, in the event that your listview is a tree

Parameters:
eis the drop event itself (it has already been accepted)
parentthe item that is to be the parent of the new item
afteris the item after which the drop occured (or 0L, if the drop was above all items

void  moved ()

moved

[signal]

This signal is emitted when ever the user moves an item in the list via DnD. If more than one item is moved at the same time, this signal is only emitted once.

void  aboutToMove ()

aboutToMove

[signal]

Connect to this signal if you want to do some preprocessing before a move is made, for example, to disable sorting

This is sent only once per each groups of moves. That is, for each drop that is a move this will be emitted once, before KListView calls moveItem()

void  moved (QListViewItem *item, QListViewItem *afterFirst, QListViewItem *afterNow)

moved

[signal]

This signal is emitted when ever the user moves an item in the list via DnD. If more than one item is moved at the same time, afterFirst and afterNow will reflect what was true before the move. This differs from moved(), so be careful. All the items will have been moved before moved() is emitted, which is not true in this method. // FIXME

Parameters:
itemthe item that was moved
afterFirstthe item that parameter item was in before the move, in the list
afterNowthe item it's currently after.

void  moved (QPtrList<QListViewItem> &items, QPtrList<QListViewItem> &afterFirst, QPtrList<QListViewItem> &afterNow)

moved

[signal]

This signal is emitted after all the items have been moved. It reports info for each and every item moved, in order. The first element in items associates with the first of afterFirst and afterNow.

void  itemRenamed (QListViewItem* item, const QString &str, int col)

itemRenamed

[signal]

This signal gets emitted when an item is renamed via in-place renaming.

Parameters:
itemis the renamed item.
stris the new value of column col.
colis the renamed column.

void  itemRenamed (QListViewItem* item)

itemRenamed

[signal]

Same as above, but without the extra information.

void  menuShortCutPressed (KListView* list, QListViewItem* item)

menuShortCutPressed

[signal]

This signal is emitted when the shortcut key for popup-menus is pressed.

Normally you should not use this, just connect a slot to signal contextMenu (KListView*, QListViewItem*, const QPoint&) to correctly handle showing context menus regardless of settings.

Parameters:
listis this listview.
itemis the currentItem() at the time the key was pressed. May be 0L.

void  contextMenu (KListView* l, QListViewItem* i, const QPoint& p)

contextMenu

[signal]

This signal is emitted whenever a context-menu should be shown for item i. It automatically adjusts for all settings involved (Menu key, showMenuOnPress/Click).

Parameters:
lis this listview.
iis the item for which the menu should be shown. May be 0L.
pis the point at which the menu should be shown.

void  rename (QListViewItem *item, int c)

rename

[virtual slot]

Rename column c of item.

void  setRenameable (int column, bool yesno=true)

setRenameable

[slot]

By default, if you called setItemsRenameable(true), only the first column is renameable. Use this function to enable the feature on other columns.

If you want more intelligent (dynamic) selection, you'll have to derive from KListView, and override rename() and call only call it if you want the item to be renamed.

void  setItemsMovable (bool b)

setItemsMovable

[virtual slot]

Set whether items in the list view can be moved. It is enabled by default.

See also: itemsMovable()

void  setItemsRenameable (bool b)

setItemsRenameable

[virtual slot]

Enables inplace-renaming of items. It is disabled by default.

See also: itemsRenameable(), setRenameable()

void  setDragEnabled (bool b)

setDragEnabled

[virtual slot]

Enable/Disable the dragging of items. It is disabled by default.

void  setAutoOpen (bool b)

setAutoOpen

[virtual slot]

Enable/Disable AutoOpen (not implemented currently).

void  setDropVisualizer (bool b)

setDropVisualizer

[virtual slot]

Enable/Disable the drawing of a drop-visualizer (a bar that shows where a dropped item would be inserted). It is enabled by default, if dragging is enabled

void  setDropVisualizerWidth (int w)

setDropVisualizerWidth

[slot]

Set the width of the (default) drop-visualizer. If you don't call this method, the width is set to 4.

void  setTooltipColumn (int column)

setTooltipColumn

[virtual slot]

Set which column should be used for automatic tooltips.

Parameters:
columnis the column for which tooltips will be shown. Set -1 to disable this feature.

void  setDropHighlighter (bool b)

setDropHighlighter

[virtual slot]

Enable/Disable the drawing of a drop-highlighter (a rectangle around the item under the mouse cursor). It is disabled by default.

void  setCreateChildren (bool b)

setCreateChildren

[virtual slot]

For future expansions.

Do not use.

void  setSelectionModeExt (SelectionModeExt mode)

setSelectionModeExt

[slot]

Set the selection mode.

A different name was chosen to avoid API-clashes with QListView::setSelectionMode().

inline bool  below (const QRect& rect, const QPoint& p)

below

[protected]

Determine whether a drop on position p would count as being above or below the QRect rect.

Parameters:
rectis the rectangle we examine.
pis the point located in the rectangle, p is assumed to be in viewport coordinates.

inline bool  below (QListViewItem* i, const QPoint& p)

below

[protected]

An overloaded version of below(const QRect&, const QPoint&).

It differs from the above only in what arguments it takes.

Parameters:
ithe item whose rect() is passed to the above function.
pis translated from contents coordinates to viewport coordinates before being passed to the above function.

bool  event ( QEvent * )

event

[protected virtual]

Reimplemented to reload the alternate background in palette changes.

void  emitExecute ( QListViewItem *item, const QPoint &pos, int c )

emitExecute

[protected]

Emit signal executed.

void  focusInEvent (QFocusEvent* fe)

focusInEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  focusOutEvent ( QFocusEvent *fe )

focusOutEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  leaveEvent ( QEvent *e )

leaveEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

QString  tooltip (QListViewItem* item, int column)

tooltip

[protected const virtual]

Returns: the tooltip for column of item.

bool  showTooltip (QListViewItem *item, const QPoint &pos, int column)

showTooltip

[protected const virtual]

Returns: whether the tooltip for column of item shall be shown at point pos.

void  contentsDragMoveEvent (QDragMoveEvent *event)

contentsDragMoveEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  contentsMousePressEvent ( QMouseEvent *e )

contentsMousePressEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  contentsMouseMoveEvent ( QMouseEvent *e )

contentsMouseMoveEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  contentsMouseDoubleClickEvent ( QMouseEvent *e )

contentsMouseDoubleClickEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  contentsDragLeaveEvent (QDragLeaveEvent *event)

contentsDragLeaveEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  contentsMouseReleaseEvent (QMouseEvent*)

contentsMouseReleaseEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  contentsDropEvent (QDropEvent*)

contentsDropEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  contentsDragEnterEvent (QDragEnterEvent *)

contentsDragEnterEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

QDragObjectdragObject ()

dragObject

[protected virtual]

Returns: a dragobject encoding the current selection.

See also: setDragEnabled()

bool  acceptDrag (QDropEvent* event)

acceptDrag

[protected const virtual]

Returns: true if the event provides some acceptable format. A common mistake is to forget the "const" in your reimplementation

QRect  drawDropVisualizer (QPainter *p, QListViewItem *parent, QListViewItem *after)

drawDropVisualizer

[protected virtual]

Paint the drag line. If painter is null, don't try to :)

If after == 0 then the marker should be drawn at the top.

Returns: the rectangle that you painted to.

QRect  drawItemHighlighter (QPainter *painter, QListViewItem *item)

drawItemHighlighter

[protected virtual]

Paint the drag rectangle. If painter is null, don't try to :)

Returns: the rectangle that you painted to.

void  startDrag ()

startDrag

[protected virtual]

This method calls dragObject() and starts the drag.

Reimplement it to do fancy stuff like setting a pixmap or using a non-default DragMode

void  keyPressEvent (QKeyEvent*)

keyPressEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  viewportPaintEvent (QPaintEvent*)

viewportPaintEvent

[protected virtual]

Reimplemented for internal reasons. Further reimplementations should call this function or else some features may not work correctly.

The API is unaffected.

void  activateAutomaticSelection ()

activateAutomaticSelection

[protected]

In FileManager selection mode: explicitely activate the mode in which the current item is automatically selected.

void  deactivateAutomaticSelection ()

deactivateAutomaticSelection

[protected]

In FileManager selection mode: explicitely deactivate the mode in which the current item is automatically selected.

bool  automaticSelection ()

automaticSelection

[protected const]

In FileManager selection mode: return whether it is currently in the mode where the current item is selected automatically. Returns false if items were selected explicitely, e.g. using the mouse.

void  viewportResizeEvent (QResizeEvent* e)

viewportResizeEvent

[protected virtual]

Reimplemented for setFullWidth()

void  slotSettingsChanged (int)

slotSettingsChanged

[protected slots slot]

Update internal settings whenever the global ones change.

void  slotMouseButtonClicked ( int btn, QListViewItem *item, const QPoint &pos, int c )

slotMouseButtonClicked

[protected slots slot]

void  doneEditing (QListViewItem *item, int row)

doneEditing

[protected slots slot]

void  cleanDropVisualizer ()

cleanDropVisualizer

[protected slots slot]

Repaint the rect where I was drawing the drop line.

void  cleanItemHighlighter ()

cleanItemHighlighter

[protected slots slot]

Repaint the rect where I was drawing the drop rectangle.

void  emitContextMenu (QListViewItem*, const QPoint&, int)

emitContextMenu

[protected slots slot]

Emit the contextMenu signal. This slot is for mouse actions.

void  emitContextMenu (KListView*, QListViewItem*)

emitContextMenu

[protected slots slot]

Emit the contextMenu signal. This slot is for key presses.

void  slotOnItem ( QListViewItem *item )

slotOnItem

[protected slots slot]

Accessory slot for AutoSelect

void  slotOnViewport ()

slotOnViewport

[protected slots slot]

Accessory slot for AutoSelect/ChangeCursorOverItem

void  slotAutoSelect ()

slotAutoSelect

[protected slots slot]

Process AutoSelection.

void  slotHeaderChanged ()

slotHeaderChanged

[protected slots slot]

Reacts to header changes in full width mode

void  movableDropEvent (QListViewItem* parent, QListViewItem* afterme)

movableDropEvent

[protected virtual]

Handle dropEvent when itemsMovable() is set to true.

void  findDrop (const QPoint &pos, QListViewItem *&parent, QListViewItem *&after)

findDrop

[protected virtual]

Where is the nearest QListViewItem that I'm going to drop?

void  fileManagerKeyPressEvent (QKeyEvent*)

fileManagerKeyPressEvent

[protected]

A special keyPressEvent (for FileManager selection mode).

int  depthToPixels ( int depth )

depthToPixels

[protected]

Convert the depth of an item into its indentation in pixels

void  virtual_hook ( int id, void* data )

virtual_hook

[protected virtual]