Loading include/MainWindow.h +2 −1 Original line number Diff line number Diff line Loading @@ -87,9 +87,10 @@ private: QMessageBox waitBox; QVBoxLayout * layoutCharset = nullptr; QVBoxLayout * layoutLength = nullptr; QVBoxLayout * layoutSimple = nullptr; ProgressThread* progressThread = nullptr; int firstTime=1; double initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCharset, double & percentageTotal, double & percentageSecurity); double initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCharset, QPieSeries* pieSimple, QPieSeries* pieAdvanced, double & percentageTotal, double & percentageSecurity); }; Loading include/Statsgen.h +2 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,8 @@ public: inline int getNbThreads() const { return nbThread; } inline const IntOccurrence& getStatsLength() const { return stats_length; } inline const StringOccurrence& getStatsCharsets() const { return stats_charactersets; } inline const StringOccurrence& getStatsSimple() const { return stats_simplemasks; } inline const StringOccurrence& getStatsAdvanced() const { return stats_advancedmasks; } inline const thread_data* getThreadsData() const { return td; } private: Loading src/gui/MainWindow.cpp +43 −2 Original line number Diff line number Diff line Loading @@ -174,6 +174,7 @@ void MainWindow::startGame() { delete layoutLength; delete layoutCharset; delete layoutSimple; WorkerThread *workerThread = new WorkerThread(stats); connect(workerThread, SIGNAL(resultReady()), this, SLOT(handleResults())); Loading @@ -198,7 +199,7 @@ void MainWindow::disableWithCount() ui->withcountButton->setChecked(false); } double MainWindow::initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCharset, double & percentageTotal, double & percentageSecurity) { double MainWindow::initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCharset, QPieSeries* pieSimple, QPieSeries* pieAdvanced, double & percentageTotal, double & percentageSecurity) { double total = stats.getTotalCounter(); double filter = stats.getTotalFilter(); percentageTotal = percentage(filter, total); Loading Loading @@ -246,6 +247,23 @@ double MainWindow::initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCh } } pieCharset->append("Other charsets", nbHideC); /* SIMPLE PIECHART */ multimap<uint64_t, string> reverseS = flip_map<string>(stats.getStatsSimple()); int top_simple = 0; uint64_t nbHideS = 0; MapIterator<uint64_t, string> itS; for(itS = reverseS.end(); itS != reverseS.begin(); itS--) { if (itS == reverseS.end()) continue; top_simple++; if (top_simple <= 10) { pieSimple->append(QString::fromStdString(itS->second), itS->first); } else { nbHideS += itS->first; } } pieSimple->append("Other charsets", nbHideS); return maxPercLength; } Loading Loading @@ -278,9 +296,11 @@ void MainWindow::handleResults() QBarSeries * barLength = new QBarSeries(); QPieSeries * pieCharset = new QPieSeries(); QPieSeries * pieSimple = new QPieSeries(); QPieSeries * pieAdvanced = new QPieSeries(); double percentageTotal, percentageSecurity, maxPercLength; maxPercLength = initGraphicalStats(barLength, pieCharset, percentageTotal, percentageSecurity); maxPercLength = initGraphicalStats(barLength, pieCharset, pieSimple, pieAdvanced, percentageTotal, percentageSecurity); /* HISTOGRAM FOR LENGTH */ QChart *chartL = new QChart(); Loading Loading @@ -322,6 +342,27 @@ void MainWindow::handleResults() layoutCharset->addWidget(chartViewC); ui->charsetWidget->setLayout(layoutCharset); /* PIECHART FOR SIMPLE */ pieSimple->setLabelsVisible(); QPieSlice *slice_simple = pieSimple->slices().at(0); slice_simple->setExploded(); slice_simple->setLabelVisible(); slice_simple->setPen(QPen(Qt::darkGreen, 2)); slice_simple->setBrush(Qt::green); QChart *chartS = new QChart(); chartS->addSeries(pieSimple); chartS->setTitle("Simple masks"); chartS->legend()->hide(); QChartView *chartViewS = new QChartView(chartS); chartViewS->setRenderHint(QPainter::Antialiasing); layoutSimple = new QVBoxLayout(); layoutSimple->addWidget(chartViewS); ui->simpleMasksWidget->setLayout(layoutSimple); /* LABELS */ Loading src/gui/MainWindow.ui +23 −17 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ <x>20</x> <y>20</y> <width>321</width> <height>131</height> <height>146</height> </rect> </property> <layout class="QGridLayout" name="gridLayout_3"> Loading Loading @@ -303,40 +303,46 @@ <property name="frameShadow"> <enum>QFrame::Raised</enum> </property> <layout class="QVBoxLayout" name="verticalLayout_3" stretch="0,0,1,1,0"> <item> <widget class="QLabel" name="AnalyzedLabel"> <layout class="QGridLayout" name="gridLayout" rowstretch="0,0,1,1,0"> <item row="2" column="0"> <widget class="QWidget" name="lengthWidget" native="true"/> </item> <item row="4" column="0"> <widget class="QLabel" name="resultLabel"> <property name="text"> <string/> </property> </widget> </item> <item> <item row="1" column="0"> <widget class="QLabel" name="securityLabel"> <property name="text"> <string/> </property> </widget> </item> <item> <widget class="QWidget" name="lengthWidget" native="true"> <item row="0" column="0"> <widget class="QLabel" name="AnalyzedLabel"> <property name="text"> <string/> </property> </widget> </item> <item row="3" column="1"> <widget class="QWidget" name="advancedMasksWidget" native="true"/> </item> <item row="2" column="1"> <widget class="QWidget" name="charsetWidget" native="true"> <property name="minimumSize"> <size> <width>800</width> <width>500</width> <height>0</height> </size> </property> </widget> </item> <item> <widget class="QWidget" name="charsetWidget" native="true"/> </item> <item> <widget class="QLabel" name="resultLabel"> <property name="text"> <string/> </property> </widget> <item row="3" column="0"> <widget class="QWidget" name="simpleMasksWidget" native="true"/> </item> </layout> </widget> Loading Loading
include/MainWindow.h +2 −1 Original line number Diff line number Diff line Loading @@ -87,9 +87,10 @@ private: QMessageBox waitBox; QVBoxLayout * layoutCharset = nullptr; QVBoxLayout * layoutLength = nullptr; QVBoxLayout * layoutSimple = nullptr; ProgressThread* progressThread = nullptr; int firstTime=1; double initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCharset, double & percentageTotal, double & percentageSecurity); double initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCharset, QPieSeries* pieSimple, QPieSeries* pieAdvanced, double & percentageTotal, double & percentageSecurity); }; Loading
include/Statsgen.h +2 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,8 @@ public: inline int getNbThreads() const { return nbThread; } inline const IntOccurrence& getStatsLength() const { return stats_length; } inline const StringOccurrence& getStatsCharsets() const { return stats_charactersets; } inline const StringOccurrence& getStatsSimple() const { return stats_simplemasks; } inline const StringOccurrence& getStatsAdvanced() const { return stats_advancedmasks; } inline const thread_data* getThreadsData() const { return td; } private: Loading
src/gui/MainWindow.cpp +43 −2 Original line number Diff line number Diff line Loading @@ -174,6 +174,7 @@ void MainWindow::startGame() { delete layoutLength; delete layoutCharset; delete layoutSimple; WorkerThread *workerThread = new WorkerThread(stats); connect(workerThread, SIGNAL(resultReady()), this, SLOT(handleResults())); Loading @@ -198,7 +199,7 @@ void MainWindow::disableWithCount() ui->withcountButton->setChecked(false); } double MainWindow::initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCharset, double & percentageTotal, double & percentageSecurity) { double MainWindow::initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCharset, QPieSeries* pieSimple, QPieSeries* pieAdvanced, double & percentageTotal, double & percentageSecurity) { double total = stats.getTotalCounter(); double filter = stats.getTotalFilter(); percentageTotal = percentage(filter, total); Loading Loading @@ -246,6 +247,23 @@ double MainWindow::initGraphicalStats(QBarSeries * barLength, QPieSeries * pieCh } } pieCharset->append("Other charsets", nbHideC); /* SIMPLE PIECHART */ multimap<uint64_t, string> reverseS = flip_map<string>(stats.getStatsSimple()); int top_simple = 0; uint64_t nbHideS = 0; MapIterator<uint64_t, string> itS; for(itS = reverseS.end(); itS != reverseS.begin(); itS--) { if (itS == reverseS.end()) continue; top_simple++; if (top_simple <= 10) { pieSimple->append(QString::fromStdString(itS->second), itS->first); } else { nbHideS += itS->first; } } pieSimple->append("Other charsets", nbHideS); return maxPercLength; } Loading Loading @@ -278,9 +296,11 @@ void MainWindow::handleResults() QBarSeries * barLength = new QBarSeries(); QPieSeries * pieCharset = new QPieSeries(); QPieSeries * pieSimple = new QPieSeries(); QPieSeries * pieAdvanced = new QPieSeries(); double percentageTotal, percentageSecurity, maxPercLength; maxPercLength = initGraphicalStats(barLength, pieCharset, percentageTotal, percentageSecurity); maxPercLength = initGraphicalStats(barLength, pieCharset, pieSimple, pieAdvanced, percentageTotal, percentageSecurity); /* HISTOGRAM FOR LENGTH */ QChart *chartL = new QChart(); Loading Loading @@ -322,6 +342,27 @@ void MainWindow::handleResults() layoutCharset->addWidget(chartViewC); ui->charsetWidget->setLayout(layoutCharset); /* PIECHART FOR SIMPLE */ pieSimple->setLabelsVisible(); QPieSlice *slice_simple = pieSimple->slices().at(0); slice_simple->setExploded(); slice_simple->setLabelVisible(); slice_simple->setPen(QPen(Qt::darkGreen, 2)); slice_simple->setBrush(Qt::green); QChart *chartS = new QChart(); chartS->addSeries(pieSimple); chartS->setTitle("Simple masks"); chartS->legend()->hide(); QChartView *chartViewS = new QChartView(chartS); chartViewS->setRenderHint(QPainter::Antialiasing); layoutSimple = new QVBoxLayout(); layoutSimple->addWidget(chartViewS); ui->simpleMasksWidget->setLayout(layoutSimple); /* LABELS */ Loading
src/gui/MainWindow.ui +23 −17 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ <x>20</x> <y>20</y> <width>321</width> <height>131</height> <height>146</height> </rect> </property> <layout class="QGridLayout" name="gridLayout_3"> Loading Loading @@ -303,40 +303,46 @@ <property name="frameShadow"> <enum>QFrame::Raised</enum> </property> <layout class="QVBoxLayout" name="verticalLayout_3" stretch="0,0,1,1,0"> <item> <widget class="QLabel" name="AnalyzedLabel"> <layout class="QGridLayout" name="gridLayout" rowstretch="0,0,1,1,0"> <item row="2" column="0"> <widget class="QWidget" name="lengthWidget" native="true"/> </item> <item row="4" column="0"> <widget class="QLabel" name="resultLabel"> <property name="text"> <string/> </property> </widget> </item> <item> <item row="1" column="0"> <widget class="QLabel" name="securityLabel"> <property name="text"> <string/> </property> </widget> </item> <item> <widget class="QWidget" name="lengthWidget" native="true"> <item row="0" column="0"> <widget class="QLabel" name="AnalyzedLabel"> <property name="text"> <string/> </property> </widget> </item> <item row="3" column="1"> <widget class="QWidget" name="advancedMasksWidget" native="true"/> </item> <item row="2" column="1"> <widget class="QWidget" name="charsetWidget" native="true"> <property name="minimumSize"> <size> <width>800</width> <width>500</width> <height>0</height> </size> </property> </widget> </item> <item> <widget class="QWidget" name="charsetWidget" native="true"/> </item> <item> <widget class="QLabel" name="resultLabel"> <property name="text"> <string/> </property> </widget> <item row="3" column="0"> <widget class="QWidget" name="simpleMasksWidget" native="true"/> </item> </layout> </widget> Loading