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
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)
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)
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)
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)
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)
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
- 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, |
|
|
|
QWidget |
parent=0 |
|
) |
|
|
|
- Returns:
- The custom protocols if they are set, QStringList() otherwise.
- Returns:
- The used editor when the navigator is in the edit mode
- See also:
- KUrlNavigator.setUrlEditable()
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.
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.
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()
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.
- 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.
- 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").
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
requestActivation |
( |
|
self ) |
|
Activates the URL navigator (KUrlNavigator.isActive() will return true)
and emits the signal KUrlNavigator.activated().
- See also:
- KUrlNavigator.setActive()
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.
- 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.
If an application supports only some special protocols, they can be set
with protocols .
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.
- 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.