KPasswordDialog Class Reference
This dialog asks the user to enter a password. A password input dialog. More...
#include <kpassdlg.h>
Inheritance diagram for KPasswordDialog:

Public Types | |
enum | Types { Password, NewPassword } |
This enum distinguishes the two operation modes of this dialog:. More... | |
Public Methods | |
KPasswordDialog (Types type, bool enableKeep, int extraBttn, QWidget *parent=0, const char *name=0) | |
Constructs a password dialog. | |
KPasswordDialog (int type, QString prompt, bool enableKeep=false, int extraBttn=0) | |
virtual | ~KPasswordDialog () |
Destructs the password dialog. | |
void | setPrompt (QString prompt) |
Sets the password prompt. | |
QString | prompt () const |
Returns the password prompt. | |
void | addLine (QString key, QString value) |
Adds a line of information to the dialog. | |
const char * | password () const |
Returns the password entered. | |
bool | keep () const |
Returns true if the user wants to keep the password. | |
Static Public Methods | |
int | getPassword (QCString &password, QString prompt, int *keep=0L) |
Pops up the dialog, asks the user for a password, and returns it. | |
int | getNewPassword (QCString &password, QString prompt) |
Pops up the dialog, asks the user for a password and returns it. | |
void | disableCoreDumps () |
Static helper funtion that disables core dumps. | |
Protected Slots | |
void | slotOk () |
Activated when the Ok button has been clicked. | |
void | slotCancel () |
Activated when the Cancel button has been clicked. | |
Protected Methods | |
virtual bool | checkPassword (const char *) |
Virtual function that can be overridden to provide password checking in derived classes. | |
virtual void | virtual_hook (int id, void *data) |
Detailed Description
This dialog asks the user to enter a password. A password input dialog.The functions you're probably interested in are the static methods, getPassword() and getNewPassword().
Usage example
QCString password; int result = KPasswordDialog::getPassword(password, i18n("Password")); if (result == KPasswordDialog::Accepted) use(password);
Security notes
Keeping passwords in memory can be a potential security hole. You should handle this situation with care.
- You may want to use disableCoreDump() to disable core dumps. Core dumps are dangerous because they are an image of the process memory, and thus include any passwords that were in memory.
- You should delete passwords as soon as they are not needed anymore. The functions getPassword() and getNewPassword() return the password as a QCString. I believe this is safer than a QString. A QString stores its characters internally as 16-bit wide values, so conversions are needed, both for creating the QString and by using it. The temporary memory used for these conversion is probably not erased. This could lead to stray passwords in memory, even if you think you erased all of them.
- Author:
- Geert Jansen <jansen@kde.org>
Definition at line 127 of file kpassdlg.h.
Member Enumeration Documentation
|
This enum distinguishes the two operation modes of this dialog:.
Definition at line 136 of file kpassdlg.h. |
Constructor & Destructor Documentation
|
Constructs a password dialog.
Definition at line 199 of file kpassdlg.cpp. Referenced by getNewPassword(), and getPassword(). |
|
Definition at line 208 of file kpassdlg.cpp. References setPrompt(). |
|
Destructs the password dialog.
Definition at line 306 of file kpassdlg.cpp. |
Member Function Documentation
|
Sets the password prompt.
Definition at line 311 of file kpassdlg.cpp. References QLabel::setText(). Referenced by KPasswordDialog(). |
|
Returns the password prompt.
Definition at line 318 of file kpassdlg.cpp. References QLabel::text(). |
|
Adds a line of information to the dialog.
Definition at line 325 of file kpassdlg.cpp. References QGridLayout::addWidget(), KStdAccel::key(), QLabel::setAlignment(), and QLabel::setIndent(). |
|
Returns the password entered. The memory is freed in the destructor, so you should make a copy. Definition at line 191 of file kpassdlg.h. References KPasswordEdit::password(). Referenced by getNewPassword(), and getPassword(). |
|
Returns true if the user wants to keep the password.
Definition at line 196 of file kpassdlg.h. Referenced by getPassword(). |
|
Pops up the dialog, asks the user for a password, and returns it.
Definition at line 385 of file kpassdlg.cpp. References QDialog::exec(), keep(), KPasswordDialog(), password(), and Password. |
|
Pops up the dialog, asks the user for a password and returns it. The user has to enter the password twice to make sure it was entered correctly.
Definition at line 402 of file kpassdlg.cpp. References QDialog::exec(), KPasswordDialog(), NewPassword, and password(). |
|
Static helper funtion that disables core dumps.
Definition at line 414 of file kpassdlg.cpp. |
|
Activated when the Ok button has been clicked. The QDialog::accept() is activated. Reimplemented from KDialogBase. Definition at line 354 of file kpassdlg.cpp. References QDialog::accept(), checkPassword(), NewPassword, KPasswordEdit::password(), and KMessageBox::sorry(). |
|
Activated when the Cancel button has been clicked. The QDialog::reject() is activated in regular mode and QDialog::done( Cancel ) when in message box mode. Reimplemented from KDialogBase. Definition at line 372 of file kpassdlg.cpp. References QDialog::reject(). |
|
Virtual function that can be overridden to provide password checking in derived classes.
It should return Definition at line 241 of file kpassdlg.h. Referenced by slotOk(). |
The documentation for this class was generated from the following files: