# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# KURLRequester Class Reference

This class is a widget showing a lineedit and a button, which invokes a filedialog. A widget to request a filename/url from the user. More...

`#include <kurlrequester.h>`

Inheritance diagram for KURLRequester:

[legend]
Collaboration diagram for KURLRequester:

[legend]
List of all members.

## Public Slots

void | setURL (const QString &url)
| Sets the url in the lineedit to `url`.
virtual void | setCaption (const QString &caption)
| Sets the caption of the file dialog.
void | clear ()
| Clears the lineedit/combobox.

## Signals

void | textChanged (const QString &)
| Emitted when the text in the lineedit changes.
void | returnPressed ()
| Emitted when return or enter was pressed in the lineedit.
void | returnPressed (const QString &)
| Emitted when return or enter was pressed in the lineedit.
void | openFileDialog (KURLRequester *)
| Emitted before the filedialog is going to open.
void | urlSelected (const QString &)
| Emitted when the user changed the URL via the file dialog.

## Public Member Functions

| KURLRequester (QWidget *parent=0, const char *name=0)
| Constructs a KURLRequester widget.
| KURLRequester (const QString &url, QWidget *parent=0, const char *name=0)
| Constructs a KURLRequester widget with the initial URL `url`.
| KURLRequester (QWidget *editWidget, QWidget *parent, const char *name=0)
| Special constructor, which creates a KURLRequester widget with a custom edit-widget.
| ~KURLRequester ()
| Destructs the KURLRequester.
QString | url () const
void | setShowLocalProtocol (bool b)
| Enables/disables showing file:/ in the lineedit, when a local file has been selected in the filedialog or was set via setURL().
void | setMode (unsigned int m)
| Sets the mode of the file dialog.
void | setFilter (const QString &filter)
| Sets the filter for the file dialog.
bool | showLocalProtocol () const
virtual KFileDialog * | fileDialog () const
KLineEdit * | lineEdit () const
KComboBox * | comboBox () const
KPushButton * | button () const
KURLCompletion * | completionObject () const
KEditListBox::CustomEditor | customEditor ()

## Protected Slots

void | slotOpenDialog ()
| Called when the button is pressed to open the filedialog.

## Protected Member Functions

void | init ()
virtual void | virtual_hook (int id, void *data)

## Protected Attributes

KURLCompletion * | myCompletion

## Detailed Description

This class is a widget showing a lineedit and a button, which invokes a filedialog. A widget to request a filename/url from the user.

File name completion is available in the lineedit.

The defaults for the filedialog are to ask for one existing local file, i.e. KFileDialog::setMode( KFile::File | KFile::ExistingOnly | KFile::LocalOnly ) The default filter is "*", i.e. show all files, and the start directory is the current working directory, or the last directory where a file has been selected.

You can change this behavior by using setMode() or setFilter().

Author:
  Carsten Pfeiffer <pfeiffer@kde.org>

Definition at line 54 of file kurlrequester.h.

## Constructor & Destructor Documentation

KURLRequester::KURLRequester | ( | QWidget * | parent = 0,
|  | const char * | name = 0
| ) |

| Constructs a KURLRequester widget. Definition at line 160 of file kurlrequester.cpp. References KStdAccel::name().

KURLRequester::KURLRequester | ( | const QString & | url,
|  | QWidget * | parent = 0,
|  | const char * | name = 0
| ) |

| Constructs a KURLRequester widget with the initial URL `url`. Definition at line 168 of file kurlrequester.cpp. References KStdAccel::name(), and setURL().

KURLRequester::KURLRequester | ( | QWidget * | editWidget,
|  | QWidget * | parent,
|  | const char * | name = 0
| ) |

Special constructor, which creates a KURLRequester widget with a custom edit-widget.

The edit-widget can be either a KComboBox or a KLineEdit (or inherited thereof). Note: for geometry management reasons, the edit-widget is reparented to have the KURLRequester as parent.

Parameters:

  modal | specifies whether the filedialog should be opened as modal or not.

Definition at line 145 of file kurlrequester.cpp.

References KStdAccel::name(), and QWidget::reparent().

KURLRequester::~KURLRequester | ( |  | ) |

| Destructs the KURLRequester. Definition at line 178 of file kurlrequester.cpp.

## Member Function Documentation

QString KURLRequester::url | ( |  | ) | const

Returns:
  the current url in the lineedit. May be malformed, if the user entered something weird. ~user or environment variables are substituted for local files.

Definition at line 236 of file kurlrequester.cpp.

Referenced by KOpenWithDlg::accept(), KURLPropsPlugin::applyChanges(), KURLRequesterDlg::selectedURL(), setShowLocalProtocol(), slotOpenDialog(), KOpenWithDlg::text(), and KURLBarItemDialog::url().

void KURLRequester::setShowLocalProtocol | ( | bool | b | ) |

Enables/disables showing file:/ in the lineedit, when a local file has been selected in the filedialog or was set via setURL().

Default is false, not showing file:/

See also:
  showLocalProtocol

Definition at line 294 of file kurlrequester.cpp.

References setURL(), and url().

void KURLRequester::setMode | ( | unsigned int | m | ) |

Sets the mode of the file dialog.

Note: you can only select one file with the filedialog, so KFile::Files doesn't make much sense.

See also:
  KFileDialog::setMode()

Definition at line 261 of file kurlrequester.cpp.

References KFileDialog::setMode(), and KURLCompletion::setMode().

Referenced by KURLBarItemDialog::KURLBarItemDialog().

void KURLRequester::setFilter | ( | const QString & | filter | ) |

Sets the filter for the file dialog.

See also:
  KFileDialog::setFilter()

Definition at line 272 of file kurlrequester.cpp.

References KFileDialog::setFilter().

bool KURLRequester::showLocalProtocol | ( |  | ) | const`[inline]`

Returns:
  whether local files will be prefixed with file:/ in the lineedit

See also:
  setShowLocalProtocol

Definition at line 117 of file kurlrequester.h.

KFileDialog * KURLRequester::fileDialog | ( |  | ) | const`[virtual]`

Returns:
  a pointer to the filedialog You can use this to customize the dialog, e.g. to specify a filter. Never returns 0L.

Definition at line 279 of file kurlrequester.cpp.

References KFileDialog::setFilter(), and KFileDialog::setMode().

Referenced by KURLRequesterDlg::fileDialog(), setCaption(), and slotOpenDialog().

KLineEdit * KURLRequester::lineEdit | ( |  | ) | const

Returns:
  a pointer to the lineedit, either the default one, or the special one, if you used the special constructor.

It is provided so that you can e.g. set an own completion object (e.g. KShellCompletion) into it.

Definition at line 308 of file kurlrequester.cpp.

Referenced by KOpenWithDlg::init(), and KURLBarItemDialog::KURLBarItemDialog().

KComboBox * KURLRequester::comboBox | ( |  | ) | const

Returns:
  a pointer to the combobox, in case you have set one using the special constructor. Returns 0L otherwise.

Definition at line 313 of file kurlrequester.cpp.

Referenced by KOpenWithDlg::accept(), and KOpenWithDlg::init().

KPushButton * KURLRequester::button | ( |  | ) | const

Returns:
  a pointer to the pushbutton. It is provided so that you can specify an own pixmap or a text, if you really need to.

Definition at line 325 of file kurlrequester.cpp.

Referenced by KOpenWithDlg::init().

KURLCompletion* KURLRequester::completionObject | ( |  | ) | const`[inline]`

Returns:
  the KURLCompletion object used in the lineedit/combobox.

Definition at line 150 of file kurlrequester.h.

KEditListBox::CustomEditor KURLRequester::customEditor | ( |  | ) |

Returns:
  an object, suitable for use with KEditListBox. It allows you to put this KURLRequester into a KEditListBox. Basically, do it like this:

       KURLRequester *req = new KURLRequester( someWidget );
       [...]
       KEditListBox *editListBox = new KEditListBox( i18n("Some Title"), req->customEditor(), someWidget );

Since:
  3.1

Definition at line 330 of file kurlrequester.cpp.

void KURLRequester::setURL | ( | const QString & | url | ) | `[slot]`

Sets the url in the lineedit to `url`.

Depending on the state of showLocalProtocol(), file:/ on local files will be shown or not.

Since:
  3.1

Definition at line 220 of file kurlrequester.cpp.

References QString::length(), QString::mid(), and QString::startsWith().

Referenced by KOpenWithDlg::init(), KURLPropsPlugin::KURLPropsPlugin(), KURLRequester(), setShowLocalProtocol(), KOpenWithDlg::slotClear(), and slotOpenDialog().

void KURLRequester::setCaption | ( | const QString & | caption | ) | `[virtual, slot]`

Sets the caption of the file dialog.

Since:
  3.1

Definition at line 230 of file kurlrequester.cpp.

References fileDialog(), QWidget::setCaption(), and KDialog::setCaption().

void KURLRequester::clear | ( |  | ) | `[slot]`

| Clears the lineedit/combobox. Definition at line 303 of file kurlrequester.cpp.

void KURLRequester::textChanged | ( | const QString & |  | ) | `[signal]`

Emitted when the text in the lineedit changes.

The parameter contains the contents of the lineedit.

Since:
  3.1

void KURLRequester::returnPressed | ( |  | ) | `[signal]`

| Emitted when return or enter was pressed in the lineedit.

void KURLRequester::returnPressed | ( | const QString & |  | ) | `[signal]`

| Emitted when return or enter was pressed in the lineedit. The parameter contains the contents of the lineedit.

void KURLRequester::openFileDialog | ( | KURLRequester * |  | ) | `[signal]`

Emitted before the filedialog is going to open.

Connect to this signal to "configure" the filedialog, e.g. set the filefilter, the mode, a preview-widget, etc. It's usually not necessary to set a URL for the filedialog, as it will get set properly from the editfield contents.

If you use multiple KURLRequesters, you can connect all of them to the same slot and use the given KURLRequester pointer to know which one is going to open.

Referenced by slotOpenDialog().

void KURLRequester::urlSelected | ( | const QString & |  | ) | `[signal]`

| Emitted when the user changed the URL via the file dialog. The parameter contains the contents of the lineedit. Referenced by slotOpenDialog().

void KURLRequester::slotOpenDialog | ( |  | ) | `[protected, slot]`

Called when the button is pressed to open the filedialog.

Also called when KStdAccel::Open (default is Ctrl-O) is pressed.

Definition at line 242 of file kurlrequester.cpp.

References QDialog::exec(), fileDialog(), openFileDialog(), KURL::prettyURL(), KURL::protocol(), KFileDialog::selectedURL(), KFileDialog::setSelection(), setURL(), KProtocolInfo::supportsListing(), KURL::url(), url(), and urlSelected().

The documentation for this class was generated from the following files:

- kurlrequester.h
- kurlrequester.cpp

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:24:47 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001