• Skip to content
  • Skip to link menu
KDE 4.7 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

KFile

Public Slots | Signals | Public Member Functions
KUrlNavigator Class Reference

#include <kurlnavigator.h>

Inheritance diagram for KUrlNavigator:
Inheritance graph
[legend]

List of all members.

Public Slots

void requestActivation ()
void setLocationUrl (const KUrl &url)

Signals

void activated ()
void editableStateChanged (bool editable)
void historyChanged ()
void returnPressed ()
void tabRequested (const KUrl &url)
void urlAboutToBeChanged (const KUrl &newUrl)
void urlChanged (const KUrl &url)
void urlsDropped (const KUrl &destination, QDropEvent *event)

Public Member Functions

 KUrlNavigator (QWidget *parent=0)
 KUrlNavigator (KFilePlacesModel *placesModel, const KUrl &url, QWidget *parent)
virtual ~KUrlNavigator ()
QStringList customProtocols () const
KUrlComboBox * editor () const
bool goBack ()
bool goForward ()
void goHome ()
bool goUp ()
int historyIndex () const
int historySize () const
KUrl homeUrl () const
bool isActive () const
bool isPlacesSelectorVisible () const
bool isUrlEditable () const
QByteArray locationState (int historyIndex=-1) const
KUrl locationUrl (int historyIndex=-1) const
void saveLocationState (const QByteArray &state)
void setActive (bool active)
void setCustomProtocols (const QStringList &protocols)
void setHomeUrl (const KUrl &url)
void setPlacesSelectorVisible (bool visible)
void setShowFullPath (bool show)
void setUrlEditable (bool editable)
bool showFullPath () const
KUrl uncommittedUrl () const

Detailed Description

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

The URL navigator offers two modes:

  • Editable: The URL of the location is editable inside an 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().

Constructor & Destructor Documentation

KUrlNavigator::KUrlNavigator ( QWidget *  parent = 0)
Since:
4.5

Definition at line 809 of file kurlnavigator.cpp.

KUrlNavigator::KUrlNavigator ( KFilePlacesModel *  placesModel,
const KUrl &  url,
QWidget *  parent 
)
Parameters:
placesModelModel 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.
urlURL which is used for the navigation or editing.
parentParent widget.

Definition at line 816 of file kurlnavigator.cpp.

KUrlNavigator::~KUrlNavigator ( ) [virtual]

Definition at line 825 of file kurlnavigator.cpp.


Member Function Documentation

void KUrlNavigator::activated ( ) [signal]

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

See also:
KUrlNavigator::setActive()
QStringList KUrlNavigator::customProtocols ( ) const
Returns:
The custom protocols if they are set, QStringList() otherwise.

Definition at line 1200 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 also:
KUrlNavigator::setUrlEditable()

Definition at line 1189 of file kurlnavigator.cpp.

bool KUrlNavigator::goBack ( )

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.

Definition at line 847 of file kurlnavigator.cpp.

bool KUrlNavigator::goForward ( )

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.

Definition at line 865 of file kurlnavigator.cpp.

void KUrlNavigator::goHome ( )

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

Definition at line 894 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::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.

Definition at line 882 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 location, where 0 <= history index < KUrlNavigator::historySize(). 0 is the most recent history entry.

Definition at line 1184 of file kurlnavigator.cpp.

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

Definition at line 1179 of file kurlnavigator.cpp.

KUrl KUrlNavigator::homeUrl ( ) const

Definition at line 908 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 956 of file kurlnavigator.cpp.

bool KUrlNavigator::isPlacesSelectorVisible ( ) const
Returns:
True, if the places selector is visible.

Definition at line 977 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 920 of file kurlnavigator.cpp.

QByteArray KUrlNavigator::locationState ( int  historyIndex = -1) const
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

Definition at line 841 of file kurlnavigator.cpp.

KUrl KUrlNavigator::locationUrl ( int  historyIndex = -1) const
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

Definition at line 830 of file kurlnavigator.cpp.

void KUrlNavigator::requestActivation ( ) [slot]

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

See also:
KUrlNavigator::setActive()

Definition at line 1070 of file kurlnavigator.cpp.

void KUrlNavigator::returnPressed ( ) [signal]

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

void KUrlNavigator::saveLocationState ( const 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

Definition at line 836 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 939 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 1194 of file kurlnavigator.cpp.

void KUrlNavigator::setHomeUrl ( const KUrl &  url)

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

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

Since:
4.5

Definition at line 903 of file kurlnavigator.cpp.

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

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

Definition at line 994 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 961 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 925 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 913 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 933 of file kurlnavigator.cpp.

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

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
KUrl KUrlNavigator::uncommittedUrl ( ) const
Returns:
The currently entered, but not accepted URL. It is possible that the returned URL is not valid.

Definition at line 982 of file kurlnavigator.cpp.

void KUrlNavigator::urlAboutToBeChanged ( const KUrl &  newUrl) [signal]

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
void KUrlNavigator::urlChanged ( const KUrl &  url) [signal]

Is emitted, if the location 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

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

KFile

Skip menu "KFile"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.5
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