KDE 4.4 PyKDE API Reference

- KDE's Python API

# KUrlNavigator Class Reference

`from PyKDE4.kio import *`

Inherits: QWidget → QObject

## 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.

## Signals
| activated ()
| editableStateChanged (, bool editable)
| historyChanged ()
| returnPressed ()
| 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)
| activated (self)
QStringList | customProtocols (self)
| editableStateChanged (self, bool editable)
KUrlComboBox | editor (self)
bool | eventFilter (self, QObject watched, QEvent event)
bool | goBack (self)
bool | goForward (self)
| goHome (self)
bool | goUp (self)
| historyChanged (self)
int | historyIndex (self)
int | historySize (self)
KUrl | historyUrl (self, int historyIndex)
bool | isActive (self)
bool | isPlacesSelectorVisible (self)
bool | isUrlEditable (self)
| keyReleaseEvent (self, QKeyEvent event)
| mouseReleaseEvent (self, QMouseEvent event)
| requestActivation (self)
| resizeEvent (self, QResizeEvent event)
| returnPressed (self)
| 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)
| 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)
| urlChanged (self, KUrl url)
| urlsDropped (self, KUrl.List urls, KUrl destination)
| urlsDropped (self, KUrl destination, QDropEvent event)

## 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, there is no places selector displayed.
  | url | URL which is used for the navigation or editing.
  | parent | Parent widget.

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

activated | ( |  | self ) |

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

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

QStringList customProtocols | ( |  | self ) |

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

editableStateChanged | ( | self, |
|  | 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)`

KUrlComboBox editor | ( |  | self ) |

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

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

bool goBack | ( |  | self ) |

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.

bool goForward | ( |  | self ) |

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.

goHome | ( |  | self ) |

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()

bool goUp | ( |  | self ) |

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.

historyChanged | ( |  | self ) |

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)`

int historyIndex | ( |  | self ) |

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.

int historySize | ( |  | self ) |

Returns the amount of items in the history.

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

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

keyReleaseEvent | ( | self, |
|  | QKeyEvent | event
| ) |  |  |

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

requestActivation | ( |  | self ) |

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

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

returnPressed | ( |  | self ) |

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

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

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

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()

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

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.

QPoint savedPosition | ( |  | self ) |

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

KUrl savedRootUrl | ( |  | self ) |

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

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

Sets the home URL used by KUrlNavigator.goHome(). If no home URL is set, the default home path of the user is used.

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 active URL to url. The old URL is added to the history. The signals KUrlNavigator.urlChanged() and KUrlNavigator.historyChanged() are emitted.

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. Attention: 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

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

urlChanged | ( | self, |
|  | KUrl | url
| ) |  |  |

Is emitted, if the 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 | ( | self, |
|  | KUrl.List | urls,
|  | KUrl | destination
| ) |  |  |

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

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

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

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

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