Initial commit
[keepassx] / src / dialogs / SimplePasswordDlg.cpp
1 /***************************************************************************
2  *   Copyright (C) 2005-2007 by Tarek Saidi                                *
3  *   tarek.saidi@arcor.de                                                  *
4  *                                                                         *
5  *   This program is free software; you can redistribute it and/or modify  *
6  *   it under the terms of the GNU General Public License as published by  *
7  *   the Free Software Foundation; version 2 of the License.               *
8
9  *                                                                         *
10  *   This program is distributed in the hope that it will be useful,       *
11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13  *   GNU General Public License for more details.                          *
14  *                                                                         *
15  *   You should have received a copy of the GNU General Public License     *
16  *   along with this program; if not, write to the                         *
17  *   Free Software Foundation, Inc.,                                       *
18  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19  ***************************************************************************/
20
21
22 #include "SimplePasswordDlg.h"
23
24 SimplePasswordDialog::SimplePasswordDialog(QWidget* parent, Qt::WFlags fl)
25 : QDialog(parent,fl)
26 {
27         setupUi(this);
28         connect(buttonBox->button(QDialogButtonBox::Ok),SIGNAL(clicked()),this,SLOT(OnOK()));
29         connect(buttonBox->button(QDialogButtonBox::Cancel),SIGNAL(clicked()),this,SLOT(OnCancel()));
30         connect(Button_HidePassword,SIGNAL(toggled(bool)),this,SLOT(OnHidePasswordToggled(bool)));
31         connect(EditPassword,SIGNAL(textChanged(const QString&)),this,SLOT(OnTextChanged(const QString&)));
32         if(!config->showPasswordsPasswordDlg())Button_HidePassword->toggle();
33         buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
34 }
35
36 SimplePasswordDialog::~SimplePasswordDialog()
37 {
38 }
39
40 void SimplePasswordDialog::OnTextChanged(const QString& txt){
41         if(txt.isEmpty())
42                 buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
43         else
44                 buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
45 }
46
47 void SimplePasswordDialog::OnCancel()
48 {
49         done(0);
50 }
51
52
53 void SimplePasswordDialog::OnOK()
54 {
55         password=EditPassword->text();
56         done(1);
57 }
58
59
60 void SimplePasswordDialog::OnHidePasswordToggled(bool state)
61 {
62         if(state){
63                 EditPassword->setEchoMode(QLineEdit::Password);
64                 Button_HidePassword->setIcon(getIcon("pwd_hide"));
65         }
66         else {
67                 EditPassword->setEchoMode(QLineEdit::Normal);
68                 Button_HidePassword->setIcon(getIcon("pwd_show"));
69         }
70 }