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:

KComboBox QComboBox KCompletionBase List of all members.

Public Types

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

enum  OverLoadResolving
 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 Methods

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

 ~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 Methods

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.


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.

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(), QMap< int, const KURLComboItem * >::begin(), QComboBox::count(), QPtrListIterator::current(), QMap< int, const KURLComboItem * >::end(), getPixmap(), QMap< int, const KURLComboItem * >::insert(), 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  
 

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(), QMap< int, const KURLComboItem * >::clear(), 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 QMap< int, const KURLComboItem * >::begin(), QPtrListIterator::current(), QMap< int, const KURLComboItem * >::end(), 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.0.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Oct 8 12:21:37 2003 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2001