kio Library API Documentation

KURLBar Class Reference

KURLBar is a widget that displays icons together with a description. A URL-bar widget, as used in the KFileDialog. More...

#include <kurlbar.h>

Inheritance diagram for KURLBar:

QFrame List of all members.

Public Slots

virtual void setCurrentItem (const KURL &url)

Signals

void activated (const KURL &url)

Public Methods

 KURLBar (bool useGlobalItems, QWidget *parent=0, const char *name=0, WFlags f=0)
 ~KURLBar ()
virtual KURLBarIteminsertItem (const KURL &url, const QString &description, bool applicationLocal=true, const QString &icon=QString::null, KIcon::Group group=KIcon::Panel)
virtual KURLBarIteminsertDynamicItem (const KURL &url, const QString &description, const QString &icon=QString::null, KIcon::Group group=KIcon::Panel)
virtual void setOrientation (Qt::Orientation orient)
Orientation orientation () const
virtual void setListBox (KURLBarListBox *)
KURLBarListBoxlistBox () const
virtual void setIconSize (int size)
int iconSize () const
virtual void clear ()
virtual QSize sizeHint () const
virtual QSize minimumSizeHint () const
virtual void readConfig (KConfig *config, const QString &itemGroup)
virtual void writeConfig (KConfig *config, const QString &itemGroup)
virtual void readItem (int i, KConfig *config, bool applicationLocal)
virtual void writeItem (KURLBarItem *item, int i, KConfig *, bool global)
KURLBarItemcurrentItem () const
KURL currentURL () const
bool isModified () const
bool isImmutable () const
bool isVertical () const

Protected Slots

virtual void slotContextMenuRequested (QListBoxItem *, const QPoint &pos)
virtual void slotSelected (QListBoxItem *)
virtual void slotDropped (QDropEvent *)

Protected Methods

virtual bool addNewItem ()
virtual bool editItem (KURLBarItem *item)
virtual void resizeEvent (QResizeEvent *)
virtual void virtual_hook (int id, void *data)

Protected Attributes

KURLBarItemm_activeItem
bool m_useGlobal:1
bool m_isModified:1
bool m_isImmutable:1

Detailed Description

KURLBar is a widget that displays icons together with a description. A URL-bar widget, as used in the KFileDialog.

They can be arranged either horizontally or vertically. Clicking on an item will cause the activated() signal to be emitted. The user can edit existing items by choosing "Edit entry" in the contextmenu. He can also remove or add new entries (via drag&drop or the context menu).

KURLBar offers the methods readConfig() and writeConfig() to read and write the configuration of all the entries. It can differentiate between global and local entries -- global entries will be saved in the global configuration (kdeglobals), while local entries will be saved in your application's KConfig object.

Due to the configurability, you usually only insert some default entries once and then solely use the read and writeConfig methods to preserve the user's configuration.

The widget has a "current" item, that is visualized to differentiate it from others.

Author:
Carsten Pfeiffer <pfeiffer@kde.org>

Definition at line 230 of file kurlbar.h.


Constructor & Destructor Documentation

KURLBar::KURLBar bool    useGlobalItems,
QWidget   parent = 0,
const char *    name = 0,
WFlags    f = 0
 

Constructs a KURLBar.

Set useGlobalItems to true if you want to allow global/local item separation.

Definition at line 288 of file kurlbar.cpp.

References QWhatsThis::add(), isVertical(), and setListBox().

KURLBar::~KURLBar  
 

Destroys the KURLBar.

Definition at line 311 of file kurlbar.cpp.


Member Function Documentation

KURLBarItem * KURLBar::insertItem const KURL   url,
const QString   description,
bool    applicationLocal = true,
const QString   icon = QString::null,
KIcon::Group    group = KIcon::Panel
[virtual]
 

Inserts a new item into the KURLBar and returns the created KURLBarItem.

url the url of the item description the description of the item (shown in the view) applicationLocal whether this should be a global or a local item icon an icon -- if empty, the default icon for the url will be used group the icon-group for using icon-effects

Definition at line 316 of file kurlbar.cpp.

References KIcon::Group, QListBox::insertItem(), and KURLBarItem::setApplicationLocal().

Referenced by readItem(), and slotDropped().

KURLBarItem * KURLBar::insertDynamicItem const KURL   url,
const QString   description,
const QString   icon = QString::null,
KIcon::Group    group = KIcon::Panel
[virtual]
 

Inserts a new dynamic item into the KURLBar and returns the created KURLBarItem.

url the url of the item description the description of the item (shown in the view) icon an icon -- if empty, the default icon for the url will be used group the icon-group for using icon-effects

Since:
3.2

Definition at line 326 of file kurlbar.cpp.

References KIcon::Group, and QListBox::insertItem().

void KURLBar::setOrientation Qt::Orientation    orient [virtual]
 

The items can be arranged either vertically in one column or horizontally in one row.

See also:
orientation

Definition at line 334 of file kurlbar.cpp.

References isVertical(), and KURLBarListBox::setOrientation().

Referenced by setListBox().

Qt::Orientation KURLBar::orientation   const
 

Returns:
the current orientation mode.
See also:
setOrientation

Definition at line 345 of file kurlbar.cpp.

References KURLBarListBox::orientation().

Referenced by isVertical().

void KURLBar::setListBox KURLBarListBox   [virtual]
 

Allows to set a custom KURLBarListBox.

Note: The previous listbox will be deleted. Items of the previous listbox will not be moved to the new box.

See also:
listBox

Definition at line 350 of file kurlbar.cpp.

References QPalette::color(), QPalette::setColor(), setOrientation(), QListBox::setSelectionMode(), slotContextMenuRequested(), slotDropped(), and slotSelected().

Referenced by KURLBar().

KURLBarListBox* KURLBar::listBox   const [inline]
 

Returns:
the KURLBarListBox that is used.
See also:
setListBox

Definition at line 298 of file kurlbar.h.

void KURLBar::setIconSize int    size [virtual]
 

Sets the default iconsize to be used for items inserted with insertItem.

By default KIcon::SizeMedium.

See also:
iconsize

Definition at line 389 of file kurlbar.cpp.

References QListBox::firstItem(), KURLBarItem::icon(), KURLBarItem::iconGroup(), KURLBarItem::setIcon(), and sizeHint().

Referenced by slotContextMenuRequested().

int KURLBar::iconSize   const [inline]
 

Returns:
the default iconsize used for items inserted with insertItem. By default KIcon::SizeMedium
See also:
setIconSize

Definition at line 311 of file kurlbar.h.

Referenced by KURLBarItem::sizeHint().

void KURLBar::clear   [virtual]
 

Clears the view, removes all items.

Definition at line 407 of file kurlbar.cpp.

References QListBox::clear().

QSize KURLBar::sizeHint   const [virtual]
 

Returns:
a proper sizehint, depending on the orientation and the number of items available.

Definition at line 418 of file kurlbar.cpp.

References QListBox::firstItem(), QSize::height(), isVertical(), KURLBarItem::sizeHint(), and QSize::width().

Referenced by minimumSizeHint(), and setIconSize().

QSize KURLBar::minimumSizeHint   const [virtual]
 

Returns:
a proper minimum size (reimplemented)

Definition at line 460 of file kurlbar.cpp.

References QSize::height(), sizeHint(), and QSize::width().

void KURLBar::readConfig KConfig   config,
const QString   itemGroup
[virtual]
 

Call this method to read a saved configuration from config, inside the group itemGroup.

All items in there will be restored. The reading of every item is delegated to the readItem() method.

Definition at line 529 of file kurlbar.cpp.

References KGlobal::config(), m_isImmutable, and readItem().

void KURLBar::writeConfig KConfig   config,
const QString   itemGroup
[virtual]
 

Call this method to save the current configuration into config, inside the group iconGroup.

The writeItem() method is used to save each item.

Definition at line 566 of file kurlbar.cpp.

References KURLBarItem::applicationLocal(), QListBox::firstItem(), KURLBarItem::isPersistent(), m_isModified, m_useGlobal, and writeItem().

void KURLBar::readItem int    i,
KConfig   config,
bool    applicationLocal
[virtual]
 

Called from readConfig() to read the i'th from config.

After reading a KURLBarItem is created and initialized with the read values (as well as the given applicationLocal).

Definition at line 551 of file kurlbar.cpp.

References KURL::fromPathOrURL(), insertItem(), KProtocolInfo::isKnownProtocol(), KURL::isValid(), QString::number(), and KIO::number().

Referenced by readConfig().

void KURLBar::writeItem KURLBarItem   item,
int    i,
KConfig  ,
bool    global
[virtual]
 

Called from writeConfig() to save the KURLBarItem item as the i'th entry in the config-object.

global tell whether it should be saved in the global configuration or not (using KConfig::writeEntry( key, value, true, global ) ).

Definition at line 622 of file kurlbar.cpp.

References KURLBarItem::description(), KURLBarItem::icon(), KURLBarItem::iconGroup(), KURLBarItem::isPersistent(), QString::number(), KIO::number(), KURL::prettyURL(), and KURLBarItem::url().

Referenced by writeConfig().

KURLBarItem * KURLBar::currentItem   const
 

Returns:
the current KURLBarItem, or 0L if none.
See also:
setCurrentItem , currentURL

Definition at line 515 of file kurlbar.cpp.

References QListBox::currentItem(), and QListBox::item().

Referenced by currentURL().

KURL KURLBar::currentURL   const
 

Returns:
the url of the current item or an invalid url, if there is no current item.
See also:
currentItem , setCurrentItem

Definition at line 523 of file kurlbar.cpp.

References currentItem(), and KURLBarItem::url().

bool KURLBar::isModified   const [inline]
 

Returns:
true when the urlbar was modified by the user (e.g. by editing/adding/removing one or more entries). Will be reset to false after calling writeConfig().

Definition at line 375 of file kurlbar.h.

References m_isModified.

bool KURLBar::isImmutable   const [inline]
 

Returns:
true when the urlbar may not be modified by the user

Definition at line 380 of file kurlbar.h.

References m_isImmutable.

bool KURLBar::isVertical   const [inline]
 

Returns:
true if the bar is in vertical mode.

Definition at line 385 of file kurlbar.h.

References orientation().

Referenced by KURLBar(), setOrientation(), and sizeHint().

void KURLBar::setCurrentItem const KURL   url [virtual, slot]
 

Makes the item with the url url the current item.

Does nothing if no item with that url is available.

See also:
currentItem , currentURL

Definition at line 487 of file kurlbar.cpp.

References QListBox::clearSelection(), QListBox::firstItem(), m_activeItem, QListBoxItem::next(), QListBox::setCurrentItem(), QListBox::setSelected(), KURLBarItem::url(), and KURL::url().

Referenced by slotContextMenuRequested().

void KURLBar::activated const KURL   url [signal]
 

This signal is emitted when the user activated an item, e.g., by clicking on it.

Referenced by slotSelected().

bool KURLBar::addNewItem   [protected, virtual]
 

Pops up a KURLBarItemDialog to let the user add a new item.

Uses editItem() to do the job.

Returns:
false if the user aborted the dialog and no item is added.

Definition at line 721 of file kurlbar.cpp.

References editItem(), and QListBox::insertItem().

Referenced by slotContextMenuRequested().

bool KURLBar::editItem KURLBarItem   item [protected, virtual]
 

Pops up a KURLBarItemDialog to let the user edit the properties of item.

Invoked e.g. by addNewItem(), when the user drops a url onto the bar or from the contextmenu.

Returns:
false if the user aborted the dialog and item is not changed.

Definition at line 734 of file kurlbar.cpp.

References KURLBarItem::applicationLocal(), KURLBarItem::description(), KURLBarItemDialog::getInformation(), KURLBarItem::icon(), KURLBarItem::isPersistent(), m_isModified, m_useGlobal, KURLBarItem::setApplicationLocal(), KURLBarItem::setDescription(), KURLBarItem::setIcon(), KURLBarItem::setURL(), QListBox::triggerUpdate(), and KURLBarItem::url().

Referenced by addNewItem(), and slotContextMenuRequested().

void KURLBar::slotContextMenuRequested QListBoxItem  ,
const QPoint   pos
[protected, virtual, slot]
 

Reimplemented to show a contextmenu, allowing the user to add, edit or remove items, or change the iconsize.

Definition at line 666 of file kurlbar.cpp.

References addNewItem(), editItem(), QPopupMenu::exec(), QPopupMenu::insertItem(), QPopupMenu::insertSeparator(), KURLBarItem::isPersistent(), m_activeItem, m_isModified, setCurrentItem(), setIconSize(), KIcon::SizeMedium, KIcon::SizeSmall, QListBox::triggerUpdate(), and KURLBarItem::url().

Referenced by setListBox().

void KURLBar::slotSelected QListBoxItem   [protected, virtual, slot]
 

Called when an item has been selected.

Emits the activated() signal.

Definition at line 476 of file kurlbar.cpp.

References activated(), m_activeItem, QListBox::setCurrentItem(), and KURLBarItem::url().

Referenced by setListBox().

void KURLBar::slotDropped QDropEvent   [protected, virtual, slot]
 

Called when a url was dropped onto the bar to show a KURLBarItemDialog.

Definition at line 642 of file kurlbar.cpp.

References KURLDrag::decode(), KURLBarItemDialog::getInformation(), insertItem(), m_isModified, and m_useGlobal.

Referenced by setListBox().


Member Data Documentation

KURLBarItem* KURLBar::m_activeItem [protected]
 

The currently active item.

Definition at line 424 of file kurlbar.h.

Referenced by setCurrentItem(), slotContextMenuRequested(), and slotSelected().

bool KURLBar::m_useGlobal [protected]
 

Whether we support global entries or just local ones.

Definition at line 428 of file kurlbar.h.

Referenced by editItem(), slotDropped(), and writeConfig().

bool KURLBar::m_isModified [protected]
 

Whether the urlbar was modified by the user (e.g.

by editing/adding/removing an item).

Definition at line 434 of file kurlbar.h.

Referenced by editItem(), isModified(), slotContextMenuRequested(), slotDropped(), and writeConfig().

bool KURLBar::m_isImmutable [protected]
 

Whether the urlbar may be modified by the user.

If immutable is true, the urlbar can not be modified.

Definition at line 440 of file kurlbar.h.

Referenced by isImmutable(), and readConfig().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kio Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sun May 16 22:03:36 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003