<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/ntqfiledialog.h:1 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>ntqfiledialog.h Include File</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
 <a href="index.html">
<font color="#004faf">Home</font></a>
 | <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
 | <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
 | <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
 | <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>ntqfiledialog.h</h1>

<p>This is the verbatim text of the ntqfiledialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
<hr>
<pre>
/****************************************************************************
** $Id: qt/ntqfiledialog.h   3.3.8   edited Jan 11 14:37 $
**
** Definition of TQFileDialog class
**
** Created : 950428
**
** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
**
** This file is part of the dialogs module of the TQt GUI Toolkit.
**
** This file may be used under the terms of the GNU General Public
** License versions 2.0 or 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Alternatively you may (at your option) use any
** later version of the GNU General Public License if such license has
** been publicly approved by Trolltech ASA (or its successors, if any)
** and the KDE Free TQt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
** or contact the sales department at sales@trolltech.com.
**
** This file may be used under the terms of the Q Public License as
** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
** included in the packaging of this file.  Licensees holding valid TQt
** Commercial licenses may use this file in accordance with the TQt
** Commercial License Agreement provided with the Software.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/

#ifndef TQFILEDIALOG_H
#define TQFILEDIALOG_H

class TQPushButton;
class TQButton;
class TQLabel;
class TQWidget;
class TQFileDialog;
class TQTimer;
class TQNetworkOperation;
class TQLineEdit;
class TQListViewItem;
class TQListBoxItem;
class TQFileDialogPrivate;
class TQFileDialogTQFileListView;

#ifndef QT_H
#include "ntqdir.h"
#include "ntqdialog.h"
#include "ntqurloperator.h"
#include "ntqurlinfo.h"
#endif // QT_H

#if __GNUC__ - 0 &gt; 3
#pragma GCC system_header
#endif

#ifndef TQT_NO_FILEDIALOG

class Q_EXPORT TQFileIconProvider : public TQObject
{
    TQ_OBJECT
public:
    TQFileIconProvider( TQObject * parent = 0, const char* name = 0 );
    virtual const TQPixmap * pixmap( const TQFileInfo &amp; );

private:	// Disabled copy constructor and operator=
#if defined(TQ_DISABLE_COPY)
    TQFileIconProvider( const TQFileIconProvider &amp; );
    TQFileIconProvider&amp; operator=( const TQFileIconProvider &amp; );
#endif
};

class Q_EXPORT TQFilePreview
{
public:
    TQFilePreview();
    virtual void previewUrl( const TQUrl &amp;url ) = 0;

};

class Q_EXPORT TQFileDialog : public TQDialog
{
    TQ_OBJECT
    TQ_ENUMS( Mode ViewMode PreviewMode )
    // ##### Why are this read-only properties ?
    TQ_PROPERTY( TQString selectedFile READ selectedFile )
    TQ_PROPERTY( TQString selectedFilter READ selectedFilter )
    TQ_PROPERTY( TQStringList selectedFiles READ selectedFiles )
    // #### Should not we be able to set the path ?
    TQ_PROPERTY( TQString dirPath READ dirPath )
    TQ_PROPERTY( bool showHiddenFiles READ showHiddenFiles WRITE setShowHiddenFiles )
    TQ_PROPERTY( Mode mode READ mode WRITE setMode )
    TQ_PROPERTY( ViewMode viewMode READ viewMode WRITE setViewMode )
    TQ_PROPERTY( PreviewMode previewMode READ previewMode WRITE setPreviewMode )
    TQ_PROPERTY( bool infoPreview READ isInfoPreviewEnabled WRITE setInfoPreviewEnabled )
    TQ_PROPERTY( bool contentsPreview READ isContentsPreviewEnabled WRITE setContentsPreviewEnabled )

public:
    TQFileDialog( const TQString&amp; dirName, const TQString&amp; filter = TQString::null,
		 TQWidget* parent=0, const char* name=0, bool modal = FALSE );
    TQFileDialog( TQWidget* parent=0, const char* name=0, bool modal = FALSE );
    ~TQFileDialog();

    // recommended static functions

    static TQString getOpenFileName( const TQString &amp;initially = TQString::null,
				    const TQString &amp;filter = TQString::null,
				    TQWidget *parent = 0, const char* name = 0,
				    const TQString &amp;caption = TQString::null,
				    TQString *selectedFilter = 0,
				    bool resolveSymlinks = TRUE);
    static TQString getSaveFileName( const TQString &amp;initially = TQString::null,
				    const TQString &amp;filter = TQString::null,
				    TQWidget *parent = 0, const char* name = 0,
				    const TQString &amp;caption = TQString::null,
				    TQString *selectedFilter = 0,
				    bool resolveSymlinks = TRUE);
    static TQString getExistingDirectory( const TQString &amp;dir = TQString::null,
					 TQWidget *parent = 0,
					 const char* name = 0,
					 const TQString &amp;caption = TQString::null,
					 bool dirOnly = TRUE,
					 bool resolveSymlinks = TRUE);
    static TQStringList getOpenFileNames( const TQString &amp;filter= TQString::null,
					 const TQString &amp;dir = TQString::null,
					 TQWidget *parent = 0,
					 const char* name = 0,
					 const TQString &amp;caption = TQString::null,
					 TQString *selectedFilter = 0,
					 bool resolveSymlinks = TRUE);

    // other static functions

    static void setIconProvider( TQFileIconProvider * );
    static TQFileIconProvider * iconProvider();

    // non-static function for special needs

    TQString selectedFile() const;
    TQString selectedFilter() const;
    virtual void setSelectedFilter( const TQString&amp; );
    virtual void setSelectedFilter( int );

    void setSelection( const TQString &amp;);

    void selectAll( bool b );

    TQStringList selectedFiles() const;

    TQString dirPath() const;

    void setDir( const TQDir &amp; );
    const TQDir *dir() const;

    void setShowHiddenFiles( bool s );
    bool showHiddenFiles() const;

    void rereadDir();
    void resortDir();

    enum Mode { AnyFile, ExistingFile, Directory, ExistingFiles, DirectoryOnly };
    void setMode( Mode );
    Mode mode() const;

    enum ViewMode { Detail, List };
    enum PreviewMode { NoPreview, Contents, Info };
    void setViewMode( ViewMode m );
    ViewMode viewMode() const;
    void setPreviewMode( PreviewMode m );
    PreviewMode previewMode() const;

    bool eventFilter( TQObject *, TQEvent * );

    bool isInfoPreviewEnabled() const;
    bool isContentsPreviewEnabled() const;
    void setInfoPreviewEnabled( bool );
    void setContentsPreviewEnabled( bool );

    void setInfoPreview( TQWidget *w, TQFilePreview *preview );
    void setContentsPreview( TQWidget *w, TQFilePreview *preview );

    TQUrl url() const;

    void addFilter( const TQString &amp;filter );

public slots:
    void done( int );
    void setDir( const TQString&amp; );
    void setUrl( const TQUrlOperator &amp;url );
    void setFilter( const TQString&amp; );
    void setFilters( const TQString&amp; );
    void setFilters( const char ** );
    void setFilters( const TQStringList&amp; );

protected:
    void resizeEvent( TQResizeEvent * );
    void keyPressEvent( TQKeyEvent * );

    void addWidgets( TQLabel *, TQWidget *, TQPushButton * );
    void addToolButton( TQButton *b, bool separator = FALSE );
    void addLeftWidget( TQWidget *w );
    void addRightWidget( TQWidget *w );

signals:
    void fileHighlighted( const TQString&amp; );
    void fileSelected( const TQString&amp; );
    void filesSelected( const TQStringList&amp; );
    void dirEntered( const TQString&amp; );
    void filterSelected( const TQString&amp; );

private slots:
    void detailViewSelectionChanged();
    void listBoxSelectionChanged();
    void changeMode( int );
    void fileNameEditReturnPressed();
    void stopCopy();
    void removeProgressDia();

    void fileSelected( int );
    void fileHighlighted( int );
    void dirSelected( int );
    void pathSelected( int );

    void updateFileNameEdit( TQListViewItem *);
    void selectDirectoryOrFile( TQListViewItem * );
    void popupContextMenu( TQListViewItem *, const TQPoint &amp;, int );
    void popupContextMenu( TQListBoxItem *, const TQPoint &amp; );
    void updateFileNameEdit( TQListBoxItem *);
    void selectDirectoryOrFile( TQListBoxItem * );
    void fileNameEditDone();

    void okClicked();
    void filterClicked(); // not used
    void cancelClicked();

    void cdUpClicked();
    void newFolderClicked();

    void fixupNameEdit();

    void doMimeTypeLookup();

    void updateGeometries();
    void modeButtonsDestroyed();
    void urlStart( TQNetworkOperation *op );
    void urlFinished( TQNetworkOperation *op );
    void dataTransferProgress( int bytesDone, int bytesTotal, TQNetworkOperation * );
    void insertEntry( const TQValueList&lt;TQUrlInfo&gt; &amp;fi, TQNetworkOperation *op );
    void removeEntry( TQNetworkOperation * );
    void createdDirectory( const TQUrlInfo &amp;info, TQNetworkOperation * );
    void itemChanged( TQNetworkOperation * );
    void goBack();

private:
    enum PopupAction {
	PA_Open = 0,
	PA_Delete,
	PA_Rename,
	PA_SortName,
	PA_SortSize,
	PA_SortType,
	PA_SortDate,
	PA_SortUnsorted,
	PA_Cancel,
	PA_Reload,
	PA_Hidden
    };

    void init();
    bool trySetSelection( bool isDir, const TQUrlOperator &amp;, bool );
    void deleteFile( const TQString &amp;filename );
    void popupContextMenu( const TQString &amp;filename, bool withSort,
			   PopupAction &amp;action, const TQPoint &amp;p );
    void updatePreviews( const TQUrl &amp;u );

    TQDir reserved; // was cwd
    TQString fileName;

    friend class TQFileDialogTQFileListView;
    friend class TQFileListBox;

    TQFileDialogPrivate *d;
    TQFileDialogTQFileListView  *files;

    TQLineEdit  *nameEdit; // also filter
    TQPushButton *okB;
    TQPushButton *cancelB;

#if defined(Q_WS_WIN)
    static TQString winGetOpenFileName( const TQString &amp;initialSelection,
				       const TQString &amp;filter,
				       TQString* workingDirectory,
				       TQWidget *parent = 0,
				       const char* name = 0,
				       const TQString&amp; caption = TQString::null,
				       TQString* selectedFilter = 0 );
    static TQString winGetSaveFileName( const TQString &amp;initialSelection,
				       const TQString &amp;filter,
				       TQString* workingDirectory,
				       TQWidget *parent = 0,
				       const char* name = 0,
				       const TQString&amp; caption = TQString::null,
    				       TQString* selectedFilter = 0 );
    static TQStringList winGetOpenFileNames( const TQString &amp;filter,
					    TQString* workingDirectory,
					    TQWidget *parent = 0,
					    const char* name = 0,
					    const TQString&amp; caption = TQString::null,
					    TQString* selectedFilter = 0 );
    static TQString winGetExistingDirectory( const TQString &amp;initialDirectory,
					    TQWidget* parent = 0,
					    const char* name = 0,
					    const TQString&amp; caption = TQString::null);
    static TQString resolveLinkFile( const TQString&amp; linkfile );
#endif
#if defined(Q_WS_MACX) || defined(Q_WS_MAC9)
    static TQString macGetSaveFileName( const TQString &amp;, const TQString &amp;,
				       TQString *, TQWidget *, const char*,
				       const TQString&amp;, TQString *);
    static TQStringList macGetOpenFileNames( const TQString &amp;, TQString*,
					    TQWidget *, const char *,
					    const TQString&amp;, TQString *,
					    bool = TRUE, bool = FALSE );
#endif


private:	// Disabled copy constructor and operator=
#if defined(TQ_DISABLE_COPY)
    TQFileDialog( const TQFileDialog &amp; );
    TQFileDialog &amp;operator=( const TQFileDialog &amp; );
#endif
};

#endif

#endif // TQFILEDIALOG_H
</pre>
<!-- eof -->
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>TQt 3.3.8</div>
</table></div></address></body>
</html>