Finished EntropyCollectionDlg.

git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@110 b624d157-de02-0410-bad0-e51aec6abb33
master
tarek_saidi 18 years ago
parent 29f3d8b2b3
commit b9feb0b74d
  1. 29
      src/crypto/yarrow.cpp
  2. 1
      src/crypto/yarrow.h
  3. 7
      src/dialogs/CollectEntropyDlg.cpp
  4. 250
      src/forms/CollectEntropyDlg.ui
  5. 858
      src/forms/PasswordGenDlg.ui
  6. 4
      src/lib/WaitAnimationWidget.cpp
  7. 11
      src/mainwindow.cpp

@ -429,3 +429,32 @@ void strongRandomize(void* buffer, unsigned int length){
for(int i=0; i<length;i++)
yarrow256_random(&StrongCtx,1,(quint8*)buffer+i);
}
void reseedStrongPool(quint8* buffer1,int l1,quint8* buffer2,int l2){
if(l1>l2*4){
yarrow256_update(&StrongCtx,0,100,100,buffer1);
buffer1=buffer1+100;
l1=l1-100;
}
else
{
yarrow256_update(&StrongCtx,1,100,25,buffer2);
buffer2=buffer2+25;
l2=l2-25;
}
if(l1>l2*4){
yarrow256_update(&StrongCtx,0,160,160,buffer1);
l1-=160;
buffer1+=160;
yarrow256_update(&StrongCtx,1,l1,l1,buffer1);
yarrow256_update(&StrongCtx,1,4*l2,l2,buffer2);
}
else{
yarrow256_update(&StrongCtx,0,160,40,buffer2);
l2-=40;
buffer2+=40;
yarrow256_update(&StrongCtx,1,l2*4,l2,buffer2);
yarrow256_update(&StrongCtx,1,l1,l1,buffer1);
}
}

@ -185,6 +185,7 @@ do { \
void initYarrow();
void randomize(void* buffer, unsigned int length);
void reseedStrongPool(quint8* buffer1,int l1,quint8* buffer2,int l2);
#endif /* NETTLE_YARROW_COMPAT_H_INCLUDED */

@ -20,12 +20,13 @@
#include <QPainter>
#include <QCursor>
#include "crypto/yarrow.h"
#include "CollectEntropyDlg.h"
#include "main.h"
CollectEntropyDlg::CollectEntropyDlg(QWidget* parent):QDialog(parent){
setupUi(this);
createBanner(&BannerPixmap,NULL,tr("Entropy Collection"),width());
createBanner(&BannerPixmap,Icon_Key32x32,tr("Entropy Collection"),width());
KeyEntropyBuffer=new unsigned char[105];
MouseEntropyBuffer=new quint16[210];
KeyCounter=0;
@ -72,7 +73,9 @@ void CollectEntropyDlg::updateProgress(){
if(4*KeyCounter+4*MouseCounter>=420){
progressBar->setValue(420);
ReseedDone=true;
reseedStrongPool((quint8*)MouseEntropyBuffer,4*MouseCounter,KeyEntropyBuffer,KeyCounter);
Animation->stop();
stackedWidget->setCurrentIndex(1);
}
else
progressBar->setValue(4*KeyCounter+4*MouseCounter);

@ -5,81 +5,193 @@
<rect>
<x>0</x>
<y>0</y>
<width>476</width>
<height>279</height>
<width>432</width>
<height>230</height>
</rect>
</property>
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>432</width>
<height>230</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>432</width>
<height>230</height>
</size>
</property>
<property name="windowTitle" >
<string>Dialog</string>
<string>Random Number Generator</string>
</property>
<widget class="QLabel" name="label" >
<property name="geometry" >
<rect>
<x>10</x>
<y>80</y>
<width>411</width>
<height>51</height>
</rect>
</property>
<property name="text" >
<string>Collecting entropy...
Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.</string>
</property>
<property name="scaledContents" >
<bool>false</bool>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
<widget class="QDialogButtonBox" name="buttonBox" >
<property name="geometry" >
<rect>
<x>20</x>
<y>240</y>
<width>441</width>
<height>32</height>
</rect>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
<property name="spacing" >
<number>6</number>
</property>
<property name="standardButtons" >
<set>QDialogButtonBox::Ok</set>
</property>
</widget>
<widget class="WaitAnimationWidget" native="1" name="Animation" >
<property name="geometry" >
<rect>
<x>8</x>
<y>5</y>
<width>41</width>
<height>41</height>
</rect>
</property>
</widget>
<widget class="QProgressBar" name="progressBar" >
<property name="geometry" >
<rect>
<x>10</x>
<y>140</y>
<width>451</width>
<height>23</height>
</rect>
</property>
<property name="maximum" >
<number>420</number>
</property>
<property name="value" >
<number>0</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="format" >
<string>%v Bits</string>
</property>
</widget>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>50</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label" >
<property name="text" >
<string>Collecting entropy...
Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.</string>
</property>
<property name="scaledContents" >
<bool>false</bool>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="progressBar" >
<property name="maximum" >
<number>420</number>
</property>
<property name="value" >
<number>0</number>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="format" >
<string>%v Bits</string>
</property>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="stackedWidget" >
<property name="currentIndex" >
<number>0</number>
</property>
<widget class="QWidget" name="page" >
<layout class="QHBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="WaitAnimationWidget" native="1" name="Animation" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>41</width>
<height>41</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>41</width>
<height>41</height>
</size>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2" >
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="Label_Finished" >
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!&lt;/span>&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons" >
<set>QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>

@ -1,430 +1,434 @@
<ui version="4.0" stdsetdef="1" >
<author></author>
<comment></comment>
<exportmacro></exportmacro>
<class>GenPwDlg</class>
<widget class="QDialog" name="GenPwDlg" >
<ui version="4.0" >
<class>GenPwDlg</class>
<widget class="QDialog" name="GenPwDlg" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>460</width>
<height>470</height>
</rect>
</property>
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>460</width>
<height>470</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>460</width>
<height>470</height>
</size>
</property>
<property name="windowTitle" >
<string>Password Generator</string>
</property>
<widget class="QProgressBar" name="Progress_Quali" >
<property name="geometry" >
<rect>
<x>130</x>
<y>400</y>
<width>180</width>
<height>15</height>
</rect>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QLineEdit" name="Edit_dest" >
<property name="geometry" >
<rect>
<x>130</x>
<y>370</y>
<width>250</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="Label_Bits" >
<property name="geometry" >
<rect>
<x>320</x>
<y>399</y>
<width>60</width>
<height>16</height>
</rect>
</property>
<property name="text" >
<string/>
</property>
</widget>
<widget class="QPushButton" name="ButtonOK" >
<property name="geometry" >
<rect>
<x>263</x>
<y>440</y>
<width>90</width>
<height>25</height>
</rect>
</property>
<property name="text" >
<string>Accep&amp;t</string>
</property>
</widget>
<widget class="QPushButton" name="Button_Cancel" >
<property name="geometry" >
<rect>
<x>360</x>
<y>440</y>
<width>90</width>
<height>25</height>
</rect>
</property>
<property name="text" >
<string>&amp;Cancel</string>
</property>
</widget>
<widget class="QPushButton" name="ButtonGenerate" >
<property name="geometry" >
<rect>
<x>381</x>
<y>370</y>
<width>70</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Generate</string>
</property>
</widget>
<widget class="QLabel" name="textLabel4" >
<property name="geometry" >
<rect>
<x>20</x>
<y>370</y>
<width>110</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>New Password:</string>
</property>
</widget>
<widget class="QLabel" name="textLabel5" >
<property name="geometry" >
<rect>
<x>20</x>
<y>400</y>
<width>110</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Quality:</string>
</property>
</widget>
<widget class="Line" name="line3" >
<property name="geometry" >
<rect>
<x>0</x>
<y>420</y>
<width>460</width>
<height>20</height>
</rect>
</property>
<property name="frameShape" >
<enum>QFrame::HLine</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Sunken</enum>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QGroupBox" name="groupBox1" >
<property name="geometry" >
<rect>
<x>10</x>
<y>60</y>
<width>440</width>
<height>280</height>
</rect>
</property>
<property name="title" >
<string>Options</string>
</property>
<widget class="QLineEdit" name="Edit_chars" >
<property name="geometry" >
<rect>
<x>30</x>
<y>170</y>
<width>400</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QSpinBox" name="Spin_Num" >
<property name="geometry" >
<rect>
<x>120</x>
<y>220</y>
<width>310</width>
<height>21</height>
</rect>
</property>
<property name="maximum" >
<number>1000</number>
</property>
<property name="minimum" >
<number>1</number>
</property>
<property name="value" >
<number>20</number>
</property>
</widget>
<widget class="QCheckBox" name="checkBox1" >
<property name="geometry" >
<rect>
<x>120</x>
<y>40</y>
<width>131</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>&amp;Upper Letters</string>
</property>
<property name="shortcut" >
<string>Alt+U</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="checkBox2" >
<property name="geometry" >
<rect>
<x>120</x>
<y>60</y>
<width>140</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>&amp;Lower Letters</string>
</property>
<property name="shortcut" >
<string>Alt+L</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="checkBox3" >
<property name="geometry" >
<rect>
<x>120</x>
<y>80</y>
<width>140</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>&amp;Numbers</string>
</property>
<property name="shortcut" >
<string>Alt+N</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="checkBox4" >
<property name="geometry" >
<rect>
<x>120</x>
<y>100</y>
<width>140</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>&amp;Special Characters</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="checkBox6" >
<property name="geometry" >
<rect>
<x>260</x>
<y>60</y>
<width>170</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Minus</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox7" >
<property name="geometry" >
<rect>
<x>260</x>
<y>80</y>
<width>170</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>U&amp;nderline</string>
</property>
<property name="shortcut" >
<string>Alt+N</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox8" >
<property name="geometry" >
<rect>
<x>260</x>
<y>100</y>
<width>170</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>h&amp;igher ANSI-Characters</string>
</property>
<property name="shortcut" >
<string>Alt+H</string>
</property>
</widget>
<widget class="QRadioButton" name="Radio_2" >
<property name="geometry" >
<rect>
<x>10</x>
<y>150</y>
<width>420</width>
<height>16</height>
</rect>
</property>
<property name="text" >
<string>Use &amp;only following characters:</string>
</property>
<property name="shortcut" >
<string>Alt+O</string>
</property>
</widget>
<widget class="QLabel" name="textLabel1" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>460</width>
<height>470</height>
</rect>
</property>
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>460</width>
<height>470</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>460</width>
<height>470</height>
</size>
</property>
<property name="windowTitle" >
<string>Password Generator</string>
</property>
<widget class="QProgressBar" name="Progress_Quali" >
<property name="geometry" >
<rect>
<x>130</x>
<y>400</y>
<width>180</width>
<height>15</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="Edit_dest" >
<property name="geometry" >
<rect>
<x>130</x>
<y>370</y>
<width>250</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="Label_Bits" >
<property name="geometry" >
<rect>
<x>320</x>
<y>399</y>
<width>60</width>
<height>16</height>
</rect>
</property>
<property name="text" >
<string/>
</property>
</widget>
<widget class="QLabel" name="Banner" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>460</width>
<height>50</height>
</rect>
</property>
<property name="pixmap" >
<pixmap>image0</pixmap>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property>
</widget>
<widget class="QPushButton" name="ButtonOK" >
<property name="geometry" >
<rect>
<x>263</x>
<y>440</y>
<width>90</width>
<height>25</height>
</rect>
</property>
<property name="text" >
<string>Accep&amp;t</string>
</property>
</widget>
<widget class="QPushButton" name="Button_Cancel" >
<property name="geometry" >
<rect>
<x>360</x>
<y>440</y>
<width>90</width>
<height>25</height>
</rect>
</property>
<property name="text" >
<string>&amp;Cancel</string>
</property>
</widget>
<widget class="QPushButton" name="ButtonGenerate" >
<property name="geometry" >
<rect>
<x>381</x>
<y>370</y>
<width>70</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Generate</string>
</property>
</widget>
<widget class="QLabel" name="textLabel4" >
<property name="geometry" >
<rect>
<x>20</x>
<y>370</y>
<width>110</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>New Password:</string>
</property>
</widget>
<widget class="QLabel" name="textLabel5" >
<property name="geometry" >
<rect>
<x>20</x>
<y>400</y>
<width>110</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Quality:</string>
</property>
</widget>
<widget class="Line" name="line3" >
<property name="geometry" >
<rect>
<x>0</x>
<y>420</y>
<width>460</width>
<height>20</height>
</rect>
</property>
<property name="frameShape" >
<enum>QFrame::HLine</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Sunken</enum>
</property>
</widget>
<widget class="QGroupBox" name="groupBox1" >
<property name="geometry" >
<rect>
<x>10</x>
<y>60</y>
<width>440</width>
<height>280</height>
</rect>
</property>
<property name="title" >
<string>Options</string>
</property>
<widget class="QLineEdit" name="Edit_chars" >
<property name="geometry" >
<rect>
<x>30</x>
<y>170</y>
<width>400</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QSpinBox" name="Spin_Num" >
<property name="geometry" >
<rect>
<x>120</x>
<y>220</y>
<width>310</width>
<height>21</height>
</rect>
</property>
<property name="maximum" >
<number>1000</number>
</property>
<property name="minimum" >
<number>1</number>
</property>
<property name="value" >
<number>20</number>
</property>
</widget>
<widget class="QCheckBox" name="checkBox1" >
<property name="geometry" >
<rect>
<x>120</x>
<y>40</y>
<width>131</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>&amp;Upper Letters</string>
</property>
<property name="shortcut" >
<string>Alt+U</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="checkBox2" >
<property name="geometry" >
<rect>
<x>120</x>
<y>60</y>
<width>140</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>&amp;Lower Letters</string>
</property>
<property name="shortcut" >
<string>Alt+L</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="checkBox3" >
<property name="geometry" >
<rect>
<x>120</x>
<y>80</y>
<width>140</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>&amp;Numbers</string>
</property>
<property name="shortcut" >
<string>Alt+N</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="checkBox4" >
<property name="geometry" >
<rect>
<x>120</x>
<y>100</y>
<width>140</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>&amp;Special Characters</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="checkBox6" >
<property name="geometry" >
<rect>
<x>260</x>
<y>60</y>
<width>170</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Minus</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox7" >
<property name="geometry" >
<rect>
<x>260</x>
<y>80</y>
<width>170</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>U&amp;nderline</string>
</property>
<property name="shortcut" >
<string>Alt+N</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox8" >
<property name="geometry" >
<rect>
<x>260</x>
<y>100</y>
<width>170</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>h&amp;igher ANSI-Characters</string>
</property>
<property name="shortcut" >
<string>Alt+H</string>
</property>
</widget>
<widget class="QRadioButton" name="Radio_2" >
<property name="geometry" >
<rect>
<x>10</x>
<y>150</y>
<width>420</width>
<height>16</height>
</rect>
</property>
<property name="text" >
<string>Use &amp;only following characters:</string>
</property>
<property name="shortcut" >
<string>Alt+O</string>
</property>
</widget>
<widget class="QLabel" name="textLabel1" >
<property name="geometry" >
<rect>
<x>10</x>
<y>220</y>
<width>110</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Length:</string>
</property>
</widget>
<widget class="QCheckBox" name="Check_strongrandom" >
<property name="geometry" >
<rect>
<x>120</x>
<y>250</y>
<width>310</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Use &quot;/dev/rando&amp;m&quot;</string>
</property>
<property name="shortcut" >
<string>Alt+M</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QRadioButton" name="Radio_1" >
<property name="geometry" >
<rect>
<x>10</x>
<y>20</y>
<width>420</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Use follo&amp;wing character groups:</string>
</property>
<property name="shortcut" >
<string>Alt+W</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox5" >
<property name="geometry" >
<rect>
<x>260</x>
<y>40</y>
<width>170</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>White &amp;Spaces</string>
</property>
<property name="shortcut" >
<string>Alt+S</string>
</property>
</widget>
</widget>
<rect>
<x>10</x>
<y>220</y>
<width>110</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Length:</string>
</property>
</widget>
<widget class="QRadioButton" name="Radio_1" >
<property name="geometry" >
<rect>
<x>10</x>
<y>20</y>
<width>420</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Use follo&amp;wing character groups:</string>
</property>
<property name="shortcut" >
<string>Alt+W</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox5" >
<property name="geometry" >
<rect>
<x>260</x>
<y>40</y>
<width>170</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>White &amp;Spaces</string>
</property>
<property name="shortcut" >
<string>Alt+S</string>
</property>
</widget>
<widget class="QCheckBox" name="Check_strongrandom" >
<property name="geometry" >
<rect>
<x>120</x>
<y>250</y>
<width>310</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Force entropy collection</string>
</property>
<property name="shortcut" >
<string>Alt+M</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</widget>
<widget class="QLabel" name="Banner" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>460</width>
<height>50</height>
</rect>
</property>
<property name="pixmap" >
<pixmap/>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property>
</widget>
<layoutdefault spacing="6" margin="11" />
<pixmapfunction></pixmapfunction>
<tabstops>
<tabstop>Radio_1</tabstop>
<tabstop>checkBox1</tabstop>
<tabstop>checkBox2</tabstop>
<tabstop>checkBox3</tabstop>
<tabstop>checkBox4</tabstop>
<tabstop>checkBox5</tabstop>
<tabstop>checkBox6</tabstop>
<tabstop>checkBox7</tabstop>
<tabstop>checkBox8</tabstop>
<tabstop>Radio_2</tabstop>
<tabstop>Edit_chars</tabstop>
<tabstop>Spin_Num</tabstop>
<tabstop>Check_strongrandom</tabstop>
<tabstop>Edit_dest</tabstop>
<tabstop>ButtonGenerate</tabstop>
<tabstop>ButtonOK</tabstop>
<tabstop>Button_Cancel</tabstop>
</tabstops>
</widget>
<layoutdefault spacing="6" margin="11" />
<tabstops>
<tabstop>Radio_1</tabstop>
<tabstop>checkBox1</tabstop>
<tabstop>checkBox2</tabstop>
<tabstop>checkBox3</tabstop>
<tabstop>checkBox4</tabstop>
<tabstop>checkBox5</tabstop>
<tabstop>checkBox6</tabstop>
<tabstop>checkBox7</tabstop>
<tabstop>checkBox8</tabstop>
<tabstop>Radio_2</tabstop>
<tabstop>Edit_chars</tabstop>
<tabstop>Spin_Num</tabstop>
<tabstop>Check_strongrandom</tabstop>
<tabstop>Edit_dest</tabstop>
<tabstop>ButtonGenerate</tabstop>
<tabstop>ButtonOK</tabstop>
<tabstop>Button_Cancel</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

@ -77,8 +77,8 @@ void WaitAnimationWidget::paintEvent(QPaintEvent* event){
if(timer.isActive()){
QPainter painter(this);
painter.setRenderHints(QPainter::Antialiasing,true);
painter.setBrush(config.BannerTextColor);
painter.setPen(config.BannerTextColor);
painter.setBrush(Qt::black);
painter.setPen(Qt::black);
for(int i=0;i<6;i++){
float d=CircSizes[i]*5.0;
QRectF rect(CircPositions[i].x()-d/2,CircPositions[i].y()-d/2,d,d);

@ -372,17 +372,6 @@ return true;
void KeepassMainWindow::OnFileNewKdb(){
//Test
/*
CollectEntropyDlg dialog(this);
dialog.exec();
return;
*/
//~Test
CPasswordDialog dlg(this,true,false,true);
dlg.setWindowTitle("New Database");
if(dlg.exec()==1){