KUrlNavigator

KDE 4.5 PyKDE API Reference

- KDE's Python API

# KUrlNavigator Class Reference

`from PyKDE4.kio import *`

Inherits: QWidget → QObject

## Detailed Description

Widget that allows to navigate through the paths of an URL.

The URL navigator offers two modes: - Editable: Represents the 'classic' mode, where the URL of the location is editable inside a line editor. By pressing RETURN the URL will get activated. - Non editable ("breadcrumb view"): The URL of the location 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.

It is recommended, that the application remembers the state of the QAbstractItemView when the URL has been changed. This allows to restore the view state when going back in history. KUrlNavigator offers support for remembering the view state: - The signal urlAboutToBeChanged() will be emitted before the URL change takes places. This allows the application to store the view state by KUrlNavigator.saveLocationState(). - The signal urlChanged() will be emitted after the URL change took place. This allows the application to restore the view state by getting the values from KUrlNavigator.locationState().

## Signals
| activated ()
| editableStateChanged (bool editable)
| historyChanged ()
| returnPressed ()
| tabRequested (KUrl url)
| urlAboutToBeChanged (KUrl newUrl)
| urlChanged (KUrl url)
| urlsDropped (KUrl.List urls, KUrl destination)
| urlsDropped (KUrl destination, QDropEvent event)
## Methods
| __init__ (self, KFilePlacesModel placesModel, KUrl url, QWidget parent)
| __init__ (self, KUrlNavigator a0)
| __init__ (self, QWidget parent=0)
QStringList | customProtocols (self)
KUrlComboBox | editor (self)
bool | eventFilter (self, QObject watched, QEvent event)
bool | goBack (self)
bool | goForward (self)
| goHome (self)
bool | goUp (self)
int | historyIndex (self)
int | historySize (self)
KUrl | historyUrl (self, int historyIndex)
KUrl | homeUrl (self)
bool | isActive (self)
bool | isPlacesSelectorVisible (self)
bool | isUrlEditable (self)
| keyPressEvent (self, QKeyEvent event)
QByteArray | locationState (self, int historyIndex=-1)
KUrl | locationUrl (self, int historyIndex=-1)
| mouseReleaseEvent (self, QMouseEvent event)
| requestActivation (self)
| resizeEvent (self, QResizeEvent event)
| saveLocationState (self, QByteArray state)
| savePosition (self, int x, int y)
| saveRootUrl (self, KUrl url)
QPoint | savedPosition (self)
KUrl | savedRootUrl (self)
| setActive (self, bool active)
| setCustomProtocols (self, QStringList protocols)
| setFocus (self)
| setHomeUrl (self, QString homeUrl)
| setHomeUrl (self, KUrl url)
| setLocationUrl (self, KUrl url)
| setPlacesSelectorVisible (self, bool visible)
| setShowFullPath (self, bool show)
| setUrl (self, KUrl url)
| setUrlEditable (self, bool editable)
bool | showFullPath (self)
KUrl | uncommittedUrl (self)
KUrl | url (self)
KUrl | url (self, int index)

## Signal Documentation

activated | ( |  | ) |

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

See also:
  KUrlNavigator.setActive()

Signal syntax:
  `QObject.connect(source, SIGNAL("activated()"), target_slot)`

editableStateChanged | ( | bool | editable
| ) |  |  |

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

Signal syntax:
  `QObject.connect(source, SIGNAL("editableStateChanged(bool)"), target_slot)`

historyChanged | ( |  | ) |

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

Signal syntax:
  `QObject.connect(source, SIGNAL("historyChanged()"), target_slot)`

returnPressed | ( |  | ) |

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

Signal syntax:
  `QObject.connect(source, SIGNAL("returnPressed()"), target_slot)`

tabRequested | ( | KUrl | url
| ) |  |  |

Is emitted if the URL url should be opened in a new tab because the user clicked on a breadcrumb with the middle mouse button.

Since:
  4.5

Signal syntax:
  `QObject.connect(source, SIGNAL("tabRequested(const KUrl&)"), target_slot)`

urlAboutToBeChanged | ( | KUrl | newUrl
| ) |  |  |

Is emitted, before the location URL is going to be changed to newUrl. The signal KUrlNavigator.urlChanged() will be emitted after the change has been done. Connecting to this signal is useful to save the state of a view with KUrlNavigator.saveLocationState().

Since:
  4.5

Signal syntax:
  `QObject.connect(source, SIGNAL("urlAboutToBeChanged(const KUrl&)"), target_slot)`

urlChanged | ( | KUrl | url
| ) |  |  |

Is emitted, if the location URL has been changed e. g. by the user.

See also:
  KUrlNavigator.setUrl()

Signal syntax:
  `QObject.connect(source, SIGNAL("urlChanged(const KUrl&)"), target_slot)`

urlsDropped | ( | KUrl.List | urls,
|  | KUrl | destination
| ) |  |  |

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

Deprecated:
  Use KUrlNavigator.urlsDropped(const KUrl& destination, QDropEvent* event) instead.

Signal syntax:
  `QObject.connect(source, SIGNAL("urlsDropped(const KUrl::List&, const KUrl&)"), target_slot)`

urlsDropped | ( | KUrl | destination,
|  | QDropEvent | event
| ) |  |  |

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

Deprecated:
  Use KUrlNavigator.urlsDropped(const KUrl& destination, QDropEvent* event) instead.

Signal syntax:
  `QObject.connect(source, SIGNAL("urlsDropped(const KUrl&, QDropEvent*)"), target_slot)`

## Method Documentation

__init__ | ( | self, |
|  | KFilePlacesModel | placesModel,
|  | 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, no places selector is displayed.
  | url | URL which is used for the navigation or editing.
  | parent | Parent widget.

__init__ | ( | self, |
|  | KUrlNavigator | a0
| ) |  |  |

__init__ | ( | self, |
|  | QWidget | parent=0
| ) |  |  |

Since:
  4.5

QStringList customProtocols | ( |  | self ) |

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

KUrlComboBox editor | ( |  | self ) |

Returns:
  The used editor when the navigator is in the edit mode

See also:
  KUrlNavigator.setUrlEditable()

bool eventFilter | ( | self, |
|  | QObject | watched,
|  | QEvent | event
| ) |  |  |

bool goBack | ( |  | self ) |

Goes back one step in the URL history. The signals KUrlNavigator.urlAboutToBeChanged(), 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.

bool goForward | ( |  | self ) |

Goes forward one step in the URL history. The signals KUrlNavigator.urlAboutToBeChanged(), 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.

goHome | ( |  | self ) |

Goes to the home URL and remembers the old URL in the history. The signals KUrlNavigator.urlAboutToBeChanged(), KUrlNavigator.urlChanged() and KUrlNavigator.historyChanged() are emitted.

See also:
  KUrlNavigator.setHomeUrl()

bool goUp | ( |  | self ) |

Goes up one step of the URL path and remembers the old path in the history. The signals KUrlNavigator.urlAboutToBeChanged(), 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.

int historyIndex | ( |  | self ) |

Returns:
  The history index of the current location, where 0 <= history index < KUrlNavigator.historySize(). 0 is the most recent history entry.

int historySize | ( |  | self ) |

Returns:
  The amount of locations in the history. The data for each location can be retrieved by KUrlNavigator.locationUrl() and KUrlNavigator.locationState().

KUrl historyUrl | ( | self, |
|  | int | historyIndex
| ) |  |  |

Returns:
  URL for the history element with the index historyIndex. The history index 0 represents the most recent URL.

Since:
  4.3

Deprecated:
  Use KUrlNavigator.locationUrl(historyIndex) instead.

KUrl homeUrl | ( |  | self ) |

bool isActive | ( |  | self ) |

Returns:
  True, if the URL navigator is in the active mode.

See also:
  KUrlNavigator.setActive()

bool isPlacesSelectorVisible | ( |  | self ) |

Returns:
  True, if the places selector is visible.

bool isUrlEditable | ( |  | self ) |

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").

keyPressEvent | ( | self, |
|  | QKeyEvent | event
| ) |  |  |

QByteArray locationState | ( | self, |
|  | int | historyIndex=-1
| ) |  |  |

Returns:
  Location state given by historyIndex. If historyIndex is smaller than 0, the state of the current location is returned.

See also:
  KUrlNavigator.saveLocationState()

Since:
  4.5

KUrl locationUrl | ( | self, |
|  | int | historyIndex=-1
| ) |  |  |

Returns:
  URL of the location given by the historyIndex. If historyIndex is smaller than 0, the URL of the current location is returned.

Since:
  4.5

mouseReleaseEvent | ( | self, |
|  | QMouseEvent | event
| ) |  |  |

requestActivation | ( |  | self ) |

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

See also:
  KUrlNavigator.setActive()

resizeEvent | ( | self, |
|  | QResizeEvent | event
| ) |  |  |

saveLocationState | ( | self, |
|  | QByteArray | state
| ) |  |  |

Saves the location state described by state for the current location. It is recommended that at least the scroll position of a view is remembered and restored when traversing through the history. Saving the location state should be done when the signal KUrlNavigator.urlAboutToBeChanged() has been emitted. Restoring the location state (see KUrlNavigator.locationState()) should be done when the signal KUrlNavigator.urlChanged() has been emitted.

Example:

     QByteArray state;
     QDataStream data(&state, QIODevice.WriteOnly);
     data << QPoint(x, y);
     data << ...;
     ...
     urlNavigator.saveLocationState(state);

Since:
  4.5

savePosition | ( | self, |
|  | int | x,
|  | int | y
| ) |  |  |

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

Deprecated:
  Use KUrlNavigator.saveLocationState() instead.

saveRootUrl | ( | self, |
|  | KUrl | url
| ) |  |  |

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

Deprecated:
  Use KUrlNavigator.saveLocationState() instead.

QPoint savedPosition | ( |  | self ) |

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

Deprecated:
  Use KUrlNavigator.locationState() instead.

KUrl savedRootUrl | ( |  | self ) |

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

Deprecated:
  Use KUrlNavigator.locationState() instead.

setActive | ( | self, |
|  | 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.

setCustomProtocols | ( | self, |
|  | QStringList | protocols
| ) |  |  |

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

setFocus | ( |  | self ) |

setHomeUrl | ( | self, |
|  | QString | homeUrl
| ) |  |  |

Deprecated:
  Use setHomeUrl(const KUrl& url) instead.

setHomeUrl | ( | self, |
|  | KUrl | url
| ) |  |  |

Deprecated:
  Use setHomeUrl(const KUrl& url) instead.

setLocationUrl | ( | self, |
|  | KUrl | url
| ) |  |  |

Sets the location to url. The old URL is added to the history. The signals KUrlNavigator.urlAboutToBeChanged(), KUrlNavigator.urlChanged() and KUrlNavigator.historyChanged() are emitted. Use KUrlNavigator.locationUrl() to read the location.

Since:
  4.5

setPlacesSelectorVisible | ( | self, |
|  | 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.

setShowFullPath | ( | self, |
|  | 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

setUrl | ( | self, |
|  | KUrl | url
| ) |  |  |

Sets the location to url.

Deprecated:
  Use KUrlNavigator.setLocationUrl(url).

setUrlEditable | ( | self, |
|  | 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").

bool showFullPath | ( |  | self ) |

Returns:
  True, if the full path of the URL should be shown in the breadcrumb view.

Since:
  4.2

KUrl uncommittedUrl | ( |  | self ) |

Returns:
  The currently entered, but not accepted URL. It is possible that the returned URL is not valid.

KUrl url | ( |  | self ) |

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

Deprecated:
  It should not be necessary for a client of KUrlNavigator to query this information.

KUrl url | ( | self, |
|  | int | index
| ) |  |  |

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

Deprecated:
  It should not be necessary for a client of KUrlNavigator to query this information.