centralize every password generator default option. add extended ASCII to XC_HTTP generator

This commit is contained in:
thez3ro
2018-02-05 12:31:13 +01:00
parent 33b95836b9
commit 6723f4215a
11 changed files with 103 additions and 43 deletions

View File

@@ -48,13 +48,14 @@ HttpPasswordGeneratorWidget::~HttpPasswordGeneratorWidget()
void HttpPasswordGeneratorWidget::loadSettings()
{
m_ui->checkBoxLower->setChecked(config()->get("Http/generator/LowerCase", true).toBool());
m_ui->checkBoxUpper->setChecked(config()->get("Http/generator/UpperCase", true).toBool());
m_ui->checkBoxNumbers->setChecked(config()->get("Http/generator/Numbers", true).toBool());
m_ui->checkBoxSpecialChars->setChecked(config()->get("Http/generator/SpecialChars", false).toBool());
m_ui->checkBoxLower->setChecked(config()->get("Http/generator/LowerCase", PasswordGenerator::DefaultLower).toBool());
m_ui->checkBoxUpper->setChecked(config()->get("Http/generator/UpperCase", PasswordGenerator::DefaultUpper).toBool());
m_ui->checkBoxNumbers->setChecked(config()->get("Http/generator/Numbers", PasswordGenerator::DefaultNumbers).toBool());
m_ui->checkBoxSpecialChars->setChecked(config()->get("Http/generator/SpecialChars", PasswordGenerator::DefaultSpecial).toBool());
m_ui->checkBoxSpecialChars->setChecked(config()->get("Http/generator/EASCII", PasswordGenerator::DefaultEASCII).toBool());
m_ui->checkBoxExcludeAlike->setChecked(config()->get("Http/generator/ExcludeAlike", true).toBool());
m_ui->checkBoxEnsureEvery->setChecked(config()->get("Http/generator/EnsureEvery", true).toBool());
m_ui->checkBoxExcludeAlike->setChecked(config()->get("Http/generator/ExcludeAlike", PasswordGenerator::DefaultLookAlike).toBool());
m_ui->checkBoxEnsureEvery->setChecked(config()->get("Http/generator/EnsureEvery", PasswordGenerator::DefaultFromEveryGroup).toBool());
m_ui->spinBoxLength->setValue(config()->get("Http/generator/Length", PasswordGenerator::DefaultLength).toInt());
}
@@ -65,6 +66,7 @@ void HttpPasswordGeneratorWidget::saveSettings()
config()->set("Http/generator/UpperCase", m_ui->checkBoxUpper->isChecked());
config()->set("Http/generator/Numbers", m_ui->checkBoxNumbers->isChecked());
config()->set("Http/generator/SpecialChars", m_ui->checkBoxSpecialChars->isChecked());
config()->set("Http/generator/EASCII", m_ui->checkBoxExtASCII->isChecked());
config()->set("Http/generator/ExcludeAlike", m_ui->checkBoxExcludeAlike->isChecked());
config()->set("Http/generator/EnsureEvery", m_ui->checkBoxEnsureEvery->isChecked());
@@ -120,6 +122,10 @@ PasswordGenerator::CharClasses HttpPasswordGeneratorWidget::charClasses()
classes |= PasswordGenerator::SpecialCharacters;
}
if (m_ui->checkBoxExtASCII->isChecked()) {
classes |= PasswordGenerator::EASCII;
}
return classes;
}

View File

@@ -142,6 +142,22 @@
</attribute>
</widget>
</item>
<item>
<widget class="QToolButton" name="checkBoxExtASCII">
<property name="toolTip">
<string>Extended ASCII</string>
</property>
<property name="text">
<string>Extended ASCII</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">optionButtons</string>
</attribute>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">

View File

@@ -145,7 +145,7 @@ void HttpSettings::setHttpPort(int port)
bool HttpSettings::passwordUseNumbers()
{
return config()->get("Http/generator/Numbers", true).toBool();
return config()->get("Http/generator/Numbers", PasswordGenerator::DefaultNumbers).toBool();
}
void HttpSettings::setPasswordUseNumbers(bool useNumbers)
@@ -155,7 +155,7 @@ void HttpSettings::setPasswordUseNumbers(bool useNumbers)
bool HttpSettings::passwordUseLowercase()
{
return config()->get("Http/generator/LowerCase", true).toBool();
return config()->get("Http/generator/LowerCase", PasswordGenerator::DefaultLower).toBool();
}
void HttpSettings::setPasswordUseLowercase(bool useLowercase)
@@ -165,7 +165,7 @@ void HttpSettings::setPasswordUseLowercase(bool useLowercase)
bool HttpSettings::passwordUseUppercase()
{
return config()->get("Http/generator/UpperCase", true).toBool();
return config()->get("Http/generator/UpperCase", PasswordGenerator::DefaultUpper).toBool();
}
void HttpSettings::setPasswordUseUppercase(bool useUppercase)
@@ -175,7 +175,7 @@ void HttpSettings::setPasswordUseUppercase(bool useUppercase)
bool HttpSettings::passwordUseSpecial()
{
return config()->get("Http/generator/SpecialChars", false).toBool();
return config()->get("Http/generator/SpecialChars", PasswordGenerator::DefaultSpecial).toBool();
}
void HttpSettings::setPasswordUseSpecial(bool useSpecial)
@@ -183,9 +183,19 @@ void HttpSettings::setPasswordUseSpecial(bool useSpecial)
config()->set("Http/generator/SpecialChars", useSpecial);
}
bool HttpSettings::passwordUseEASCII()
{
return config()->get("Http/generator/EASCII", PasswordGenerator::DefaultEASCII).toBool();
}
void HttpSettings::setPasswordUseEASCII(bool useExtended)
{
config()->set("Http/generator/EASCII", useExtended);
}
bool HttpSettings::passwordEveryGroup()
{
return config()->get("Http/generator/EnsureEvery", true).toBool();
return config()->get("Http/generator/EnsureEvery", PasswordGenerator::DefaultFromEveryGroup).toBool();
}
void HttpSettings::setPasswordEveryGroup(bool everyGroup)
@@ -195,7 +205,7 @@ void HttpSettings::setPasswordEveryGroup(bool everyGroup)
bool HttpSettings::passwordExcludeAlike()
{
return config()->get("Http/generator/ExcludeAlike", true).toBool();
return config()->get("Http/generator/ExcludeAlike", PasswordGenerator::DefaultLookAlike).toBool();
}
void HttpSettings::setPasswordExcludeAlike(bool excludeAlike)
@@ -205,7 +215,7 @@ void HttpSettings::setPasswordExcludeAlike(bool excludeAlike)
int HttpSettings::passwordLength()
{
return config()->get("Http/generator/Length", 20).toInt();
return config()->get("Http/generator/Length", PasswordGenerator::DefaultLength).toInt();
}
void HttpSettings::setPasswordLength(int length)
@@ -217,14 +227,21 @@ void HttpSettings::setPasswordLength(int length)
PasswordGenerator::CharClasses HttpSettings::passwordCharClasses()
{
PasswordGenerator::CharClasses classes;
if (passwordUseLowercase())
if (passwordUseLowercase()) {
classes |= PasswordGenerator::LowerLetters;
if (passwordUseUppercase())
}
if (passwordUseUppercase()) {
classes |= PasswordGenerator::UpperLetters;
if (passwordUseNumbers())
}
if (passwordUseNumbers()) {
classes |= PasswordGenerator::Numbers;
if (passwordUseSpecial())
}
if (passwordUseSpecial()) {
classes |= PasswordGenerator::SpecialCharacters;
}
if (passwordUseEASCII()) {
classes |= PasswordGenerator::EASCII;
}
return classes;
}

View File

@@ -58,6 +58,8 @@ public:
static void setPasswordUseUppercase(bool useUppercase);
static bool passwordUseSpecial();
static void setPasswordUseSpecial(bool useSpecial);
static bool passwordUseEASCII();
static void setPasswordUseEASCII(bool useExtended);
static bool passwordEveryGroup();
static void setPasswordEveryGroup(bool everyGroup);
static bool passwordExcludeAlike();