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


//                 Generated by preSip
//            module kdeui  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.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class KPasswordEdit : QLineEdit
{
%TypeHeaderCode
#include <kpassdlg.h>
%End


public:

    enum EchoModes
    {
        OneStar, 
        ThreeStars, 
        NoEcho
    };

                         KPasswordEdit (QWidget* /TransferThis/ = 0, const char* = 0);
                         KPasswordEdit (EchoMode, QWidget* /TransferThis/, const char*);

%If ( KDE_3_2_0 -  )
                         KPasswordEdit (KPasswordEdit::EchoModes, QWidget* /TransferThis/, const char*);
%End

                         KPasswordEdit (QWidget* /TransferThis/, const char*, int);
    const char*          password ();
    void                 erase ();
//ig     const int            PassLen;

%If ( KDE_3_4_0 -  )
    void                 setMaxPasswordLength (int);
    int                  maxPasswordLength () const;
%End


public slots:

%If ( KDE_3_1_2 -  )
    virtual void         insert (const QString&);
%End


protected:
    virtual void         keyPressEvent (QKeyEvent*);
    virtual void         focusInEvent (QFocusEvent*);
    virtual bool         event (QEvent*);

};  // class KPasswordEdit


class KPasswordDialog : KDialogBase
{
%TypeHeaderCode
#include <kpassdlg.h>
%End


public:

    enum Types
    {
        Password, 
        NewPassword
    };

                         KPasswordDialog (KPasswordDialog::Types, bool, int, QWidget* /TransferThis/ = 0, const char* = 0);
                         KPasswordDialog (int, QString, bool = 0, int = 0);

%If ( KDE_3_3_0 -  )
                         KPasswordDialog (KPasswordDialog::Types, bool, int, const QString&, QWidget* /TransferThis/ = 0, const char* = 0);
%End

    void                 setPrompt (QString);
    QString              prompt () const;
    void                 addLine (QString, QString);

%If ( KDE_3_4_0 -  )
    void                 setAllowEmptyPasswords (bool);
    bool                 allowEmptyPasswords () const;
    void                 setMinimumPasswordLength (int);
    int                  minimumPasswordLength () const;
    void                 setMaximumPasswordLength (int);
    int                  maximumPasswordLength () const;
    void                 setReasonablePasswordLength (int);
    int                  reasonablePasswordLength () const;
    void                 setPasswordStrengthWarningLevel (int);
    int                  passwordStrengthWarningLevel () const;
%End

    const char*          password () const;

%If ( KDE_3_3_0 -  )
    void                 clearPassword ();
%End

    bool                 keep () const;
    static int           getPassword (QCString&, QString, int* = 0);
    static int           getNewPassword (QCString&, QString);
    static void          disableCoreDumps ();

protected slots:
    void                 slotOk ();
    void                 slotCancel ();
    void                 slotKeep (bool);

protected:
    virtual bool         checkPassword (const char*);

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

};  // class KPasswordDialog

