KDE 4.9 PyKDE API Reference

- KDE's Python API

# KFileWidget Class Reference

`from PyKDE4.kio import *`

Inherits: QWidget → QObject,KAbstractFileWidget

## Detailed Description

## Signals

| accepted ()
| fileHighlighted (QString a0)
| fileHighlighted (KUrl a0)
| fileSelected (QString a0)
| fileSelected (KUrl a0)
| filterChanged (QString filter)
| selectionChanged ()

## Methods

| __init__ (self, KUrl startDir, QWidget parent)
| accept (self)
KActionCollection | actionCollection (self)
KUrl | baseUrl (self)
KPushButton | cancelButton (self)
| clearFilter (self)
QString | currentFilter (self)
KSharedPtr<KMimeType> | currentFilterMimeType (self)
QString | currentMimeFilter (self)
KDirOperator | dirOperator (self)
bool | eventFilter (self, QObject watched, QEvent event)
KFileFilterCombo | filterWidget (self)
bool | keepsLocation (self)
KUrlComboBox | locationEdit (self)
KFile.Modes | mode (self)
KPushButton | okButton (self)
KAbstractFileWidget.OperationMode | operationMode (self)
| readConfig (self, KConfigGroup group)
| resizeEvent (self, QResizeEvent event)
QString | selectedFile (self)
QStringList | selectedFiles (self)
KUrl | selectedUrl (self)
KUrl.List | selectedUrls (self)
| setCustomWidget (self, QWidget widget)
| setCustomWidget (self, QString text, QWidget widget)
| setFilter (self, QString filter)
| setKeepLocation (self, bool keep)
| setLocationLabel (self, QString text)
| setMimeFilter (self, QStringList types, QString defaultType=QString())
| setMode (self, KFile.Modes m)
| setOperationMode (self, KAbstractFileWidget.OperationMode a0)
| setPreviewWidget (self, KPreviewWidgetBase w)
| setSelection (self, QString name)
| setUrl (self, KUrl url, bool clearforward=1)
| showEvent (self, QShowEvent event)
| slotCancel (self)
| slotOk (self)
KToolBar | toolBar (self)

## Static Methods

KUrl | getStartUrl (KUrl startDir, QString recentDirClass)
KUrl | getStartUrl (KUrl startDir, QString recentDirClass, QString fileName)
| setStartDir (KUrl directory)

## Signal Documentation

accepted | ( |  | ) |

Emitted by slotOk() (directly or asynchronously) once everything has been done. Should be used by the caller to call accept().

Signal syntax:
  `QObject.connect(source, SIGNAL("accepted()"), target_slot)`

fileHighlighted | ( | QString | a0
| ) |  |  |

@deprecated, connect to fileSelected(const KUrl&) instead

Signal syntax:
  `QObject.connect(source, SIGNAL("fileHighlighted(const QString&)"), target_slot)`

fileHighlighted | ( | KUrl | a0
| ) |  |  |

@deprecated, connect to fileSelected(const KUrl&) instead

Signal syntax:
  `QObject.connect(source, SIGNAL("fileHighlighted(const KUrl&)"), target_slot)`

fileSelected | ( | QString | a0
| ) |  |  |

@deprecated, connect to fileSelected(const KUrl&) instead

Signal syntax:
  `QObject.connect(source, SIGNAL("fileSelected(const QString&)"), target_slot)`

fileSelected | ( | KUrl | a0
| ) |  |  |

@deprecated, connect to fileSelected(const KUrl&) instead

Signal syntax:
  `QObject.connect(source, SIGNAL("fileSelected(const KUrl&)"), target_slot)`

filterChanged | ( | QString | filter
| ) |  |  |

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

See also:
  currentFilter()

Signal syntax:
  `QObject.connect(source, SIGNAL("filterChanged(const QString&)"), target_slot)`

selectionChanged | ( |  | ) |

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

Signal syntax:
  `QObject.connect(source, SIGNAL("selectionChanged()"), target_slot)`

## Method Documentation

__init__ | ( | self, |
|  | KUrl | startDir,
|  | QWidget | parent
| ) |  |  |

Constructs a file selector widget.

Parameters:

  | startDir | This can either be:

- An empty URL (KUrl()) to start in the current working directory,
or the last directory where a file has been selected.
- The path or URL of a starting directory.
- An initial file name to select, with the starting directory being
the current working directory or the last directory where a file has been selected.
- The path or URL of a file, specifying both the starting directory and
an initially selected file name.
- A URL of the form kfiledialog:&lt;keyword&gt; to start in the
directory last used by a filedialog in the same application that specified the same keyword.
- A URL of the form kfiledialog:&lt;keyword&gt;/&lt;filename&gt;
to start in the directory last used by a filedialog in the same application that specified the same keyword, and to initially select the specified filename.
- A URL of the form kfiledialog:&lt;keyword&gt;?global to start
in the directory last used by a filedialog in any application that specified the same keyword.
- A URL of the form kfiledialog:&lt;keyword&gt;/&lt;filename&gt;?global
to start in the directory last used by a filedialog in any application that specified the same keyword, and to initially select the specified filename.

Parameters:

  | parent | The parent widget of this widget

accept | ( |  | self ) |

KActionCollection actionCollection | ( |  | self ) |

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

KUrl baseUrl | ( |  | self ) |

Returns:
  the currently shown directory.

KPushButton cancelButton | ( |  | self ) |

Returns:
  a pointer to the Cancel-Button in the filedialog. Note that the button is hidden and unconnected when using KFileWidget alone; KFileDialog shows it and connects to it.

clearFilter | ( |  | self ) |

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

QString currentFilter | ( |  | self ) |

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

See also:
  setFilter()

See also:
  filterChanged()

KSharedPtr<KMimeType> currentFilterMimeType | ( |  | self ) |

Returns the mimetype for the desired output format.

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

See also:
  setFilterMimeType()

QString currentMimeFilter | ( |  | self ) |

The mimetype for the desired output format.

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

See also:
  setMimeFilter()

KDirOperator dirOperator | ( |  | self ) |

Returns:
  the KDirOperator used to navigate the filesystem

Since:
  4.3

bool eventFilter | ( | self, |
|  | QObject | watched,
|  | QEvent | event
| ) |  |  |

KFileFilterCombo filterWidget | ( |  | self ) |

Returns:
  the combobox that contains the filters

bool keepsLocation | ( |  | self ) |

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

KUrlComboBox locationEdit | ( |  | self ) |

Returns:
  the combobox used to type the filename or full location of the file.

KFile.Modes mode | ( |  | self ) |

Returns the mode of the filedialog.

See also:
  setMode()

KPushButton okButton | ( |  | self ) |

Returns:
  a pointer to the OK-Button in the filedialog. Note that the button is hidden and unconnected when using KFileWidget alone; KFileDialog shows it and connects to it.

KAbstractFileWidget.OperationMode operationMode | ( |  | self ) |

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

See also:
  operationMode

See also:
  KFileWidget.OperationMode

readConfig | ( | self, |
|  | KConfigGroup | group
| ) |  |  |

reads the configuration for this widget from the given config group

Parameters:

  | group | the KConfigGroup to read from

Since:
  4.4

resizeEvent | ( | self, |
|  | QResizeEvent | event
| ) |  |  |

QString selectedFile | ( |  | self ) |

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

QStringList selectedFiles | ( |  | self ) |

Returns a list of all selected local files.

KUrl selectedUrl | ( |  | self ) |

Returns:
  The selected fully qualified filename.

KUrl.List selectedUrls | ( |  | self ) |

Returns:
  The list of selected URLs.

setCustomWidget | ( | self, |
|  | QWidget | widget
| ) |  |  |

Sets a custom widget that should be added below the location and the filter editors.

Parameters:

  | text | Label of the custom widget, which is displayed below the labels "Location:" and "Filter:".
  | widget | Any kind of widget, but preferable a combo box or a line editor to be compliant with the location and filter layout. When creating this widget, you don't need to specify a parent, since the widget's parent will be set automatically by KFileWidget.

setCustomWidget | ( | self, |
|  | QString | text,
|  | QWidget | widget
| ) |  |  |

Sets a custom widget that should be added below the location and the filter editors.

Parameters:

  | text | Label of the custom widget, which is displayed below the labels "Location:" and "Filter:".
  | widget | Any kind of widget, but preferable a combo box or a line editor to be compliant with the location and filter layout. When creating this widget, you don't need to specify a parent, since the widget's parent will be set automatically by KFileWidget.

setFilter | ( | self, |
|  | QString | filter
| ) |  |  |

Sets the filter to be used to filter.

You can set more filters for the user to select separated by '\n'. Every filter entry is defined through namefilter|text to display. 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

See also:
  setMimeFilter

setKeepLocation | ( | self, |
|  | 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 KFileWidget.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.

setLocationLabel | ( | self, |
|  | 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.

setMimeFilter | ( | self, |
|  | QStringList | types,
|  | QString | defaultType=QString()
| ) |  |  |

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

setMode | ( | self, |
|  | KFile.Modes | 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.Modes mode = KFile.Files |
                         KFile.ExistingOnly |
                         KFile.LocalOnly );
     setMode( mode );

setOperationMode | ( | self, |
|  | KAbstractFileWidget.OperationMode | a0
| ) |  |  |

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( KFileWidget.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 KFileWidget.

See also:
  operationMode

See also:
  KFileWidget.OperationMode

setPreviewWidget | ( | self, |
|  | 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 KFileWidget. You need to create the preview-widget with "new", i.e. on the heap.

Parameters:

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

setSelection | ( | self, |
|  | QString | name
| ) |  |  |

Sets the file name to preselect to name

This takes absolute URLs and relative file names.

setUrl | ( | self, |
|  | KUrl | url,
|  | bool | clearforward=1
| ) |  |  |

Sets the directory to view.

Parameters:

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

showEvent | ( | self, |
|  | QShowEvent | event
| ) |  |  |

slotCancel | ( |  | self ) |

slotOk | ( |  | self ) |

Called when clicking ok (when this widget is used in KFileDialog) Might or might not call accept().

KToolBar toolBar | ( |  | self ) |

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

## Static Method Documentation

KUrl getStartUrl | ( | KUrl | startDir,
|  | QString | recentDirClass
| ) |  |  |

Similar to getStartUrl(const KUrl& startDir,QString& recentDirClass), but allows both the recent start directory keyword and a suggested file name to be returned.

Parameters:

  | startDir | A URL specifying the initial directory and/or filename, or using the kfiledialog: syntax to specify a last used location. Refer to the KFileWidget.KFileWidget() documentation for the kfiledialog: URL syntax.
  | recentDirClass | If the kfiledialog: syntax is used, this will return the string to be passed to KRecentDirs.dir() and KRecentDirs.add().
  | fileName | The suggested file name, if specified as part of the StartDir URL.

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

See also:
  KFileWidget.KFileWidget()

Since:
  4.3

KUrl getStartUrl | ( | KUrl | startDir,
|  | QString | recentDirClass,
|  | QString | fileName
| ) |  |  |

Similar to getStartUrl(const KUrl& startDir,QString& recentDirClass), but allows both the recent start directory keyword and a suggested file name to be returned.

Parameters:

  | startDir | A URL specifying the initial directory and/or filename, or using the kfiledialog: syntax to specify a last used location. Refer to the KFileWidget.KFileWidget() documentation for the kfiledialog: URL syntax.
  | recentDirClass | If the kfiledialog: syntax is used, this will return the string to be passed to KRecentDirs.dir() and KRecentDirs.add().
  | fileName | The suggested file name, if specified as part of the StartDir URL.

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

See also:
  KFileWidget.KFileWidget()

Since:
  4.3

setStartDir | ( | KUrl | directory
| ) |  |  |

Internal:
  Used by KDirSelectDialog to share the dialog's start directory.