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

KDEUI

KHistoryComboBox Class Reference

A combobox for offering a history and completion. More...

#include <khistorycombobox.h>

Inheritance diagram for KHistoryComboBox:

Inheritance graph
[legend]

List of all members.


Public Slots

void addToHistory (const QString &item)
void clearHistory ()

Signals

void cleared ()

Public Member Functions

QStringList historyItems () const
 KHistoryComboBox (bool useCompletion, QWidget *parent=0)
 KHistoryComboBox (QWidget *parent=0)
KPixmapProvider * pixmapProvider () const
bool removeFromHistory (const QString &item)
void reset ()
void setHistoryItems (const QStringList &items, bool setCompletionList)
void setHistoryItems (const QStringList &items)
void setPixmapProvider (KPixmapProvider *prov)
 ~KHistoryComboBox ()

Protected Member Functions

void insertItems (const QStringList &items)
virtual void keyPressEvent (QKeyEvent *)
bool useCompletion () const
virtual void wheelEvent (QWheelEvent *ev)

Properties

QStringList historyItems

Detailed Description

A combobox for offering a history and completion.

A combobox which implements a history like a unix shell. You can navigate through all the items by using the Up or Down arrows (configurable of course). Additionally, weighted completion is available. So you should load and save the completion list to preserve the weighting between sessions.

KHistoryComboBox obeys the HISTCONTROL environment variable to determine whether duplicates in the history should be tolerated in addToHistory() or not. During construction of KHistoryComboBox, duplicates will be disabled when HISTCONTROL is set to "ignoredups" or "ignoreboth". Otherwise, duplicates are enabled by default.

Author:
Carsten Pfeiffer <pfeiffer@kde.org>

Definition at line 46 of file khistorycombobox.h.


Constructor & Destructor Documentation

KHistoryComboBox::KHistoryComboBox ( QWidget *  parent = 0  )  [explicit]

Constructs a "read-write" combobox.

A read-only history combobox doesn't make much sense, so it is only available as read-write. Completion will be used automatically for the items in the combo.

The insertion-policy is set to NoInsert, you have to add the items yourself via the slot addToHistory. If you want every item added, use

 connect( combo, SIGNAL( activated( const QString& )),
          combo, SLOT( addToHistory( const QString& )));

Use QComboBox::setMaxCount() to limit the history.

parent the parent object of this widget.

Definition at line 66 of file khistorycombobox.cpp.

KHistoryComboBox::KHistoryComboBox ( bool  useCompletion,
QWidget *  parent = 0 
) [explicit]

Same as the previous constructor, but additionally has the option to specify whether you want to let KHistoryComboBox handle completion or not.

If set to true, KHistoryComboBox will sync the completion to the contents of the combobox.

Definition at line 73 of file khistorycombobox.cpp.

KHistoryComboBox::~KHistoryComboBox (  ) 

Destructs the combo, the completion-object and the pixmap-provider.

Definition at line 107 of file khistorycombobox.cpp.


Member Function Documentation

void KHistoryComboBox::addToHistory ( const QString &  item  )  [slot]

Adds an item to the end of the history list and to the completion list.

If maxCount() is reached, the first item of the list will be removed.

If the last inserted item is the same as item, it will not be inserted again.

If duplicatesEnabled() is false, any equal existing item will be removed before item is added.

Note: By using this method and not the Q and KComboBox insertItem() methods, you make sure that the combobox stays in sync with the completion. It would be annoying if completion would give an item not in the combobox, and vice versa.

See also:
removeFromHistory

QComboBox::setDuplicatesEnabled

Definition at line 183 of file khistorycombobox.cpp.

void KHistoryComboBox::cleared (  )  [signal]

Emitted when the history was cleared by the entry in the popup menu.

void KHistoryComboBox::clearHistory (  )  [slot]

Clears the history and the completion list.

Definition at line 163 of file khistorycombobox.cpp.

QStringList KHistoryComboBox::historyItems (  )  const

Returns the list of history items.

Empty, when this is not a read-write combobox.

See also:
setHistoryItems

void KHistoryComboBox::insertItems ( const QStringList &  items  )  [protected]

Inserts items into the combo, honoring pixmapProvider() Does not update the completionObject.

Note: duplicatesEnabled() is not honored here.

Called from setHistoryItems() and setPixmapProvider()

Definition at line 390 of file khistorycombobox.cpp.

void KHistoryComboBox::keyPressEvent ( QKeyEvent *  e  )  [protected, virtual]

Handling key-events, the shortcuts to rotate the items.

Definition at line 331 of file khistorycombobox.cpp.

KPixmapProvider * KHistoryComboBox::pixmapProvider (  )  const

Returns:
the current pixmap provider.
See also:
setPixmapProvider

KPixmapProvider

Definition at line 433 of file khistorycombobox.cpp.

bool KHistoryComboBox::removeFromHistory ( const QString &  item  ) 

Removes all items named item.

Returns:
true if at least one item was removed.
See also:
addToHistory

Definition at line 235 of file khistorycombobox.cpp.

void KHistoryComboBox::reset (  ) 

Resets the current position of the up/down history.

Call this when you manually call setCurrentItem() or clearEdit().

Definition at line 438 of file khistorycombobox.cpp.

void KHistoryComboBox::setHistoryItems ( const QStringList &  items,
bool  setCompletionList 
)

Inserts items into the combobox.

items might get truncated if it is longer than maxCount()

Set setCompletionList to true, if you don't have a list of completions. This tells KHistoryComboBox to use all the items for the completion object as well. You won't have the benefit of weighted completion though, so normally you should do something like

 KConfigGroup config(KGlobal::config(), "somegroup");

 // load the history and completion list after creating the history combo
 QStringList list;
 list = config.readEntry("Completion list", QStringList());
 combo->completionObject()->setItems(list);
 list = config.readEntry("History list", QStringList());
 combo->setHistoryItems(list);

 [...]

 // save the history and completion list when the history combo is
 // destroyed
 QStringList list;
 KConfigGroup config(KGlobal::config(), "somegroup");
 list = combo->completionObject()->items();
 config.writeEntry("Completion list", list);
 list = combo->historyItems();
 config.writeEntry("History list", list);

Be sure to use different names for saving with KConfig if you have more than one KHistoryComboBox.

Note: When setCompletionList is true, the items are inserted into the KCompletion object with mode KCompletion::Insertion and the mode is set to KCompletion::Weighted afterwards.

See also:
historyItems

KComboBox::completionObject

KCompletion::setItems

KCompletion::items

Definition at line 118 of file khistorycombobox.cpp.

void KHistoryComboBox::setHistoryItems ( const QStringList &  items  ) 

Inserts items into the combobox.

items might get truncated if it is longer than maxCount()

See also:
historyItems

Definition at line 113 of file khistorycombobox.cpp.

void KHistoryComboBox::setPixmapProvider ( KPixmapProvider *  prov  ) 

Sets a pixmap provider, so that items in the combobox can have a pixmap.

KPixmapProvider is just an abstract class with the one pure virtual method KPixmapProvider::pixmapFor(). This method is called whenever an item is added to the KHistoryComboBoxBox. Implement it to return your own custom pixmaps, or use the KUrlPixmapProvider from libkio, which uses KMimeType::pixmapForUrl to resolve icons.

Set prov to 0L if you want to disable pixmaps. Default no pixmaps.

See also:
pixmapProvider

Definition at line 372 of file khistorycombobox.cpp.

bool KHistoryComboBox::useCompletion (  )  const [protected]

Returns:
if we can modify the completion object or not.

Definition at line 158 of file khistorycombobox.cpp.

void KHistoryComboBox::wheelEvent ( QWheelEvent *  ev  )  [protected, virtual]

Handling wheel-events, to rotate the items.

Reimplemented from KComboBox.

Definition at line 347 of file khistorycombobox.cpp.


Property Documentation

QStringList KHistoryComboBox::historyItems [read, write]

Definition at line 49 of file khistorycombobox.h.


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

KDEUI

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
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