Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QUriDrag Class Reference

The QUriDrag class provides a drag object for a list of URI references. More...

`#include <qdragobject.h>`

Inherits QStoredDrag.

List of all member functions.

## Public Members

- QUriDrag ( QStrList uris, QWidget * dragSource = 0, const char * name = 0 )
- QUriDrag ( QWidget * dragSource = 0, const char * name = 0 )
- ~QUriDrag ()
- void setFilenames ( const QStringList & fnames ) (obsolete)
- void setFileNames ( const QStringList & fnames )
- void setUnicodeUris ( const QStringList & uuris )
- virtual void setUris ( QStrList uris )

## Static Public Members

- QString uriToLocalFile ( const char * uri )
- QCString localFileToUri ( const QString & filename )
- QString uriToUnicodeUri ( const char * uri )
- QCString unicodeUriToUri ( const QString & uuri )
- bool canDecode ( const QMimeSource * e )
- bool decode ( const QMimeSource * e, QStrList & l )
- bool decodeToUnicodeUris ( const QMimeSource * e, QStringList & l )
- bool decodeLocalFiles ( const QMimeSource * e, QStringList & l )

## Detailed Description

The QUriDrag class provides a drag object for a list of URI references.

URIs are a useful way to refer to files that may be distributed across multiple machines. A URI will often refer to a file on a machine local to both the drag source and the drop target, so the URI will be equivalent to passing a file name but will be more extensible.

Use URIs in Unicode form so that the user can comfortably edit and view them. For use in HTTP or other protocols, use the correctly escaped ASCII form.

You can convert a list of file names to file URIs using setFileNames(), or into human-readble for with setUnicodeUris().

Static functions are provided to convert between filenames and URIs, e.g. uriToLocalFile() and localFileToUri(), and to and from human-readable form, e.g. uriToUnicodeUri(), unicodeUriToUri(). You can also decode URIs from a mimesource into a list with decodeLocalFiles() and decodeToUnicodeUris().

See also Drag And Drop Classes.

## Member Function Documentation

### QUriDrag::QUriDrag ( QStrList uris, QWidget * dragSource = 0, const char * name = 0 )

Constructs an object to drag the list of URIs in uris. The dragSource and name arguments are passed on to QStoredDrag. Note that URIs are always in escaped UTF8 encoding, as defined by the W3C.

### QUriDrag::QUriDrag ( QWidget * dragSource = 0, const char * name = 0 )

Constructs a object to drag. You will need to call setUris() before you start the drag(). Passes dragSource and name to the QStoredDrag constructor.

### QUriDrag::~QUriDrag ()

Destroys the object.

### bool QUriDrag::canDecode ( const QMimeSource * e )`[static]`

Returns TRUE if decode() would be able to decode e; otherwise returns FALSE.

### bool QUriDrag::decode ( const QMimeSource * e, QStrList & l )`[static]`

Decodes URIs from e, placing the result in l (which is first cleared).

Returns TRUE if the event contained a valid list of URIs; otherwise returns FALSE.

Examples: dirview/dirview.cpp and fileiconview/qfileiconview.cpp.

### bool QUriDrag::decodeLocalFiles ( const QMimeSource * e, QStringList & l )`[static]`

Decodes URIs from the mime source event e, converts them to local files if they refer to local files, and places them in l (which is first cleared).

Returns TRUE if contained a valid list of URIs; otherwise returns FALSE. The list will be empty if no URIs were local files.

### bool QUriDrag::decodeToUnicodeUris ( const QMimeSource * e, QStringList & l )`[static]`

Decodes URIs from the mime source event e, converts them to Unicode URIs (only useful for displaying to humans), placing them in l (which is first cleared).

Returns TRUE if contained a valid list of URIs; otherwise returns FALSE.

### QCString QUriDrag::localFileToUri ( const QString & filename )`[static]`

Returns the URI equivalent to the absolute local file filename.

See also uriToLocalFile().

### void QUriDrag::setFileNames ( const QStringList & fnames )

Sets the URIs to be the local-file URIs equivalent to fnames.

See also localFileToUri() and setUris().

### void QUriDrag::setFilenames ( const QStringList & fnames )

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.

Use setFileNames() instead (notice the N).

### void QUriDrag::setUnicodeUris ( const QStringList & uuris )

Sets the URIs to be the Unicode URIs (only useful for displaying to humans) uuris.

See also localFileToUri() and setUris().

Example: dirview/dirview.cpp.

### void QUriDrag::setUris ( QStrList uris )`[virtual]`

Changes the list of uris to be dragged.

### QCString QUriDrag::unicodeUriToUri ( const QString & uuri )`[static]`

Returns the URI equivalent to the Unicode URI (only useful for displaying to humans) uuri.

See also uriToLocalFile().

### QString QUriDrag::uriToLocalFile ( const char * uri )`[static]`

Returns the name of a local file equivalent to uri or a null string if uri is not a local file.

See also localFileToUri().

### QString QUriDrag::uriToUnicodeUri ( const char * uri )`[static]`

Returns the Unicode URI (only useful for displaying to humans) equivalent to uri.

See also localFileToUri().

This file is part of the Qt toolkit, copyright © 1995-2001 Trolltech, all rights reserved.