kio Library API Documentation

KURLComboBox Class Reference

This combobox shows a number of recent URLs/directories, as well as some default directories. A combo box showing a number of recent URLs/directories. More...

#include <kurlcombobox.h>

Inheritance diagram for KURLComboBox:

Inheritance graph
[legend]
Collaboration diagram for KURLComboBox:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Mode { Files = -1, Directories = 1, Both = 0 }
 This enum describes which kind of items is shown in the combo box. More...

enum  OverLoadResolving { RemoveTop, RemoveBottom }
 This Enumeration is used in setURL() to determine which items will be removed when the given list is larger than maxItems(). More...


Signals

void urlActivated (const KURL &url)
 Emitted when an item was clicked at.


Public Member Functions

 KURLComboBox (Mode mode, QWidget *parent=0, const char *name=0)
 Constructs a KURLComboBox.

 KURLComboBox (Mode mode, bool rw, QWidget *parent=0, const char *name=0)
 ~KURLComboBox ()
 Destructs the combo box.

void setURL (const KURL &url)
 Sets the current url.

void setURLs (QStringList urls)
 Inserts urls into the combobox below the "default urls" (see addDefaultURL).

void setURLs (QStringList urls, OverLoadResolving remove)
 Inserts urls into the combobox below the "default urls" (see addDefaultURL).

QStringList urls () const
void setMaxItems (int)
 Sets how many items should be handled and displayed by the combobox.

int maxItems () const
void addDefaultURL (const KURL &url, const QString &text=QString::null)
 Adds a url that will always be shown in the combobox, it can't be "rotated away".

void addDefaultURL (const KURL &url, const QPixmap &pix, const QString &text=QString::null)
 Adds a url that will always be shown in the combobox, it can't be "rotated away".

void setDefaults ()
 Clears all items and inserts the default urls into the combo.

void removeURL (const KURL &url, bool checkDefaultURLs=true)
 Removes any occurence of url.


Protected Types

typedef _KURLComboItem KURLComboItem

Protected Slots

void slotActivated (int)

Protected Member Functions

void init (Mode mode)
void insertURLItem (const KURLComboItem *)
QPixmap getPixmap (const KURL &url) const
 Uses KMimeType::pixmapForURL() to return a proper pixmap for url.

void updateItem (const KURLComboItem *item, int index, const QPixmap &pix)
 Updates item with pixmap and sets the url instead of the text of the KURLComboItem.


Protected Attributes

QPtrList< KURLComboItem > itemList
QPtrList< KURLComboItem > defaultList
QMap< int, const KURLComboItem * > itemMapper
QPixmap opendirPix
int firstItemIndex

Detailed Description

This combobox shows a number of recent URLs/directories, as well as some default directories. A combo box showing a number of recent URLs/directories.

It will manage the default dirs root-directory, home-directory and Desktop-directory, as well as a number of URLs set via setURLs() and one additional entry to be set via setURL().

Author:
Carsten Pfeiffer <pfeiffer@kde.org>

Definition at line 41 of file kurlcombobox.h.


Member Enumeration Documentation

enum KURLComboBox::Mode
 

This enum describes which kind of items is shown in the combo box.

Definition at line 51 of file kurlcombobox.h.

enum KURLComboBox::OverLoadResolving
 

This Enumeration is used in setURL() to determine which items will be removed when the given list is larger than maxItems().

  • RemoveTop means that items will be removed from top
  • RemoveBottom means, that items will be removed from the bottom

Definition at line 59 of file kurlcombobox.h.


Constructor & Destructor Documentation

KURLComboBox::KURLComboBox Mode  mode,
QWidget parent = 0,
const char *  name = 0
 

Constructs a KURLComboBox.

Parameters:
mode is either Files, Directories or Both and controls the following behavior:
  • Files all inserted URLs will be treated as files, therefore the url shown in the combo will never show a trailing / the icon will be the one associated with the file's mimetype.
  • Directories all inserted URLs will be treated as directories, will have a trailing slash in the combobox. The current directory will show the "open folder" icon, other directories the "folder" icon.
  • Both Don't mess with anything, just show the url as given.

Definition at line 41 of file kurlcombobox.cpp.

References KStdAccel::name().

KURLComboBox::~KURLComboBox  ) 
 

Destructs the combo box.

Definition at line 56 of file kurlcombobox.cpp.


Member Function Documentation

void KURLComboBox::setURL const KURL url  ) 
 

Sets the current url.

This combo handles exactly one url additionally to the default items and those set via setURLs(). So you can call setURL() as often as you want, it will always replace the previous one set via setURL(). If url is already in the combo, the last item will stay there and the existing item becomes the current item. The current item will always have the open-directory-pixmap as icon.

Note that you won't receive any signals, e.g. textChanged(), returnPressed() or activated() upon calling this method.

Definition at line 199 of file kurlcombobox.cpp.

References QPtrList< KURLComboItem >::append(), QComboBox::count(), QPtrListIterator::current(), getPixmap(), QComboBox::insertItem(), KURL::isEmpty(), KURL::isLocalFile(), KURL::path(), KURL::prettyURL(), QPtrList< KURLComboItem >::removeLast(), KComboBox::setCurrentItem(), setDefaults(), QComboBox::text(), updateItem(), and KURL::url().

Referenced by KFileDialog::readConfig().

void KURLComboBox::setURLs QStringList  urls  ) 
 

Inserts urls into the combobox below the "default urls" (see addDefaultURL).

If the list of urls contains more items than maxItems, the first items will be stripped.

Definition at line 137 of file kurlcombobox.cpp.

Referenced by KFileDialog::readConfig(), and KFileDialog::readRecentFiles().

void KURLComboBox::setURLs QStringList  urls,
OverLoadResolving  remove
 

Inserts urls into the combobox below the "default urls" (see addDefaultURL).

If the list of urls contains more items than maxItems, the remove parameter determines whether the first or last items will be stripped.

Definition at line 142 of file kurlcombobox.cpp.

References QPtrList< KURLComboItem >::append(), QPtrList< KURLComboItem >::clear(), QPtrList< KURLComboItem >::count(), KURL::fromPathOrURL(), getPixmap(), KURL::isLocalFile(), KURL::path(), setDefaults(), and QComboBox::text().

QStringList KURLComboBox::urls  )  const
 

Returns:
a list of all urls currently handled. The list contains at most maxItems() items. Use this to save the list of urls in a config-file and reinsert them via setURLs() next time. Note that all default urls set via addDefaultURL() are not returned, they will automatically be set via setURLs() or setURL(). You will always get fully qualified urls, i.e. with protocol like file:/

Definition at line 81 of file kurlcombobox.cpp.

References QComboBox::count(), QPtrList< KURLComboItem >::count(), QString::isEmpty(), and QComboBox::text().

Referenced by KFileDialog::saveRecentFiles().

void KURLComboBox::setMaxItems int   ) 
 

Sets how many items should be handled and displayed by the combobox.

See also:
maxItems

Definition at line 281 of file kurlcombobox.cpp.

References QPtrList< KURLComboItem >::count(), QComboBox::count(), QPtrListIterator::current(), QComboBox::currentItem(), KComboBox::setCurrentItem(), and setDefaults().

Referenced by KFileDialog::readConfig(), and KFileDialog::readRecentFiles().

int KURLComboBox::maxItems  )  const [inline]
 

Returns:
the maximum of items the combobox handles.
See also:
setMaxItems

Definition at line 135 of file kurlcombobox.h.

void KURLComboBox::addDefaultURL const KURL url,
const QString text = QString::null
 

Adds a url that will always be shown in the combobox, it can't be "rotated away".

Default urls won't be returned in urls() and don't have to be set via setURLs(). If you want to specify a special pixmap, use the overloaded method with the pixmap parameter. Default URLs will be inserted into the combobox by setDefaults()

Definition at line 101 of file kurlcombobox.cpp.

References getPixmap().

void KURLComboBox::addDefaultURL const KURL url,
const QPixmap pix,
const QString text = QString::null
 

Adds a url that will always be shown in the combobox, it can't be "rotated away".

Default urls won't be returned in urls() and don't have to be set via setURLs(). If you don't need to specify a pixmap, use the overloaded method without the pixmap parameter. Default URLs will be inserted into the combobox by setDefaults()

Definition at line 107 of file kurlcombobox.cpp.

References QPtrList< KURLComboItem >::append(), QString::isEmpty(), KURL::isLocalFile(), KURL::path(), and KURL::prettyURL().

void KURLComboBox::setDefaults  ) 
 

Clears all items and inserts the default urls into the combo.

Will be called implicitly upon the first call to setURLs() or setURL()

See also:
addDefaultURL

Definition at line 125 of file kurlcombobox.cpp.

References QPtrList< KURLComboItem >::at(), QComboBox::clear(), and QPtrList< KURLComboItem >::count().

Referenced by removeURL(), setMaxItems(), setURL(), and setURLs().

void KURLComboBox::removeURL const KURL url,
bool  checkDefaultURLs = true
 

Removes any occurence of url.

If checkDefaultURLs is false default-urls won't be removed.

Definition at line 307 of file kurlcombobox.cpp.

References QPtrListIterator::current(), QPtrList< KURLComboItem >::remove(), setDefaults(), and KURL::url().

void KURLComboBox::urlActivated const KURL url  )  [signal]
 

Emitted when an item was clicked at.

Parameters:
url is the url of the now current item. If it is a local url, it won't have a protocol (file:/), otherwise it will.

QPixmap KURLComboBox::getPixmap const KURL url  )  const [protected]
 

Uses KMimeType::pixmapForURL() to return a proper pixmap for url.

In directory mode, a folder icon is always returned.

Definition at line 329 of file kurlcombobox.cpp.

References KMimeType::pixmapForURL().

Referenced by addDefaultURL(), setURL(), and setURLs().

void KURLComboBox::updateItem const KURLComboItem *  item,
int  index,
const QPixmap pix
[protected]
 

Updates item with pixmap and sets the url instead of the text of the KURLComboItem.

Also works around a Qt bug.

Definition at line 340 of file kurlcombobox.cpp.

References QComboBox::changeItem(), QComboBox::editable(), QComboBox::insertItem(), and QComboBox::removeItem().

Referenced by setURL().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:24:18 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001