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

KFile

KUrlNavigator Class Reference

Allows to navigate through the paths of an URL. More...

#include <kurlnavigator.h>

Inheritance diagram for KUrlNavigator:
QWidget

List of all members.

Public Slots

void requestActivation ()
void savePosition (int x, int y)
void saveRootUrl (const KUrl &url)
void setFocus ()
void setUrl (const KUrl &url)

Signals

void activated ()
void editableStateChanged (bool editable)
void historyChanged ()
void returnPressed ()
void urlChanged (const KUrl &url)
void urlsDropped (const KUrl &destination, QDropEvent *event)
void urlsDropped (const KUrl::List &urls, const KUrl &destination)

Public Member Functions

QStringList customProtocols () const
KUrlComboBox * editor () const
bool goBack ()
bool goForward ()
void goHome ()
bool goUp ()
int historyIndex () const
int historySize () const
KUrl historyUrl (int historyIndex) const
bool isActive () const
bool isPlacesSelectorVisible () const
bool isUrlEditable () const
 KUrlNavigator (KFilePlacesModel *placesModel, const KUrl &url, QWidget *parent)
QPoint savedPosition () const
const KUrl & savedRootUrl () const
void setActive (bool active)
void setCustomProtocols (const QStringList &protocols)
void setHomeUrl (const QString &homeUrl)
void setPlacesSelectorVisible (bool visible)
void setShowFullPath (bool show)
void setUrlEditable (bool editable)
bool showFullPath () const
KUrl uncommittedUrl () const
KUrl url (int index) const
const KUrl & url () const
virtual ~KUrlNavigator ()

Protected Member Functions

virtual bool eventFilter (QObject *watched, QEvent *event)
virtual void keyReleaseEvent (QKeyEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void resizeEvent (QResizeEvent *event)

Detailed Description

Allows to navigate through the paths of an URL.

The URL navigator offers two modes:

  • Editable: Represents the 'classic' mode, where the URL is editable inside a line editor. By pressing RETURN the URL will get activated.
  • Non editable ("breadcrumb view"): The URL is represented by a number of buttons, where each button represents a path of the URL. By clicking on a button the path will get activated. This mode also supports drag and drop of items.

The mode can be changed by clicking on the empty area of the URL navigator. It is recommended that the application remembers the setting or allows to configure the default mode (see KUrlNavigator::setUrlEditable()).

The URL navigator remembers the URL history during navigation and allows to go back and forward within this history.

In the non editable mode ("breadcrumb view") it can be configured whether the full path should be shown. It is recommended that the application remembers the setting or allows to configure the default mode (see KUrlNavigator::setShowFullPath()).

The typical usage of the KUrlNavigator is:

  • Create an instance providing a places model and an URL.
  • Create an instance of QAbstractItemView which shows the content of the URL given by the URL navigator.
  • Connect to the signal KUrlNavigator::urlChanged() and synchronize the content of QAbstractItemView with the URL given by the URL navigator.

Definition at line 65 of file kurlnavigator.h.


Constructor & Destructor Documentation

KUrlNavigator::KUrlNavigator ( KFilePlacesModel *  placesModel,
const KUrl &  url,
QWidget *  parent 
)
Parameters:
placesModel Model for the places which are selectable inside a menu. A place can be a bookmark or a device. If it is 0, there is no places selector displayed.
url URL which is used for the navigation or editing.
parent Parent widget.

Definition at line 761 of file kurlnavigator.cpp.

KUrlNavigator::~KUrlNavigator (  )  [virtual]

Definition at line 782 of file kurlnavigator.cpp.


Member Function Documentation

void KUrlNavigator::activated (  )  [signal]

Is emitted, if the URL navigator has been activated by a user interaction.

QStringList KUrlNavigator::customProtocols (  )  const

Returns the custom protocols if they are set, QStringList() otherwise.

Definition at line 1124 of file kurlnavigator.cpp.

void KUrlNavigator::editableStateChanged ( bool  editable  )  [signal]

Is emitted, if the editable state for the URL has been changed (see KUrlNavigator::setUrlEditable()).

KUrlComboBox * KUrlNavigator::editor (  )  const

Returns the used editor when the navigator is in the edit mode (see KUrlNavigator::setUrlEditable()).

Definition at line 1113 of file kurlnavigator.cpp.

bool KUrlNavigator::eventFilter ( QObject *  watched,
QEvent *  event 
) [protected, virtual]

Definition at line 1074 of file kurlnavigator.cpp.

bool KUrlNavigator::goBack (  ) 

Goes back one step in the URL history.

The signals KUrlNavigator::urlChanged() and KUrlNavigator::historyChanged() are emitted if true is returned. False is returned if the beginning of the history has already been reached and hence going back was not possible. The history index (see KUrlNavigator::historyIndex()) is increased by one if the operation was successful.

Definition at line 832 of file kurlnavigator.cpp.

bool KUrlNavigator::goForward (  ) 

Goes forward one step in the URL history.

The signals KUrlNavigator::urlChanged() and KUrlNavigator::historyChanged() are emitted if true is returned. False is returned if the end of the history has already been reached and hence going forward was not possible. The history index (see KUrlNavigator::historyIndex()) is decreased by one if the operation was successful.

Definition at line 846 of file kurlnavigator.cpp.

void KUrlNavigator::goHome (  ) 

Goes to the home URL and remembers the old URL in the history.

The signals KUrlNavigator::urlChanged() and KUrlNavigator::historyChanged() are emitted.

See also:
KUrlNavigator::setHomeUrl()

Definition at line 871 of file kurlnavigator.cpp.

bool KUrlNavigator::goUp (  ) 

Goes up one step of the URL path and remembers the old path in the history.

The signals KUrlNavigator::urlChanged() and KUrlNavigator::historyChanged() are emitted if true is returned. False is returned if going up was not possible as the root has been reached.

Definition at line 859 of file kurlnavigator.cpp.

void KUrlNavigator::historyChanged (  )  [signal]

Is emitted, if the history has been changed.

Usually the history is changed if a new URL has been selected.

int KUrlNavigator::historyIndex (  )  const

Returns the history index of the current URL, where 0 <= history index < KUrlNavigator::historySize().

As long as KUrlNavigator::goBack() is not invoked, the history index stays on 0.

Definition at line 1089 of file kurlnavigator.cpp.

int KUrlNavigator::historySize (  )  const

Returns the amount of items in the history.

Definition at line 1084 of file kurlnavigator.cpp.

KUrl KUrlNavigator::historyUrl ( int  historyIndex  )  const
Returns:
URL for the history element with the index historyIndex. The history index 0 represents the most recent URL.
Since:
4.3

Definition at line 1094 of file kurlnavigator.cpp.

bool KUrlNavigator::isActive (  )  const

Returns true, if the URL navigator is in the active mode.

See also:
KUrlNavigator::setActive()

Definition at line 922 of file kurlnavigator.cpp.

bool KUrlNavigator::isPlacesSelectorVisible (  )  const

Returns true, if the places selector is visible.

Definition at line 943 of file kurlnavigator.cpp.

bool KUrlNavigator::isUrlEditable (  )  const
Returns:
True, if the URL is editable within a line editor. If false is returned, each part of the URL is presented by a button for fast navigation ("breadcrumb view").

Definition at line 892 of file kurlnavigator.cpp.

void KUrlNavigator::keyReleaseEvent ( QKeyEvent *  event  )  [protected, virtual]

Definition at line 1047 of file kurlnavigator.cpp.

void KUrlNavigator::mouseReleaseEvent ( QMouseEvent *  event  )  [protected, virtual]

Definition at line 1055 of file kurlnavigator.cpp.

void KUrlNavigator::requestActivation (  )  [slot]

Activates the URL navigator (KUrlNavigator::isActive() will return true) and emits the signal KUrlNavigator::activated().

Definition at line 1029 of file kurlnavigator.cpp.

void KUrlNavigator::resizeEvent ( QResizeEvent *  event  )  [protected, virtual]

Definition at line 1068 of file kurlnavigator.cpp.

void KUrlNavigator::returnPressed (  )  [signal]

This signal is emitted when the Return or Enter key is pressed.

QPoint KUrlNavigator::savedPosition (  )  const

Returns the saved contents position of the upper left corner for the current URL.

Definition at line 1107 of file kurlnavigator.cpp.

const KUrl & KUrlNavigator::savedRootUrl (  )  const

Returns the saved root URL for the current URL (see KUrlNavigator::saveRootUrl()).

Definition at line 1101 of file kurlnavigator.cpp.

void KUrlNavigator::savePosition ( int  x,
int  y 
) [slot]

Saves the coordinates of the contents for the current history element.

The contents of the URL is usually shown inside an instance of QAbstractItemView. It is recommended to invoke this slot whenever the upper left position of the QAbstractItemView has been changed to be able to restore the position when going back in history.

See also:
KUrlNavigator::savedPosition()

Definition at line 1040 of file kurlnavigator.cpp.

void KUrlNavigator::saveRootUrl ( const KUrl &  url  )  [slot]

Saves the used root URL of the content for the current history element.

Saving the root URL might be useful if the item view is represented by a tree or columns, where it is mandatory to restore the root URL to iterating through the history.

Definition at line 1034 of file kurlnavigator.cpp.

void KUrlNavigator::setActive ( bool  active  ) 

Set the URL navigator to the active mode, if active is true.

The active mode is default. The inactive mode only differs visually from the active mode, no change of the behavior is given.

Using the URL navigator in the inactive mode is useful when having split views, where the inactive view is indicated by an inactive URL navigator visually.

Definition at line 911 of file kurlnavigator.cpp.

void KUrlNavigator::setCustomProtocols ( const QStringList &  protocols  ) 

If an application supports only some special protocols, they can be set with protocols .

Definition at line 1118 of file kurlnavigator.cpp.

void KUrlNavigator::setFocus (  )  [slot]

Definition at line 1129 of file kurlnavigator.cpp.

void KUrlNavigator::setHomeUrl ( const QString &  homeUrl  ) 

Sets the home URL used by KUrlNavigator::goHome().

If no home URL is set, the default home path of the user is used.

Definition at line 880 of file kurlnavigator.cpp.

void KUrlNavigator::setPlacesSelectorVisible ( bool  visible  ) 

Sets the places selector visible, if visible is true.

The places selector allows to select the places provided by the places model passed in the constructor. Per default the places selector is visible.

Definition at line 927 of file kurlnavigator.cpp.

void KUrlNavigator::setShowFullPath ( bool  show  ) 

Shows the full path of the URL even if a place represents a part of the URL.

Assuming that a place called "Pictures" uses the URL /home/user/Pictures. An URL like /home/user/Pictures/2008 is shown as [Pictures] > [2008] in the breadcrumb view, if showing the full path is turned off. If showing the full path is turned on, the URL is shown as [/] > [home] > [Pictures] > [2008].

Since:
4.2

Definition at line 897 of file kurlnavigator.cpp.

void KUrlNavigator::setUrl ( const KUrl &  url  )  [slot]

Sets the active URL to url.

The old URL is added to the history. The signals KUrlNavigator::urlChanged() and KUrlNavigator::historyChanged() are emitted.

Definition at line 948 of file kurlnavigator.cpp.

void KUrlNavigator::setUrlEditable ( bool  editable  ) 

Allows to edit the URL of the navigation bar if editable is true, and sets the focus accordingly.

If editable is false, each part of the URL is presented by a button for a fast navigation ("breadcrumb view").

Definition at line 885 of file kurlnavigator.cpp.

bool KUrlNavigator::showFullPath (  )  const
Returns:
True, if the full path of the URL should be shown in the breadcrumb view.
Since:
4.2

Definition at line 905 of file kurlnavigator.cpp.

KUrl KUrlNavigator::uncommittedUrl (  )  const

Returns the currently entered, but not accepted URL.

Attention: It is possible that the returned URL is not valid!

Definition at line 793 of file kurlnavigator.cpp.

KUrl KUrlNavigator::url ( int  index  )  const

Returns the portion of the current URL up to the path part given by index.

Assuming that the current URL is /home/peter/Documents/Music, then the following URLs are returned for an index:

  • index <= 0: /home
  • index is 1: /home/peter
  • index is 2: /home/peter/Documents
  • index >= 3: /home/peter/Documents/Music

Definition at line 802 of file kurlnavigator.cpp.

const KUrl & KUrlNavigator::url (  )  const

Returns the current URL.

Definition at line 787 of file kurlnavigator.cpp.

void KUrlNavigator::urlChanged ( const KUrl &  url  )  [signal]

Is emitted, if the URL has been changed e.

g. by the user.

See also:
KUrlNavigator::setUrl()
void KUrlNavigator::urlsDropped ( const KUrl &  destination,
QDropEvent *  event 
) [signal]

Is emitted if a dropping has been done above the destination destination.

The receiver must accept the drop event if the dropped data can be handled.

Since:
4.2
void KUrlNavigator::urlsDropped ( const KUrl::List &  urls,
const KUrl &  destination 
) [signal]

Is emitted if the URLs urls have been dropped to the destination destination.


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

KFile

Skip menu "KFile"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • 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
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
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