class KFileDialog

A file selection dialog. More...

Definition#include <kfiledialog.h>
InheritsKDialogBase (kdeui) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Signals

Public Static Methods

Protected Methods

Protected Slots

Protected Members


Detailed Description

Provides a user (and developer) friendly way to select files and directories.

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.

enum OperationMode { Other = 0, Opening, Saving }

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

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

KFileDialog

Constructs a file dialog.

Parameters:
startDirThis can either be
filterA shell glob or a mime-type-filter that specifies which files to display. See setFilter() for details on how to use this argument.
acceptURLsIf set to false, KFileDialog will just accept files on the local filesystem.

 ~KFileDialog ()

~KFileDialog

Destructs the file dialog.

KURL  selectedURL ()

selectedURL

[const]

Returns: The selected fully qualified filename.

KURL::List  selectedURLs ()

selectedURLs

[const]

Returns: The list of selected URLs.

KURL  baseURL ()

baseURL

[const]

Returns: the currently shown directory.

QString  selectedFile ()

selectedFile

[const]

Returns the full path of the selected file in the local filesystem. (Local files only)

QStringList  selectedFiles ()

selectedFiles

[const]

Returns a list of all selected local files.

void  setURL (const KURL &url, bool clearforward = true)

setURL

Sets the directory to view.

Parameters:
urlURL to show.
clearforwardIndicates whether the forward queue should be cleared.

void  setSelection (const QString& name)

setSelection

Sets the file name to preselect to name

This takes absolute URLs and relative file names.

void  setOperationMode ( KFileDialog::OperationMode )

setOperationMode

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 default mode is Other.

Call this method right after instantiating KFileDialog.

See also: operationMode, OperationMode

OperationMode  operationMode ()

operationMode

[const]

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

See also: operationMode, OperationMode

void  setKeepLocation ( bool keep )

setKeepLocation

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.

bool  keepsLocation ()

keepsLocation

[const]

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

void  setFilter (const QString& filter)

setFilter

Sets the filter to be used to filter.

You can set more filters for the user to select seperated by '\n'. 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 *.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 a '/', a mimetype-filter is assumed. You can specify multiple mimetypes like this (separated with space):


 kfile->setFilter( "image/png text/html text/plain" );

See also: filterChanged, setMimeFilter

QString  currentFilter ()

currentFilter

[const]

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

Parameters:
filterContains the new filter (only the extension part, not the explanation), for example, "*.cpp" or "*.cpp *.cc".

See also: setFilter(), filterChanged()

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

setFilterMimeType

Sets the filter up to specify the output type.

Do not use in conjunction with setFilter()

Parameters:
labelthe label to use instead of "Filter:"
typesa list of mimetypes that can be used as output format
defaultTypethe default mimetype to use as output format.

KMimeType::Ptr  currentFilterMimeType ()

currentFilterMimeType

Returns the mimetype for the desired output format.

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

See also: setFilterMimeType()

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

setMimeFilter

Sets the filter up to specify the output type.

Do not use in conjunction with setFilter()

Parameters:
typesa list of mimetypes that can be used as output format
defaultTypethe 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.

QString  currentMimeFilter ()

currentMimeFilter

[const]

The mimetype for the desired output format.

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

See also: setMimeFilter()

void  clearFilter ()

clearFilter

Clears any mime- or namefilter. Does not reload the directory.

void  setPreviewWidget (const QWidget *w)

setPreviewWidget

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.

void  setPreviewWidget (const KPreviewWidgetBase *w)

setPreviewWidget

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:
wThe widget to be used for the preview.

QString  getOpenFileName (const QString& startDir= QString::null, const QString& filter= QString::null, QWidget *parent= 0, const QString& caption = QString::null)

getOpenFileName

[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:
startDirThis can either be
filterThis is a space seperated list of shell globs.
parentThe widget the dialog will be centered on initially.
captionThe name of the dialog widget.

QStringList  getOpenFileNames (const QString& startDir= QString::null, const QString& filter= QString::null, QWidget *parent = 0, const QString& caption= QString::null)

getOpenFileNames

[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:
startDirThis can either be
filterThis is a space seperated list of shell globs.
parentThe widget the dialog will be centered on initially.
captionThe name of the dialog widget.

KURL  getOpenURL (const QString& startDir = QString::null, const QString& filter= QString::null, QWidget *parent= 0, const QString& caption = QString::null)

getOpenURL

[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:
startDirThis can either be
filterThis is a space seperated list of shell globs.
parentThe widget the dialog will be centered on initially.
captionThe name of the dialog widget.

KURL::List  getOpenURLs (const QString& startDir= QString::null, const QString& filter= QString::null, QWidget *parent = 0, const QString& caption= QString::null)

getOpenURLs

[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:
startDirThis can either be
filterThis is a space seperated list of shell globs.
parentThe widget the dialog will be centered on initially.
captionThe name of the dialog widget.

QString  getSaveFileName (const QString& startDir= QString::null, const QString& filter= QString::null, QWidget *parent= 0, const QString& caption = QString::null)

getSaveFileName

[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:
startDirThis can either be
filterThis is a space seperated list of shell globs.
parentThe widget the dialog will be centered on initially.
captionThe name of the dialog widget.

KURL  getSaveURL (const QString& startDir= QString::null, const QString& filter= QString::null, QWidget *parent= 0, const QString& caption = QString::null)

getSaveURL

[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:
startDirThis can either be
filterThis is a space seperated list of shell globs.
parentThe widget the dialog will be centered on initially.
captionThe name of the dialog widget.

QString  getExistingDirectory (const QString & startDir = QString::null, QWidget * parent = 0, const QString& caption= QString::null)

getExistingDirectory

[static]

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

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

Parameters:
startDirThis can either be
parentThe widget the dialog will be centered on initially.
captionThe name of the dialog widget.

KURL  getImageOpenURL ( const QString& startDir = QString::null, QWidget *parent = 0, const QString& caption = QString::null )

getImageOpenURL

[static]

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

Parameters:
startDirThis can either be
parentThe widget the dialog will be centered on initially.
captionThe name of the dialog widget.

void  show ()

show

[virtual]

void  setMode ( KFile::Mode m )

setMode

void  setMode ( unsigned int m )

setMode

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

KFile::Mode  mode ()

mode

[const]

Returns the mode of the filedialog.

See also: setMode()

void  setLocationLabel (const QString& text)

setLocationLabel

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.

KToolBartoolBar ()

toolBar

[const]

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

KPushButtonokButton ()

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.

KPushButtoncancelButton ()

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.

KActionCollectionactionCollection ()

actionCollection

[const]

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

void  fileSelected (const QString&)

fileSelected

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

void  fileHighlighted (const QString&)

fileHighlighted

[signal]

Emitted when the user highlights a file.

void  selectionChanged ()

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  filterChanged ( const QString& filter )

filterChanged

[signal]

Emitted when the filter changed, i.e. the user entered an own filter or chose one of the predefined set via setFilter().

Parameters:
filtercontains the new filter (only the extension part, not the explanation), i.e. "*.cpp" or "*.cpp *.cc".

See also: setFilter(), currentFilter()

KToolBar * toolbar

toolbar

[protected]

static KURL * lastDirectory

lastDirectory

[protected]

KURLComboBox * locationEdit

locationEdit

[protected]

KFileFilterCombo * filterWidget

filterWidget

[protected]

void  addDirEntry (KFileItem *entry, bool disableUpdating)

addDirEntry

[protected]

adds a entry of the current directory. If disableUpdating is set to true, it will care about clever updating

void  initGUI ()

initGUI

[protected virtual]

rebuild geometry managment.

void  multiSelectionChanged ()

multiSelectionChanged

[protected]

called when an item is highlighted/selected in multiselection mode. handles setting the locationEdit.

void  readConfig ( KConfig *, const QString& group = QString::null )

readConfig

[protected virtual]

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

void  writeConfig ( KConfig *, const QString& group = QString::null )

writeConfig

[protected virtual]

Saves the current configuration

void  readRecentFiles ( KConfig * )

readRecentFiles

[protected virtual]

Reads the recent used files and inserts them into the location combobox

void  saveRecentFiles ( KConfig * )

saveRecentFiles

[protected virtual]

Saves the entries from the location combobox.

KURL::List  tokenize (const QString& line)

tokenize

[protected const]

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.

void  urlEntered ( const KURL& )

urlEntered

[protected slots slot]

void  enterURL ( const KURL& url )

enterURL

[protected slots slot]

void  enterURL ( const QString& url )

enterURL

[protected slots slot]

void  locationActivated ( const QString& url )

locationActivated

[protected slots slot]

void  toolbarCallback (int)

toolbarCallback

[protected slots slot]

void  slotFilterChanged ()

slotFilterChanged

[protected slots slot]

void  pathComboChanged ( const QString& )

pathComboChanged

[protected slots slot]

void  fileHighlighted (const KFileItem *i)

fileHighlighted

[protected slots slot]

void  fileSelected (const KFileItem *i)

fileSelected

[protected slots slot]

void  slotStatResult (KIO::Job* job)

slotStatResult

[protected slots slot]

void  slotLoadingFinished ()

slotLoadingFinished

[protected slots slot]

void  dirCompletion ( const QString& )

dirCompletion

[protected slots slot]

void  fileCompletion ( const QString& )

fileCompletion

[protected slots slot]

void  updateStatusLine (int dirs, int files)

updateStatusLine

[protected slots virtual slot]

void  slotOk ()

slotOk

[protected slots virtual slot]

Reimplemented from KDialogBase.

void  accept ()

accept

[protected slots virtual slot]

void  slotCancel ()

slotCancel

[protected slots virtual slot]

Reimplemented from KDialogBase.

void  addToRecentDocuments ()

addToRecentDocuments

[protected slots slot]

KDirOperator * ops

ops

[protected]

bool autoDirectoryFollowing

autoDirectoryFollowing

[protected]

KURL::List&  parseSelectedURLs ()

parseSelectedURLs

[protected const]

void  virtual_hook ( int id, void* data )

virtual_hook

[protected virtual]

Reimplemented from KDialogBase.