//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdefile  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KFileDialog : KDialogBase
{
%TypeHeaderCode
#include <tdefiledialog.h>
%End


public:

    enum OperationMode
    {
        Other, 
        Opening, 
        Saving
    };

                         KFileDialog (const TQString&, const TQString&, TQWidget* /TransferThis/, const char*, bool);

%If ( KDE_3_1_0 -  )
                         KFileDialog (const TQString&, const TQString&, TQWidget* /TransferThis/, const char*, bool, TQWidget*);
%End

    KURL                 selectedURL () const;
    KURL::List           selectedURLs () const;
    KURL                 baseURL () const;
    TQString              selectedFile () const;
    TQStringList          selectedFiles () const;
    void                 setURL (const KURL&, bool = 1);
    void                 setSelection (const TQString&);
    void                 setOperationMode (KFileDialog::OperationMode);
    KFileDialog::OperationMode operationMode () const;
    void                 setKeepLocation (bool);
    bool                 keepsLocation () const;
    void                 setFilter (const TQString&);
    TQString              currentFilter () const;
    void                 setFilterMimeType (const TQString&, const KMimeType::List&, const KMimeType::Ptr&);
    KMimeType::Ptr       currentFilterMimeType ();
    void                 setMimeFilter (const TQStringList&, const TQString& = TQString ::null );
    TQString              currentMimeFilter () const;
    void                 clearFilter ();
    void                 setPreviewWidget (const TQWidget*);
    void                 setPreviewWidget (const KPreviewWidgetBase*);
    static TQString       getOpenFileName (const TQString& = TQString ::null , const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );

%If ( KDE_3_4_0 -  )
    static TQString       getOpenFileNameWId (const TQString&, const TQString&, WId, const TQString&);
%End

    static TQStringList   getOpenFileNames (const TQString& = TQString ::null , const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );
    static KURL          getOpenURL (const TQString& = TQString ::null , const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );
    static KURL::List    getOpenURLs (const TQString& = TQString ::null , const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );
    static TQString       getSaveFileName (const TQString& = TQString ::null , const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );

%If ( KDE_3_4_0 -  )
    static TQString       getSaveFileNameWId (const TQString&, const TQString&, WId, const TQString&);
%End

    static KURL          getSaveURL (const TQString& = TQString ::null , const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );
    static TQString       getExistingDirectory (const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );

%If ( KDE_3_1_0 -  )
    static KURL          getExistingURL (const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );
%End

    static KURL          getImageOpenURL (const TQString& = TQString ::null , TQWidget* /Transfer/ = 0, const TQString& = TQString ::null );
    virtual void         show ();
    void                 setMode (KFile::Mode /Constrained/);
    void                 setMode (uint);
    KFile::Mode          mode () const;
    void                 setLocationLabel (const TQString&);
    TDEToolBar*            toolBar () const;
    KPushButton*         okButton () const;
    KPushButton*         cancelButton () const;

%If ( KDE_3_2_0 -  )
    KURLBar*             speedBar ();
%End

    TDEActionCollection*   actionCollection () const;

%If ( KDE_3_1_0 -  )
    int                  pathComboIndex ();
    static KURL          getStartURL (const TQString&, TQString&);

%If ( KDE_3_2_0 -  )
    static void          setStartDir (const KURL&);
%End

%End


signals:
    void                 fileSelected (const TQString&);
    void                 fileHighlighted (const TQString&);
    void                 selectionChanged ();
    void                 filterChanged (const TQString&);

protected:

%If ( KDE_3_2_0 -  )
    virtual void         keyPressEvent (TQKeyEvent*);
%End


%If ( KDE_3_1_0 -  )
    void                 init (const TQString&, const TQString&, TQWidget*);
%End

    virtual void         initGUI ();
    void                 multiSelectionChanged ();
    virtual void         readConfig (TDEConfig*, const TQString& = TQString ::null );
    virtual void         writeConfig (TDEConfig*, const TQString& = TQString ::null );
    virtual void         readRecentFiles (TDEConfig*);
    virtual void         saveRecentFiles (TDEConfig*);
    KURL::List           tokenize (const TQString&) const;

%If ( KDE_3_2_0 -  )
    KURL                 getCompleteURL (const TQString&);
    TQString              currentFilterExtension ();
    void                 updateAutoSelectExtension ();
%End


protected slots:
    void                 urlEntered (const KURL&);
    void                 enterURL (const KURL&);
    void                 enterURL (const TQString&);
    void                 locationActivated (const TQString&);
    void                 toolbarCallback (int);
    void                 pathComboChanged (const TQString&);
    void                 dirCompletion (const TQString&);
    void                 slotFilterChanged ();
    void                 fileHighlighted (const KFileItem*);
    void                 fileSelected (const KFileItem*);
    void                 slotStatResult (TDEIO::Job*);
    void                 slotLoadingFinished ();
    void                 fileCompletion (const TQString&);

%If ( KDE_3_1_0 -  )
    void                 toggleSpeedbar (bool);

%If ( KDE_3_4_0 -  )
    void                 toggleBookmarks (bool);
%End

%End

    virtual void         updateStatusLine (int, int);
    virtual void         slotOk ();
    virtual void         accept ();
    virtual void         slotCancel ();

%If ( KDE_3_2_0 -  )
    void                 slotAutoSelectExtClicked ();
%End

    void                 addToRecentDocuments ();

%If ( KDE_3_1_0 -  )
    void                 initSpeedbar ();
%End


private:
                         KFileDialog (const KFileDialog&);

protected:
    KURL::List&          parseSelectedURLs () const;

protected:
//igx     virtual void         virtual_hook (int, void*);

protected:

%If (  - KDE_3_2_0 )
//ig     void                 addDirEntry (KFileItem*, bool);
%End


};  // class KFileDialog

