#include <kcombobox.h>
Inheritance diagram for KHistoryCombo:
Public Slots | |
void | addToHistory (const QString &item) |
void | clearHistory () |
Signals | |
void | cleared () |
Public Methods | |
KHistoryCombo (QWidget *parent=0L, const char *name=0L) | |
KHistoryCombo (bool useCompletion, QWidget *parent=0L, const char *name=0L) | |
~KHistoryCombo () | |
void | setHistoryItems (QStringList items) |
void | setHistoryItems (QStringList items, bool setCompletionList) |
QStringList | historyItems () const |
bool | removeFromHistory (const QString &item) |
void | setPixmapProvider (KPixmapProvider *prov) |
KPixmapProvider * | pixmapProvider () const |
void | reset () |
Protected Methods | |
virtual void | keyPressEvent (QKeyEvent *) |
void | insertItems (const QStringList &items) |
bool | useCompletion () const |
virtual void | virtual_hook (int id, void *data) |
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.
|
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 NoInsertion, 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.
|
|
Same as the previous constructor, but additionally has the option to specify whether you want to let KHistoryCombo handle completion or not. If set to |
|
Destructs the combo, the completion-object and the pixmap-provider |
|
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
If duplicatesEnabled() is false, any equal existing item will be removed before 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.
|
|
Emitted when the history was cleared by the entry in the popup menu. |
|
Clears the history and the completion list. |
|
Returns the list of history items. Empty, when this is not a read-write combobox.
|
|
Inserts Note: duplicatesEnabled() is not honored here. Called from setHistoryItems() and setPixmapProvider() |
|
Handling key-events, the shortcuts to rotate the items. |
|
|
|
Removes all items named
|
|
Resets the current position of the up/down history. Call this when you manually call setCurrentItem() or clearEdit(). |
|
Inserts
Set KConfig *config = kapp->config(); QStringList list; // load the history and completion list after creating the history combo list = config->readListEntry( "Completion list" ); combo->completionObject()->setItems( list ); list = config->readListEntry( "History list" ); combo->setHistoryItems( list ); [...] // save the history and completion list when the history combo is // destroyed 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 KHistoryCombo.
Note: When
|
|
Inserts
|
|
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 KHistoryComboBox. Implement it to return your own custom pixmaps, or use the KURLPixmapProvider from libkio, which uses KMimeType::pixmapForURL to resolve icons.
Set
|
|
|