author | ulf69 <ulf69> | 2004-09-15 17:53:22 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-09-15 17:53:22 (UTC) |
commit | d3925ba5bd25224bc4a60d3d6a107c464994a1ea (patch) (side-by-side diff) | |
tree | 60f69da1d2b79ee3081e7ef5c09a46470ca6eda0 /pwmanager/pwmanager/pwgenwndimpl.cpp | |
parent | ce83a3479d23b9e8a59c745ccd0a0b14f64ef4e8 (diff) | |
download | kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.zip kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.tar.gz kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.tar.bz2 |
initial revision
Diffstat (limited to 'pwmanager/pwmanager/pwgenwndimpl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | pwmanager/pwmanager/pwgenwndimpl.cpp | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/pwmanager/pwmanager/pwgenwndimpl.cpp b/pwmanager/pwmanager/pwgenwndimpl.cpp new file mode 100644 index 0000000..01f5740 --- a/dev/null +++ b/pwmanager/pwmanager/pwgenwndimpl.cpp @@ -0,0 +1,112 @@ +/*************************************************************************** + * * + * copyright (C) 2004 by Michael Buesch * + * email: mbuesch@freenet.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License version 2 * + * as published by the Free Software Foundation. * + * * + ***************************************************************************/ + +/*************************************************************************** + * copyright (C) 2004 by Ulf Schenk + * This file is originaly based on version 1.0.1 of pwmanager + * and was modified to run on embedded devices that run microkde + * + * $Id$ + **************************************************************************/ + +#include "pwgenwndimpl.h" +#include "pwmexception.h" +#include "genpasswd.h" + +#include <qtabwidget.h> +#include <qspinbox.h> +#include <qcheckbox.h> +#include <qlineedit.h> + +#include <klocale.h> +#include <kmessagebox.h> + + +PwGenWndImpl::PwGenWndImpl(QWidget *parent, + const char *name, + bool modal, + WFlags fl) + : pwGenWnd(parent, name, modal, fl) +{ +} + +PwGenWndImpl::~PwGenWndImpl() +{ +} + +void PwGenWndImpl::genButton_slot() +{ + // internal generator + if (!optionsSanityIntGen()) + return; + if (startIntGen()) + goto exit_success; + done(0); +exit_success: + done(1); +} + +void PwGenWndImpl::cancelButton_slot() +{ + done(0); +} + +bool PwGenWndImpl::optionsSanityIntGen() +{ + if (int_charLowerCheckBox->isChecked()) + return true; + if (int_charUpperCheckBox->isChecked()) + return true; + if (int_charNumCheckBox->isChecked()) + return true; + if (int_charSpecCheckBox->isChecked()) + return true; + if (int_charUserCheckBox->isChecked()) { + if (int_userDefLineEdit->text().length() >= 2) + return true; + if (int_charBlankCheckBox->isChecked()) + return true; + } + KMessageBox::error(this, + i18n("Incorrect Charset selection!\n" + "It's impossible to generate a sane " + "password with the selected charset(s).\n" + "Please select more charsets."), + i18n("Incorrect Charset selection")); + return false; +} + +bool PwGenWndImpl::startIntGen() +{ + GenPasswd gen; + gen.setLen(int_lenSpinBox->value()); + gen.setUseFilter(int_filterCheckBox->isChecked()); + gen.setCharset(int_charLowerCheckBox->isChecked(), + int_charUpperCheckBox->isChecked(), + int_charNumCheckBox->isChecked(), + int_charSpecCheckBox->isChecked(), + int_charBlankCheckBox->isChecked(), + int_charUserCheckBox->isChecked() ? + int_userDefLineEdit->text() : + QString::null); + QString pw(gen.gen()); + if (pw.isEmpty()) + return false; + password = pw; + return true; +} + +QString PwGenWndImpl::getPassword() +{ + QString ret(password); + password = QString::null; + return ret; +} |