# kio Library API Documentation

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

# KFileDialog Class Reference

Provides a user (and developer) friendly way to select files and directories. A file selection dialog. More...

`#include <kfiledialog.h>`

Inheritance diagram for KFileDialog:

[legend]
Collaboration diagram for KFileDialog:

[legend]
List of all members.

## Public Types

enum | OperationMode { Other = 0, Opening, Saving }

## Signals

void | fileSelected (const QString &)
void | fileHighlighted (const QString &)
void | selectionChanged ()
void | filterChanged (const QString &filter)

## Public Member Functions

| KFileDialog (const QString &startDir, const QString &filter, QWidget *parent, const char *name, bool modal)
| KFileDialog (const QString &startDir, const QString &filter, QWidget *parent, const char *name, bool modal, QWidget *widget)
| ~KFileDialog ()
KURL | selectedURL () const
KURL::List | selectedURLs () const
KURL | baseURL () const
QString | selectedFile () const
QStringList | selectedFiles () const
void | setURL (const KURL &url, bool clearforward=true)
void | setSelection (const QString &name)
void | setOperationMode (KFileDialog::OperationMode)
OperationMode | operationMode () const
void | setKeepLocation (bool keep)
bool | keepsLocation () const
void | setFilter (const QString &filter)
QString | currentFilter () const
void | setFilterMimeType (const QString &label, const KMimeType::List &types, const KMimeType::Ptr &defaultType) KDE_DEPRECATED
KMimeType::Ptr | currentFilterMimeType ()
void | setMimeFilter (const QStringList &types, const QString &defaultType=QString::null)
QString | currentMimeFilter () const
void | clearFilter ()
void | setPreviewWidget (const QWidget *w) KDE_DEPRECATED
void | setPreviewWidget (const KPreviewWidgetBase *w)
virtual void | show ()
void | setMode (KFile::Mode m)
void | setMode (unsigned int m)
KFile::Mode | mode () const
void | setLocationLabel (const QString &text)
KToolBar * | toolBar () const
KPushButton * | okButton () const
KPushButton * | cancelButton () const
KURLBar * | speedBar ()
KActionCollection * | actionCollection () const
int | pathComboIndex ()

## Static Public Member Functions

static QString | getOpenFileName (const QString &startDir=QString::null, const QString &filter=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static QString | getOpenFileNameWId (const QString &startDir, const QString &filter, WId parent_id, const QString &caption)
static QStringList | getOpenFileNames (const QString &startDir=QString::null, const QString &filter=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static KURL | getOpenURL (const QString &startDir=QString::null, const QString &filter=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static KURL::List | getOpenURLs (const QString &startDir=QString::null, const QString &filter=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static QString | getSaveFileName (const QString &startDir=QString::null, const QString &filter=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static QString | getSaveFileNameWId (const QString &dir, const QString &filter, WId parent_id, const QString &caption)
static KURL | getSaveURL (const QString &startDir=QString::null, const QString &filter=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static QString | getExistingDirectory (const QString &startDir=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static KURL | getExistingURL (const QString &startDir=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static KURL | getImageOpenURL (const QString &startDir=QString::null, QWidget *parent=0, const QString &caption=QString::null)
static KURL | getStartURL (const QString &startDir, QString &recentDirClass)
static void | setStartDir (const KURL &directory)

## Protected Slots

void | urlEntered (const KURL &)
void | enterURL (const KURL &url)
void | enterURL (const QString &url)
void | locationActivated (const QString &url)
void | toolbarCallback (int)
void | pathComboChanged (const QString &)
void | dirCompletion (const QString &)
void | slotFilterChanged ()
void | fileHighlighted (const KFileItem *i)
void | fileSelected (const KFileItem *i)
void | slotStatResult (KIO::Job *job)
void | slotLoadingFinished ()
void | fileCompletion (const QString &)
void | toggleSpeedbar (bool)
void | toggleBookmarks (bool show)
virtual void | updateStatusLine (int dirs, int files)
virtual void | slotOk ()
virtual void | accept ()
virtual void | slotCancel ()
void | slotAutoSelectExtClicked ()
void | addToRecentDocuments ()
void | initSpeedbar ()

## Protected Member Functions

virtual void | keyPressEvent (QKeyEvent *e)
void | init (const QString &startDir, const QString &filter, QWidget *widget)
virtual void | initGUI ()
void | multiSelectionChanged ()
virtual void | readConfig (KConfig *, const QString &group=QString::null)
virtual void | writeConfig (KConfig *, const QString &group=QString::null)
virtual void | readRecentFiles (KConfig *)
virtual void | saveRecentFiles (KConfig *)
KURL::List | tokenize (const QString &line) const
KURL | getCompleteURL (const QString &)
QString | currentFilterExtension ()
void | updateAutoSelectExtension ()
KURL::List & | parseSelectedURLs () const
virtual void | virtual_hook (int id, void *data)

## Protected Attributes

KToolBar * | toolbar
KURLComboBox * | locationEdit
KFileFilterCombo * | filterWidget
KDirOperator * | ops
bool | autoDirectoryFollowing

## Static Protected Attributes

static KURL * | lastDirectory

## Detailed Description

Provides a user (and developer) friendly way to select files and directories. A file selection dialog.

The widget can be used as a drop in replacement for the QFileDialog widget, but has greater functionality and a nicer GUI.

You will usually want to use one of the static methods getOpenFileName(), getSaveFileName(), getOpenURL() or for multiple files getOpenFileNames() or getOpenURLs().

The dialog has been designed to allow applications to customise it by subclassing. It uses geometry management to ensure that subclasses can easily add children that will be incorporated into the layout.

KDE File Dialog

Author:
  Richard J. Moore <rich@kde.org>, Carsten Pfeiffer <pfeiffer@kde.org>

Definition at line 77 of file kfiledialog.h.

## Member Enumeration Documentation

enum KFileDialog::OperationMode

Defines some default behavior of the filedialog.

E.g. in mode `Opening` and `Saving`, the selected files/urls will be added to the "recent documents" list. The Saving mode also implies setKeepLocation() being set.

`Other` means that no default actions are performed.

See also:
  setOperationMode

  operationMode

Definition at line 94 of file kfiledialog.h.

## Constructor & Destructor Documentation

KFileDialog::KFileDialog | ( | const QString & | startDir,
|  | const QString & | filter,
|  | QWidget * | parent,
|  | const char * | name,
|  | bool | modal
| ) |

Constructs a file dialog.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | filter | A shell glob or a mime-type-filter that specifies which files to display.
  | parent | The parent widget of this dialog
  | name | The name of this object
  | modal | Whether to create a modal dialog or not See setFilter() for details on how to use this argument.

Definition at line 168 of file kfiledialog.cpp.

References init().

KFileDialog::KFileDialog | ( | const QString & | startDir,
|  | const QString & | filter,
|  | QWidget * | parent,
|  | const char * | name,
|  | bool | modal,
|  | QWidget * | widget
| ) |

Constructs a file dialog.

The parameters here are identical to the first constructor except for the addition of a QWidget parameter.

Historical note: The original version of KFileDialog did not have this extra parameter. It was added later, and, in order to maintain binary compatibility, it was placed in a new constructor instead of added to the original one.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | filter | A shell glob or a mime-type-filter that specifies which files to display. See setFilter() for details on how to use this argument.
  | widget | A widget, or a widget of widgets, for displaying custom data in the dialog. This can be used, for example, to display a check box with the caption "Open as read-only". When creating this widget, you don't need to specify a parent, since the widget's parent will be set automatically by KFileDialog.
  | parent | The parent widget of this dialog
  | name | The name of this object
  | modal | Whether to create a modal dialog or not

Since:
  3.1

Definition at line 175 of file kfiledialog.cpp.

References init().

KFileDialog::~KFileDialog | ( |  | ) |

| Destructs the file dialog. Definition at line 183 of file kfiledialog.cpp. References KGlobal::config(), and KConfigBase::sync().

## Member Function Documentation

KURL KFileDialog::selectedURL | ( |  | ) | const

Returns:
  The selected fully qualified filename.

Definition at line 1426 of file kfiledialog.cpp.

References QDialog::result(), and KURL::url().

Referenced by getOpenURL(), getSaveURL(), and KURLRequester::slotOpenDialog().

KURL::List KFileDialog::selectedURLs | ( |  | ) | const

Returns:
  The list of selected URLs.

Definition at line 1434 of file kfiledialog.cpp.

References QValueList::append(), KDirOperator::mode(), and QDialog::result().

Referenced by getOpenURLs().

KURL KFileDialog::baseURL | ( |  | ) | const

Returns:
  the currently shown directory.

Definition at line 1566 of file kfiledialog.cpp.

References KDirOperator::url().

QString KFileDialog::selectedFile | ( |  | ) | const

| Returns the full path of the selected file in the local filesystem. (Local files only) Definition at line 1527 of file kfiledialog.cpp. References QDialog::result(), and KMessageBox::sorry(). Referenced by getOpenFileName(), getOpenFileNameWId(), getSaveFileName(), and getSaveFileNameWId().

QStringList KFileDialog::selectedFiles | ( |  | ) | const

| Returns a list of all selected local files. Definition at line 1542 of file kfiledialog.cpp. References QValueList::begin(), QValueList::end(), KDirOperator::mode(), and QDialog::result(). Referenced by getOpenFileNames().

void KFileDialog::setURL | ( | const KURL & | url,
|  | bool | clearforward = `true`
| ) |

Sets the directory to view.

Parameters:

  | url | URL to show.
  | clearforward | Indicates whether the forward queue should be cleared.

Definition at line 1143 of file kfiledialog.cpp.

References KDirOperator::setURL().

Referenced by setSelection().

void KFileDialog::setSelection | ( | const QString & | name | ) |

Sets the file name to preselect to `name`.

This takes absolute URLs and relative file names.

Definition at line 1204 of file kfiledialog.cpp.

References endl(), QFile::exists(), QString::findRev(), getCompleteURL(), KFileItem::isDir(), KURL::isLocalFile(), KURL::isValid(), kdDebug(), kdWarning(), QComboBox::lineEdit(), KURL::path(), KURL::setFileName(), KURL::setQuery(), setURL(), KDirOperator::url(), and KURL::url().

Referenced by getSaveFileName(), getSaveFileNameWId(), getSaveURL(), init(), and KURLRequester::slotOpenDialog().

void KFileDialog::setOperationMode | ( | KFileDialog::OperationMode |  | ) |

Sets the operational mode of the filedialog to `Saving`, `Opening` or `Other`.

This will set some flags that are specific to loading or saving files. E.g. setKeepLocation() makes mostly sense for a save-as dialog. So setOperationMode( KFileDialog::Saving ); sets setKeepLocation for example.

The mode `Saving`, together with a default filter set via setMimeFilter() will make the filter combobox read-only.

The default mode is `Opening`.

Call this method right after instantiating KFileDialog.

See also:
  operationMode

  KFileDialog::OperationMode

Definition at line 1810 of file kfiledialog.cpp.

References updateAutoSelectExtension().

Referenced by getOpenFileName(), getOpenFileNames(), getOpenFileNameWId(), getOpenURL(), getOpenURLs(), getSaveFileName(), getSaveFileNameWId(), getSaveURL(), and KEncodingFileDialog::KEncodingFileDialog().

KFileDialog::OperationMode KFileDialog::operationMode | ( |  | ) | const

Returns:
  the current operation mode, Opening, Saving or Other. Default is Other.

See also:
  operationMode

  KFileDialog::OperationMode

Definition at line 1825 of file kfiledialog.cpp.

Referenced by updateAutoSelectExtension().

void KFileDialog::setKeepLocation | ( | bool | keep | ) |

Sets whether the filename/url should be kept when changing directories.

This is for example useful when having a predefined filename where the full path for that file is searched.

This is implicitly set when operationMode() is KFileDialog::Saving

getSaveFileName() and getSaveURL() set this to true by default, so that you can type in the filename and change the directory without having to type the name again.

Definition at line 1800 of file kfiledialog.cpp.

bool KFileDialog::keepsLocation | ( |  | ) | const

Returns:
  whether the contents of the location edit are kept when changing directories.

Definition at line 1805 of file kfiledialog.cpp.

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

Sets the filter to be used to `filter`.

You can set more filters for the user to select separated by '
'. Every filter entry is defined through namefilter|text to diplay. If no | is found in the expression, just the namefilter is shown. Examples:

     kfile->setFilter("*.cpp|C++ Source Files\n*.h|Header files");
     kfile->setFilter("*.cpp");
     kfile->setFilter("*.cpp|Sources (*.cpp)");
     kfile->setFilter("*.cpp|" + i18n("Sources (*.cpp)"));
     kfile->setFilter("*.cpp *.cc *.C|C++ Source Files\n*.h *.H|Header files");

Note: The text to display is not parsed in any way. So, if you want to show the suffix to select by a specific filter, you must repeat it.

If the filter contains an unescaped '/', a mimetype-filter is assumed. If you would like a '/' visible in your filter it can be escaped with a '\'. You can specify multiple mimetypes like this (separated with space):

     kfile->setFilter( "image/png text/html text/plain" );
     kfile->setFilter( "*.cue|CUE\\/BIN Files (*.cue)" );

See also:
  filterChanged

  setMimeFilter

Definition at line 204 of file kfiledialog.cpp.

References KDirOperator::clearFilter(), QWidget::find(), KShortcut::remove(), setMimeFilter(), KDirOperator::setNameFilter(), QStringList::split(), and updateAutoSelectExtension().

Referenced by init(), and KURLRequester::setFilter().

QString KFileDialog::currentFilter | ( |  | ) | const

Returns the current filter as entered by the user or one of the predefined set via setFilter().

See also:
  setFilter()

  filterChanged()

Definition at line 233 of file kfiledialog.cpp.

Referenced by updateAutoSelectExtension().

void KFileDialog::setFilterMimeType | ( | const QString & | label,
|  | const KMimeType::List & | types,
|  | const KMimeType::Ptr & | defaultType
| ) |

Sets the filter up to specify the output type.

Parameters:

  | label | the label to use instead of "Filter:"
  | types | a list of mimetypes that can be used as output format
  | defaultType | the default mimetype to use as output format.

Do not use in conjunction with setFilter()

Deprecated:

Definition at line 239 of file kfiledialog.cpp.

References QString::append(), and setMimeFilter().

KMimeType::Ptr KFileDialog::currentFilterMimeType | ( |  | ) |

Returns the mimetype for the desired output format.

This is only valid if setFilterMimeType() has been called previously.

See also:
  setFilterMimeType()

Definition at line 292 of file kfiledialog.cpp.

References currentMimeFilter(), and KMimeType::mimeType().

void KFileDialog::setMimeFilter | ( | const QStringList & | types,
|  | const QString & | defaultType = `QString::null`
| ) |

Sets the filter up to specify the output type.

Parameters:

  | types | a list of mimetypes that can be used as output format
  | defaultType | the default mimetype to use as output format, if any. If `defaultType` is set, it will be set as the current item. Otherwise, a first item showing all the mimetypes will be created. Typically, `defaultType` should be empty for loading and set for saving.

Do not use in conjunction with setFilter()

Definition at line 253 of file kfiledialog.cpp.

References KDirOperator::clearFilter(), KDirOperator::setMimeFilter(), QStringList::split(), and updateAutoSelectExtension().

Referenced by setFilter(), and setFilterMimeType().

QString KFileDialog::currentMimeFilter | ( |  | ) | const

The mimetype for the desired output format.

This is only valid if setMimeFilter() has been called previously.

See also:
  setMimeFilter()

Definition at line 281 of file kfiledialog.cpp.

Referenced by currentFilterMimeType().

void KFileDialog::clearFilter | ( |  | ) |

| Clears any mime- or namefilter. Does not reload the directory. Definition at line 270 of file kfiledialog.cpp. References KDirOperator::clearFilter(), and updateAutoSelectExtension().

void KFileDialog::setPreviewWidget | ( | const QWidget * | w | ) |

Deprecated:
  Add a preview widget and enter the preview mode.

In this mode the dialog is split and the right part contains your widget. This widget has to inherit QWidget and it has to implement a slot showPreview(const KURL &); which is called every time the file changes. You may want to look at koffice/lib/kofficecore/koFilterManager.cc for some hints :)

Ownership is transferred to KFileDialog. You need to create the preview-widget with "new", i.e. on the heap.

Definition at line 297 of file kfiledialog.cpp.

References KDirOperator::clearHistory(), and KDirOperator::setPreviewWidget().

void KFileDialog::setPreviewWidget | ( | const KPreviewWidgetBase * | w | ) |

Adds a preview widget and enters the preview mode.

In this mode the dialog is split and the right part contains your preview widget.

Ownership is transferred to KFileDialog. You need to create the preview-widget with "new", i.e. on the heap.

Parameters:

  | w | The widget to be used for the preview.

Definition at line 303 of file kfiledialog.cpp.

References KDirOperator::clearHistory(), and KDirOperator::setPreviewWidget().

QString KFileDialog::getOpenFileName | ( | const QString & | startDir = `QString::null`,
|  | const QString & | filter = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog and return the selected filename or an empty string if none was chosen.

Note that with this method the user must select an existing filename.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | filter | This is a space separated list of shell globs. You can set the text to be displayed for the glob, and provide multiple globs. See setFilter() for details on how to do this...
  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Definition at line 1298 of file kfiledialog.cpp.

References KDirOperator::clearHistory(), QDialog::exec(), ops, selectedFile(), KDialog::setCaption(), setMode(), and setOperationMode().

QString KFileDialog::getOpenFileNameWId | ( | const QString & | startDir,
|  | const QString & | filter,
|  | WId | parent_id,
|  | const QString & | caption
| ) | `[static]`

Use this version only if you have no QWidget available as parent widget.

This can be the case if the parent widget is a widget in another process or if the parent widget is a non-Qt widget. For example, in a GTK program.

Since:
  3.4

Definition at line 1314 of file kfiledialog.cpp.

References KDirOperator::clearHistory(), QDialog::exec(), QWidget::find(), ops, selectedFile(), KDialog::setCaption(), setMode(), and setOperationMode().

QStringList KFileDialog::getOpenFileNames | ( | const QString & | startDir = `QString::null`,
|  | const QString & | filter = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog and returns the selected filenames or an empty list if none was chosen.

Note that with this method the user must select an existing filename.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | filter | This is a space separated list of shell globs. You can set the text to be displayed for the glob, and provide multiple globs. See setFilter() for details on how to do this...
  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Definition at line 1338 of file kfiledialog.cpp.

References KDirOperator::clearHistory(), QDialog::exec(), ops, selectedFiles(), KDialog::setCaption(), setMode(), and setOperationMode().

KURL KFileDialog::getOpenURL | ( | const QString & | startDir = `QString::null`,
|  | const QString & | filter = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog and returns the selected URL or an empty string if none was chosen.

Note that with this method the user must select an existing URL.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | filter | This is a space separated list of shell globs. You can set the text to be displayed for the glob, and provide multiple globs. See setFilter() for details on how to do this...
  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Definition at line 1354 of file kfiledialog.cpp.

References KDirOperator::clearHistory(), QDialog::exec(), ops, selectedURL(), KDialog::setCaption(), setMode(), and setOperationMode().

KURL::List KFileDialog::getOpenURLs | ( | const QString & | startDir = `QString::null`,
|  | const QString & | filter = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog and returns the selected URLs or an empty list if none was chosen.

Note that with this method the user must select an existing filename.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | filter | This is a space separated list of shell globs. You can set the text to be displayed for the glob, and provide multiple globs. See setFilter() for details on how to do this...
  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Definition at line 1368 of file kfiledialog.cpp.

References KDirOperator::clearHistory(), QDialog::exec(), ops, selectedURLs(), KDialog::setCaption(), setMode(), and setOperationMode().

QString KFileDialog::getSaveFileName | ( | const QString & | startDir = `QString::null`,
|  | const QString & | filter = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog and returns the selected filename or an empty string if none was chosen.

Note that with this method the user need not select an existing filename.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - a relative path or a filename determining the directory to start in and the file to be selected.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | filter | This is a space separated list of shell globs. You can set the text to be displayed for the glob, and provide multiple globs. See setFilter() for details on how to do this...
  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Definition at line 1571 of file kfiledialog.cpp.

References KRecentDocument::add(), QString::at(), QDialog::exec(), QString::isEmpty(), selectedFile(), KDialog::setCaption(), setOperationMode(), and setSelection().

QString KFileDialog::getSaveFileNameWId | ( | const QString & | dir,
|  | const QString & | filter,
|  | WId | parent_id,
|  | const QString & | caption
| ) | `[static]`

This function accepts the window id of the parent window, instead of QWidget*.

It should be used only when necessary.

Since:
  3.4

Definition at line 1592 of file kfiledialog.cpp.

References KRecentDocument::add(), QString::at(), QDialog::exec(), QWidget::find(), QString::isEmpty(), selectedFile(), KDialog::setCaption(), setOperationMode(), and setSelection().

KURL KFileDialog::getSaveURL | ( | const QString & | startDir = `QString::null`,
|  | const QString & | filter = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog and returns the selected filename or an empty string if none was chosen.

Note that with this method the user need not select an existing filename.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - a relative path or a filename determining the directory to start in and the file to be selected.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | filter | This is a space separated list of shell globs. You can set the text to be displayed for the glob, and provide multiple globs. See setFilter() for details on how to do this...
  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Definition at line 1621 of file kfiledialog.cpp.

References KRecentDocument::add(), QDialog::exec(), KURL::isValid(), selectedURL(), KDialog::setCaption(), setOperationMode(), and setSelection().

QString KFileDialog::getExistingDirectory | ( | const QString & | startDir = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog and returns the selected directory or an empty string if none was chosen.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Definition at line 1391 of file kfiledialog.cpp.

References QFileDialog::getExistingDirectory(), KURL::isValid(), KURL::path(), and KDirSelectDialog::selectDirectory().

KURL KFileDialog::getExistingURL | ( | const QString & | startDir = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog and returns the selected directory or an empty string if none was chosen.

Contrary to getExistingDirectory(), this method allows the selection of a remote directory.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Since:
  3.1

Definition at line 1384 of file kfiledialog.cpp.

References KDirSelectDialog::selectDirectory().

KURL KFileDialog::getImageOpenURL | ( | const QString & | startDir = `QString::null`,
|  | QWidget * | parent = `0`,
|  | const QString & | caption = `QString::null`
| ) | `[static]`

Creates a modal file dialog with an image previewer and returns the selected url or an empty string if none was chosen.

Parameters:

  startDir

  This can either be
  - The URL of the directory to start in.
  - QString::null to start in the current working directory, or the last directory where a file has been selected.
  - ':<keyword>' to start in the directory last used by a filedialog in the same application that specified the same keyword.
  - '::<keyword>' to start in the directory last used by a filedialog in any application that specified the same keyword.

  | parent | The widget the dialog will be centered on initially.
  | caption | The name of the dialog widget.

Definition at line 1408 of file kfiledialog.cpp.

References QStringList::join(), and KImageIO::mimeTypes().

void KFileDialog::setMode | ( | KFile::Mode | m | ) |

| Convenient overload of the other setMode(unsigned int) method. Definition at line 1652 of file kfiledialog.cpp. References KDirOperator::dirOnlyMode(), KDirOperator::setMode(), and updateAutoSelectExtension(). Referenced by KURLRequester::fileDialog(), getOpenFileName(), getOpenFileNames(), getOpenFileNameWId(), getOpenURL(), getOpenURLs(), and setMode().

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

Sets the mode of the dialog.

The mode is defined as (in kfile.h):

        enum Mode {
             File         = 1,
             Directory    = 2,
             Files        = 4,
             ExistingOnly = 8,
             LocalOnly    = 16
        };

You can OR the values, e.g.

     KFile::Mode mode = static_cast<KFile::Mode>( KFile::Files |
                                                  KFile::ExistingOnly |
                                                  KFile::LocalOnly );
     setMode( mode );

Definition at line 1665 of file kfiledialog.cpp.

References setMode().

KFile::Mode KFileDialog::mode | ( |  | ) | const

Returns the mode of the filedialog.

See also:
  setMode()

Definition at line 1670 of file kfiledialog.cpp.

References KDirOperator::mode().

Referenced by KURLRequester::slotOpenDialog(), and updateAutoSelectExtension().

void KFileDialog::setLocationLabel | ( | const QString & | text | ) |

| Sets the text to be displayed in front of the selection. The default is "Location". Most useful if you want to make clear what the location is used for. Definition at line 199 of file kfiledialog.cpp.

KToolBar* KFileDialog::toolBar | ( |  | ) | const`[inline]`

Returns a pointer to the toolbar.

You can use this to insert custom items into it, e.g.:

          yourAction = new KAction( i18n("Your Action"), 0,
                                    this, SLOT( yourSlot() ),
                                    this, "action name" );
          yourAction->plug( kfileDialog->toolBar() );

Definition at line 722 of file kfiledialog.h.

Referenced by KEncodingFileDialog::KEncodingFileDialog().

KPushButton * KFileDialog::okButton | ( |  | ) | const

Returns:
  a pointer to the OK-Button in the filedialog. You may use it e.g. to set a custom text to it.

Definition at line 1774 of file kfiledialog.cpp.

KPushButton * KFileDialog::cancelButton | ( |  | ) | const

Returns:
  a pointer to the Cancel-Button in the filedialog. You may use it e.g. to set a custom text to it.

Definition at line 1779 of file kfiledialog.cpp.

KURLBar * KFileDialog::speedBar | ( |  | ) |

Returns:
  the KURLBar object used as the "speed bar". You can add custom entries to it like that:

       KURLBar *urlBar = fileDialog->speedBar();
       if ( urlBar )
           urlBar->insertDynamicItem( someURL, i18n("The URL's description") );

Note that this method may return a null-pointer if the user configured to not use the speed-bar.

See also:
  KURLBar

  KURLBar::insertDynamicItem

Since:
  3.2

Definition at line 1784 of file kfiledialog.cpp.

KActionCollection * KFileDialog::actionCollection | ( |  | ) | const

Returns:
  a pointer to the action collection, holding all the used KActions.

Definition at line 2155 of file kfiledialog.cpp.

References KDirOperator::actionCollection().

Referenced by toggleBookmarks(), and toggleSpeedbar().

int KFileDialog::pathComboIndex | ( |  | ) |

Returns:
  the index of the path combobox so when inserting widgets into the dialog (e.g. subclasses) they can do so without hardcoding in an index

Definition at line 2242 of file kfiledialog.cpp.

KURL KFileDialog::getStartURL | ( | const QString & | startDir,
|  | QString & | recentDirClass
| ) | `[static]`

This method implements the logic to determine the user's default directory to be listed.

E.g. the documents direcory, home directory or a recently used directory.

Parameters:

  | startDir | A url/directory, to be used. May use the ':' and '::' syntax as documented in the KFileDialog() constructor.
  | recentDirClass | If the ':' or '::' syntax is used, recentDirClass will contain the string to be used later for KRecentDir::dir()

Returns:
  The URL that should be listed by default (e.g. by KFileDialog or KDirSelectDialog).

Since:
  3.1

Definition at line 2257 of file kfiledialog.cpp.

References QDir::currentDirPath(), KURL::fromPathOrURL(), QDir::homeDirPath(), KCmdLineArgs::makeURL(), and KURL::setPath().

Referenced by init(), and KDirSelectDialog::KDirSelectDialog().

void KFileDialog::fileSelected | ( | const QString & |  | ) | `[signal]`

| Emitted when the user selects a file. It is only emitted in single- selection mode. The best way to get notified about selected file(s) is to connect to the okClicked() signal inherited from KDialogBase and call selectedFile(), selectedFiles(), selectedURL() or selectedURLs(). Referenced by init().

void KFileDialog::fileHighlighted | ( | const QString & |  | ) | `[signal]`

| Emitted when the user highlights a file. Referenced by init().

void KFileDialog::selectionChanged | ( |  | ) | `[signal]`

Emitted when the user hilights one or more files in multiselection mode.

Note: fileHighlighted() or fileSelected() are not emitted in multiselection mode. You may use selectedItems() to ask for the current highlighted items.

See also:
  fileSelected

void KFileDialog::filterChanged | ( | const QString & | filter | ) | `[signal]`

Emitted when the filter changed, i.e.

the user entered an own filter or chose one of the predefined set via setFilter().

Parameters:

  | filter | contains the new filter (only the extension part, not the explanation), i.e. "*.cpp" or "*.cpp *.cc".

See also:
  setFilter()

  currentFilter()

Referenced by init().

void KFileDialog::keyPressEvent | ( | QKeyEvent * | e | ) | `[protected, virtual]`

| Reimplemented to animate the cancel button. Reimplemented from KDialogBase. Definition at line 2160 of file kfiledialog.cpp. References KDialogBase::keyPressEvent().

void KFileDialog::init | ( | const QString & | startDir,
|  | const QString & | filter,
|  | QWidget * | widget
| ) | `[protected]`

Perform basic initialization tasks.

Called by constructors.

Since:
  3.1

Definition at line 803 of file kfiledialog.cpp.

References KActionCollection::action(), KDirOperator::actionCollection(), QWhatsThis::add(), QToolTip::add(), KDialogBase::adjustSize(), QString::arg(), KGlobal::config(), fileHighlighted(), fileSelected(), filterChanged(), getStartURL(), initGUI(), KActionMenu::insert(), KToolBar::insertWidget(), KURL::path(), KActionMenu::plug(), KAction::plug(), KActionMenu::popupMenu(), readConfig(), readRecentFiles(), KCompletionBase::setAutoDeleteCompletionObject(), KToolBar::setBarPos(), KToggleAction::setCheckedState(), KCompletionBase::setCompletionObject(), KActionMenu::setDelayed(), KURLCompletion::setDir(), setFilter(), KToolBar::setFlat(), KToolBar::setIconText(), KToolBar::setItemAutoSized(), KDialogBase::setMainWidget(), KDirOperator::setOnlyDoubleClickSelectsFiles(), KURL::setPath(), setSelection(), KAction::setShortcut(), KDirOperator::setupMenu(), KDirOperator::setViewConfig(), KAction::setWhatsThis(), KDialogBase::slotCancel(), KDialogBase::slotOk(), toggleBookmarks(), toggleSpeedbar(), and KURL::url().

Referenced by KFileDialog().

void KFileDialog::initGUI | ( |  | ) | `[protected, virtual]`

| rebuild geometry management. Definition at line 1055 of file kfiledialog.cpp. References QGridLayout::addWidget(), and QGridLayout::setColStretch(). Referenced by init().

void KFileDialog::multiSelectionChanged | ( |  | ) | `[protected]`

| called when an item is highlighted/selected in multiselection mode. handles setting the locationEdit. Definition at line 737 of file kfiledialog.cpp. References QString::append(), QComboBox::clearEdit(), QPtrListIterator::current(), QComboBox::lineEdit(), KFileItem::name(), KDirOperator::selectedItems(), KGlobal::staticQString(), and QString::stripWhiteSpace().

void KFileDialog::readConfig | ( | KConfig * | ,
|  | const QString & | group = `QString::null`
| ) | `[protected, virtual]`

Reads configuration and applies it (size, recent directories, ...).

Definition at line 1676 of file kfiledialog.cpp.

References KDialogBase::configDialogSize(), KDirOperator::readConfig(), KCompletionBase::setCompletionMode(), KURLComboBox::setMaxItems(), KURLComboBox::setURL(), KURLComboBox::setURLs(), KToolBar::sizeHint(), toggleBookmarks(), toggleSpeedbar(), updateAutoSelectExtension(), KDirOperator::url(), and QSize::width().

Referenced by init().

void KFileDialog::writeConfig | ( | KConfig * | ,
|  | const QString & | group = `QString::null`
| ) | `[protected, virtual]`

| Saves the current configuration. Definition at line 1727 of file kfiledialog.cpp. References KCompletionBase::completionMode(), KDialogBase::saveDialogSize(), and KDirOperator::writeConfig().

void KFileDialog::readRecentFiles | ( | KConfig * |  | ) | `[protected, virtual]`

| Reads the recent used files and inserts them into the location combobox. Definition at line 1749 of file kfiledialog.cpp. References QComboBox::insertItem(), KComboBox::setCurrentItem(), KURLComboBox::setMaxItems(), and KURLComboBox::setURLs(). Referenced by init().

void KFileDialog::saveRecentFiles | ( | KConfig * |  | ) | `[protected, virtual]`

| Saves the entries from the location combobox. Definition at line 1764 of file kfiledialog.cpp. References KURLComboBox::urls.

KURL::List KFileDialog::tokenize | ( | const QString & | line | ) | const`[protected]`

Parses the string "line" for files.

If line doesn't contain any ", the whole line will be interpreted as one file. If the number of " is odd, an empty list will be returned. Otherwise, all items enclosed in " " will be returned as correct urls.

Definition at line 1481 of file kfiledialog.cpp.

References QValueList::append(), QString::contains(), QValueList::find(), KURL::isValid(), QString::mid(), KURL::setFileName(), KMessageBox::sorry(), and KDirOperator::url().

KURL KFileDialog::getCompleteURL | ( | const QString & |  | ) | `[protected]`

Returns the absolute version of the URL specified in locationEdit.

Since:
  3.2

Definition at line 309 of file kfiledialog.cpp.

References KURL::addPath(), KURL::cleanPath(), QDir::isRelativePath(), KURL::setPath(), KShell::tildeExpand(), and KDirOperator::url().

Referenced by setSelection().

QString KFileDialog::currentFilterExtension | ( |  | ) | `[protected]`

Returns the filename extension associated with the currentFilter().

QString::null is returned if an extension is not available or if operationMode() != Saving.

Since:
  3.2

Definition at line 1884 of file kfiledialog.cpp.

void KFileDialog::updateAutoSelectExtension | ( |  | ) | `[protected]`

Updates the currentFilterExtension and the availability of the Automatically Select Extension Checkbox (visible if operationMode() == Saving and enabled if an extension _will_ be associated with the currentFilter(), _after_ this call).

You should call this after filterWidget->setCurrentItem().

Since:
  3.2

Definition at line 1889 of file kfiledialog.cpp.

References QWhatsThis::add(), QString::arg(), QString::at(), currentFilter(), endl(), QString::find(), QString::isEmpty(), kdDebug(), QString::lower(), KMimeType::mimeType(), mode(), and operationMode().

Referenced by clearFilter(), readConfig(), setFilter(), setMimeFilter(), setMode(), and setOperationMode().

void KFileDialog::toolbarCallback | ( | int |  | ) | `[protected, slot]`

Deprecated:
  ,

Definition at line 1195 of file kfiledialog.cpp.

void KFileDialog::pathComboChanged | ( | const QString & |  | ) | `[protected, slot]`

Deprecated:

Definition at line 1273 of file kfiledialog.cpp.

void KFileDialog::dirCompletion | ( | const QString & |  | ) | `[protected, slot]`

Deprecated:

Definition at line 1276 of file kfiledialog.cpp.

void KFileDialog::toggleSpeedbar | ( | bool |  | ) | `[protected, slot]`

Since:
  3.1

Definition at line 2171 of file kfiledialog.cpp.

References KActionCollection::action(), actionCollection(), KDirOperator::actionCollection(), KURL::equals(), KAction::isPlugged(), KAction::plug(), KURL::setPath(), KAction::unplug(), and KURLBarItem::url().

Referenced by init(), and readConfig().

void KFileDialog::toggleBookmarks | ( | bool | show | ) | `[protected, slot]`

Since:
  3.4

Definition at line 2207 of file kfiledialog.cpp.

References KActionCollection::action(), actionCollection(), QWhatsThis::add(), KToolBar::getButton(), KToolBar::insertButton(), KToolBar::removeItem(), and KToolBarButton::setPopup().

Referenced by init(), and readConfig().

void KFileDialog::updateStatusLine | ( | int | dirs,
|  | int | files
| ) | `[protected, virtual, slot]`

Deprecated:

Definition at line 1293 of file kfiledialog.cpp.

References endl(), and kdWarning().

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

- kfiledialog.h
- kfiledialog.cpp

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:24:37 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003