# kio Library API Documentation

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

# KPropertiesDialog Class Reference

The main properties dialog class. More...

`#include <kpropertiesdialog.h>`

Inheritance diagram for KPropertiesDialog:

[legend]
Collaboration diagram for KPropertiesDialog:

[legend]
List of all members.

## Public Slots

virtual void | slotOk ()
virtual void | slotCancel ()

## Signals

void | propertiesClosed ()
void | applied ()
void | canceled ()
void | saveAs (const KURL &oldUrl, KURL &newUrl)

## Public Member Functions

| KPropertiesDialog (KFileItem *item, QWidget *parent=0L, const char *name=0L, bool modal=false, bool autoShow=true)
| KPropertiesDialog (KFileItemList _items, QWidget *parent=0L, const char *name=0L, bool modal=false, bool autoShow=true)
| KPropertiesDialog (const KURL &_url, mode_t _mode, QWidget *parent=0L, const char *name=0L, bool modal=false, bool autoShow=true) KDE_DEPRECATED
| KPropertiesDialog (const KURL &_url, QWidget *parent=0L, const char *name=0L, bool modal=false, bool autoShow=true)
| KPropertiesDialog (const KURL &_tempUrl, const KURL &_currentDir, const QString &_defaultName, QWidget *parent=0L, const char *name=0L, bool modal=false, bool autoShow=true)
| KPropertiesDialog (const QString &title, QWidget *parent=0L, const char *name=0L, bool modal=false)
virtual | ~KPropertiesDialog ()
void | insertPlugin (KPropsDlgPlugin *plugin)
const KURL & | kurl () const
KFileItem * | item ()
KFileItemList | items () const
KDE_DEPRECATED KDialogBase * | dialog ()
KDE_DEPRECATED const KDialogBase * | dialog () const
const KURL & | currentDir () const
const QString & | defaultName () const
void | updateUrl (const KURL &_newUrl)
void | rename (const QString &_name)
void | abortApplying ()
void | showFileSharingPage ()
void | setFileSharingPage (QWidget *page)
void | setFileNameReadOnly (bool ro)

## Static Public Member Functions

static bool | canDisplay (KFileItemList _items)
static bool | showDialog (KFileItem *item, QWidget *parent=0, const char *name=0, bool modal=false)
static bool | showDialog (const KURL &_url, QWidget *parent=0, const char *name=0, bool modal=false)
static bool | showDialog (const KFileItemList &_items, QWidget *parent=0, const char *name=0, bool modal=false)

## Protected Member Functions

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

## Detailed Description

The main properties dialog class.

A Properties Dialog is a dialog which displays various information about a particular file or URL, or several files or URLs. This main class holds various related classes, which are instantiated in the form of tab entries in the tabbed dialog that this class provides. The various tabs themselves will let the user view, and sometimes change, information about the file or URL.

Typical KProperties Dialog

This class must be created with (void)new KPropertiesDialog(...) It will take care of deleting itself.

If you are looking for more flexibility, see KFileMetaInfo and KFileMetaInfoWidget.

Definition at line 70 of file kpropertiesdialog.h.

## Constructor & Destructor Documentation

KPropertiesDialog::KPropertiesDialog | ( | KFileItem * | item,
|  | QWidget * | parent = `0L`,
|  | const char * | name = `0L`,
|  | bool | modal = `false`,
|  | bool | autoShow = `true`
| ) |

Brings up a Properties dialog, as shown above.

This is the normal constructor for file-manager type applications, where you have a KFileItem instance to work with. Normally you will use this method rather than the one below.

Parameters:

  | item | file item whose properties should be displayed.
  | parent | is the parent of the dialog widget.
  | name | is the internal name.
  | modal | tells the dialog whether it should be modal.
  | autoShow | tells the dialog whether it should show itself automatically.

Definition at line 152 of file kpropertiesdialog.cpp.

References QPtrList::append(), KURL::isEmpty(), item(), and KFileItem::url().

Referenced by showDialog().

KPropertiesDialog::KPropertiesDialog | ( | KFileItemList | _items,
|  | QWidget * | parent = `0L`,
|  | const char * | name = `0L`,
|  | bool | modal = `false`,
|  | bool | autoShow = `true`
| ) |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

You use this constructor for cases where you have a number of items, rather than a single item. Be careful which methods you use when passing a list of files or URLs, since some of them will only work on the first item in a list.

Parameters:

  | _items | list of file items whose properties should be displayed.
  | parent | is the parent of the dialog widget.
  | name | is the internal name.
  | modal | tells the dialog whether it should be modal.
  | autoShow | tells the dialog whether it should show itself automatically.

Definition at line 180 of file kpropertiesdialog.cpp.

References QPtrList::append(), QPtrListIterator::current(), QPtrList::first(), KURL::isEmpty(), and QPtrList::isEmpty().

KPropertiesDialog::KPropertiesDialog | ( | const KURL & | _url,
|  | mode_t | _mode,
|  | QWidget * | parent = `0L`,
|  | const char * | name = `0L`,
|  | bool | modal = `false`,
|  | bool | autoShow = `true`
| ) |

Deprecated:
  You should use the following constructor instead of this one. The only change that is required is to delete the _mode argument.

Parameters:

  | _url | the URL whose properties should be displayed
  | _mode | unused.
  | parent | is the parent of the dialog widget.
  | name | is the internal name.
  | modal | tells the dialog whether it should be modal.
  | autoShow | tells the dialog whether it should show itself automatically.

Definition at line 206 of file kpropertiesdialog.cpp.

References QPtrList::append(), and KIO::NetAccess< T, K >::stat().

KPropertiesDialog::KPropertiesDialog | ( | const KURL & | _url,
|  | QWidget * | parent = `0L`,
|  | const char * | name = `0L`,
|  | bool | modal = `false`,
|  | bool | autoShow = `true`
| ) |

Brings up a Properties dialog.

Convenience constructor for non-file-manager applications, where you have a KURL rather than a KFileItem or KFileItemList.

Parameters:

  | _url | the URL whose properties should be displayed
  | parent | is the parent of the dialog widget.
  | name | is the internal name.
  | modal | tells the dialog whether it should be modal. IMPORTANT: This constructor, together with modal=true, leads to a grave display bug (due to KIO::stat() being run before the dialog has all the necessary information). Do not use this combination for now. For local files with a known mimetype, simply create a KFileItem and pass it to the other constructor.
  | autoShow | tells the dialog whethr it should show itself automatically.

Definition at line 226 of file kpropertiesdialog.cpp.

References QPtrList::append(), and KIO::NetAccess< T, K >::stat().

KPropertiesDialog::KPropertiesDialog | ( | const KURL & | _tempUrl,
|  | const KURL & | _currentDir,
|  | const QString & | _defaultName,
|  | QWidget * | parent = `0L`,
|  | const char * | name = `0L`,
|  | bool | modal = `false`,
|  | bool | autoShow = `true`
| ) |

Creates a properties dialog for a new .desktop file (whose name is not known yet), based on a template.

Special constructor for "File / New" in file-manager type applications.

Parameters:

  | _tempUrl | template used for reading only
  | _currentDir | directory where the file will be written to
  | _defaultName | something to put in the name field, like mimetype.desktop
  | parent | is the parent of the dialog widget.
  | name | is the internal name.
  | modal | tells the dialog whether it should be modal.
  | autoShow | tells the dialog whethr it should show itself automatically.

Definition at line 245 of file kpropertiesdialog.cpp.

References QPtrList::append(), and KURL::isEmpty().

KPropertiesDialog::KPropertiesDialog | ( | const QString & | title,
|  | QWidget * | parent = `0L`,
|  | const char * | name = `0L`,
|  | bool | modal = `false`
| ) |

Creates an empty properties dialog (for applications that want use a standard dialog, but for things not doable via the plugin-mechanism).

Parameters:

  | title | is the string display as the "filename" in the caption of the dialog.
  | parent | is the parent of the dialog widget.
  | name | is the internal name.
  | modal | tells the dialog whether it should be modal.

Definition at line 169 of file kpropertiesdialog.cpp.

KPropertiesDialog::~KPropertiesDialog | ( |  | ) | `[virtual]`

| Cleans up the properties dialog and frees any associated resources, including the dialog itself. Note that when a properties dialog is closed it cleans up and deletes itself. Definition at line 345 of file kpropertiesdialog.cpp. References QPtrList::clear().

## Member Function Documentation

bool KPropertiesDialog::canDisplay | ( | KFileItemList | _items | ) | `[static]`

Determine whether there are any property pages available for the given file items.

Parameters:

  | _items | the list of items to check.

Returns:
  true if there are any property pages, otherwise false.

Definition at line 359 of file kpropertiesdialog.cpp.

References KFileMetaPropsPlugin::supports(), KFilePermissionsPropsPlugin::supports(), and KFilePropsPlugin::supports().

bool KPropertiesDialog::showDialog | ( | KFileItem * | item,
|  | QWidget * | parent = `0`,
|  | const char * | name = `0`,
|  | bool | modal = `false`
| ) | `[static]`

Immediately displays a Properties dialog using constructor with the same parameters.

On MS Windows, if `item` points to a local file, native (non modal) property dialog is displayed (`parent` and `modal` are ignored in this case).

Returns:
  true on succesfull dialog displaying (can be false on win32).

Since:
  3.4

Definition at line 267 of file kpropertiesdialog.cpp.

References QString::isEmpty(), item(), KPropertiesDialog(), and KFileItem::localPath().

Referenced by showDialog().

bool KPropertiesDialog::showDialog | ( | const KURL & | _url,
|  | QWidget * | parent = `0`,
|  | const char * | name = `0`,
|  | bool | modal = `false`
| ) | `[static]`

Immediately displays a Properties dialog using constructor with the same parameters.

On MS Windows, if `_url` points to a local file, native (non modal) property dialog is displayed (`parent` and `modal` are ignored in this case).

Returns:
  true on succesfull dialog displaying (can be false on win32).

Since:
  3.4

Definition at line 279 of file kpropertiesdialog.cpp.

References KPropertiesDialog().

bool KPropertiesDialog::showDialog | ( | const KFileItemList & | _items,
|  | QWidget * | parent = `0`,
|  | const char * | name = `0`,
|  | bool | modal = `false`
| ) | `[static]`

Immediately displays a Properties dialog using constructor with the same parameters.

On MS Windows, if `_items` has one element and this element points to a local file, native (non modal) property dialog is displayed (`parent` and `modal` are ignored in this case).

Returns:
  true on succesfull dialog displaying (can be false on win32).

Since:
  3.4

Definition at line 290 of file kpropertiesdialog.cpp.

References KPropertiesDialog(), and showDialog().

void KPropertiesDialog::insertPlugin | ( | KPropsDlgPlugin * | plugin | ) |

Adds a "3rd party" properties plugin to the dialog.

Useful for extending the properties mechanism.

To create a new plugin type, inherit from the base class KPropsDlgPlugin and implement all the methods. If you define a service .desktop file for your plugin, you do not need to call insertPlugin().

Parameters:

  | plugin | is a pointer to the KPropsDlgPlugin. The Properties dialog will do destruction for you. The KPropsDlgPlugin must have been created with the KPropertiesDialog as its parent.

See also:
  KPropsDlgPlugin

Definition at line 351 of file kpropertiesdialog.cpp.

References QPtrList::append().

const KURL& KPropertiesDialog::kurl | ( |  | ) | const`[inline]`

The URL of the file that has its properties being displayed.

This is only valid if the KPropertiesDialog was created/shown for one file or URL.

Returns:
  a parsed URL.

Definition at line 253 of file kpropertiesdialog.h.

Referenced by KApplicationPropsPlugin::applyChanges(), KExecPropsPlugin::applyChanges(), KDesktopPropsPlugin::applyChanges(), KDevicePropsPlugin::applyChanges(), KBindingPropsPlugin::applyChanges(), KURLPropsPlugin::applyChanges(), KFilePropsPlugin::applyChanges(), KApplicationPropsPlugin::KApplicationPropsPlugin(), KFileMetaPropsPlugin::KFileMetaPropsPlugin(), KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(), and KURLPropsPlugin::KURLPropsPlugin().

KFileItem* KPropertiesDialog::item | ( |  | ) | `[inline]`

Returns:
  the file item for which the dialog is shown

Warning: this method returns the first item of the list. This means that you should use this only if you are sure the dialog is used for a single item. Otherwise, you probably want items() instead.

Definition at line 262 of file kpropertiesdialog.h.

Referenced by KFileMetaPropsPlugin::KFileMetaPropsPlugin(), KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(), KPropertiesDialog(), and showDialog().

KFileItemList KPropertiesDialog::items | ( |  | ) | const`[inline]`

Returns:
  the items for which the dialog is shown

Definition at line 267 of file kpropertiesdialog.h.

Referenced by KFilePermissionsPropsPlugin::applyChanges(), KFileSharePropsPlugin::applyChanges(), KFileMetaPropsPlugin::KFileMetaPropsPlugin(), KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(), and KFilePropsPlugin::postApplyChanges().

KDE_DEPRECATED KDialogBase* KPropertiesDialog::dialog | ( |  | ) | `[inline]`

Returns:
  a pointer to the dialog

Deprecated:
  KPropertiesDialog directly inherits from KDialogBase, so use this instead

Definition at line 273 of file kpropertiesdialog.h.

KDE_DEPRECATED const KDialogBase* KPropertiesDialog::dialog | ( |  | ) | const`[inline]`

Returns:
  a pointer to the dialog

Deprecated:
  KPropertiesDialog directly inherits from KDialogBase, so use this instead

Definition at line 278 of file kpropertiesdialog.h.

const KURL& KPropertiesDialog::currentDir | ( |  | ) | const`[inline]`

If the dialog is being built from a template, this method returns the current directory.

If no template, it returns QString::null. See the template form of the constructor.

Returns:
  the current directory or QString::null

Definition at line 287 of file kpropertiesdialog.h.

const QString& KPropertiesDialog::defaultName | ( |  | ) | const`[inline]`

If the dialog is being built from a template, this method returns the default name.

If no template, it returns QString::null. See the template form of the constructor.

Returns:
  the default name or QString::null

Definition at line 295 of file kpropertiesdialog.h.

void KPropertiesDialog::updateUrl | ( | const KURL & | _newUrl | ) |

Updates the item URL (either called by rename or because a global apps/mimelnk desktop file is being saved) Can only be called if the dialog applies to a single file or URL.

Parameters:

  | _newUrl | the new URL

Definition at line 512 of file kpropertiesdialog.cpp.

References QPtrList::count(), QPtrList::current(), endl(), QPtrList::first(), KURL::isEmpty(), kdDebug(), saveAs(), and KURL::url().

Referenced by KFilePropsPlugin::applyChanges(), and rename().

void KPropertiesDialog::rename | ( | const QString & | _name | ) |

Renames the item to the specified name.

This can only be called if the dialog applies to a single file or URL.

Parameters:

  | _name | new filename, encoded.

See also:
  FilePropsDlgPlugin::applyChanges

Definition at line 536 of file kpropertiesdialog.cpp.

References KURL::addPath(), QString::at(), QPtrList::count(), endl(), KURL::isEmpty(), kdDebug(), QString::length(), KURL::setFileName(), QString::truncate(), updateUrl(), and KURL::url().

Referenced by KFilePropsPlugin::applyChanges().

void KPropertiesDialog::abortApplying | ( |  | ) |

| To abort applying changes. Definition at line 559 of file kpropertiesdialog.cpp. Referenced by KFilePropsPlugin::applyChanges(), and KFileSharePropsPlugin::applyChanges().

void KPropertiesDialog::showFileSharingPage | ( |  | ) |

Shows the page that was previously set by setFileSharingPage(), or does nothing if no page was set yet.

See also:
  setFileSharingPage

Since:
  3.1

Definition at line 315 of file kpropertiesdialog.cpp.

References KDialogBase::pageIndex(), and KDialogBase::showPage().

void KPropertiesDialog::setFileSharingPage | ( | QWidget * | page | ) |

Sets the file sharing page.

This page is shown when calling showFileSharingPage().

Parameters:

  | page | the page to set

See also:
  showFileSharingPage

Since:
  3.3

Definition at line 322 of file kpropertiesdialog.cpp.

void KPropertiesDialog::setFileNameReadOnly | ( | bool | ro | ) |

Call this to make the filename lineedit readonly, to prevent the user from renaming the file.

Parameters:

  | ro | true if the lineedit should be read only

Since:
  3.2

Definition at line 327 of file kpropertiesdialog.cpp.

References QPtrList::first(), QPtrList::next(), and KFilePropsPlugin::setFileNameReadOnly().

void KPropertiesDialog::slotOk | ( |  | ) | `[virtual, slot]`

| Called when the user presses 'Ok'. Reimplemented from KDialogBase. Definition at line 371 of file kpropertiesdialog.cpp. References QDialog::accept(), applied(), KPropsDlgPlugin::applyChanges(), QObject::className(), endl(), QPtrList::first(), KPropsDlgPlugin::isDirty(), kdDebug(), QPtrList::next(), KFilePropsPlugin::postApplyChanges(), propertiesClosed(), and KPropsDlgPlugin::setDirty().

void KPropertiesDialog::slotCancel | ( |  | ) | `[virtual, slot]`

| Called when the user presses 'Cancel'. Reimplemented from KDialogBase. Definition at line 416 of file kpropertiesdialog.cpp. References canceled(), QDialog::done(), and propertiesClosed().

void KPropertiesDialog::propertiesClosed | ( |  | ) | `[signal]`

| This signal is emitted when the Properties Dialog is closed (for example, with OK or Cancel buttons). Referenced by slotCancel(), and slotOk().

void KPropertiesDialog::applied | ( |  | ) | `[signal]`

| This signal is emitted when the properties changes are applied (for example, with the OK button). Referenced by slotOk().

void KPropertiesDialog::canceled | ( |  | ) | `[signal]`

| This signal is emitted when the properties changes are aborted (for example, with the Cancel button). Referenced by slotCancel().

void KPropertiesDialog::saveAs | ( | const KURL & | oldUrl,
|  | KURL & | newUrl
| ) | `[signal]`

| Emitted before changes to `oldUrl` are saved as `newUrl`. The receiver may change `newUrl` to point to an alternative save location. Referenced by updateUrl().

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

- kpropertiesdialog.h
- kpropertiesdialog.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:25:10 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003