Compare commits
2 Commits
e4c643880a
...
532e52cc7f
Author | SHA1 | Date |
---|---|---|
mandlm | 532e52cc7f | |
mandlm | 0288e8de9d |
|
@ -3,10 +3,12 @@
|
||||||
|
|
||||||
#include "finder.h"
|
#include "finder.h"
|
||||||
#include "word_list.h"
|
#include "word_list.h"
|
||||||
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QStandardItemModel>
|
#include <QStandardItemModel>
|
||||||
#include <QStringListModel>
|
#include <QStringListModel>
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
|
@ -26,14 +28,17 @@ private:
|
||||||
bool incremental_search_enabled_;
|
bool incremental_search_enabled_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/** Create a new MainWindow.
|
||||||
|
*
|
||||||
|
* @param[in] enableIncrementalSearch Run search while typing.
|
||||||
|
* @param[in] enableDevMode Show additional widgets to configure search.
|
||||||
|
*/
|
||||||
MainWindow(QWidget *parent = nullptr, bool enableIncrementalSearch = false,
|
MainWindow(QWidget *parent = nullptr, bool enableIncrementalSearch = false,
|
||||||
bool enableDevMode = false);
|
bool enableDevMode = false);
|
||||||
~MainWindow();
|
~MainWindow();
|
||||||
|
|
||||||
/// Show additional widgets
|
|
||||||
void setDevMode(bool enable);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void setDevMode(bool enable);
|
||||||
void setupAlgorithmSelector();
|
void setupAlgorithmSelector();
|
||||||
void setupWordListSourceSelector();
|
void setupWordListSourceSelector();
|
||||||
void setupWordList();
|
void setupWordList();
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
#include "word_list.h"
|
#include "word_list.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <cmath>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
#include <initializer_list>
|
||||||
#include <random>
|
#include <random>
|
||||||
|
|
||||||
WordList &WordList::multiply(size_t factor) {
|
WordList &WordList::multiply(size_t factor) {
|
||||||
|
@ -26,12 +28,12 @@ WordList &WordList::shuffle() {
|
||||||
}
|
}
|
||||||
|
|
||||||
WordList WordList::oneCap() {
|
WordList WordList::oneCap() {
|
||||||
const static std::string charset_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
const static std::string charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
|
|
||||||
WordList word_list;
|
WordList word_list;
|
||||||
word_list.reserve(charset_.length());
|
word_list.reserve(charset.length());
|
||||||
|
|
||||||
for (auto char_1 : charset_) {
|
for (const auto char_1 : charset) {
|
||||||
word_list.emplace_back(std::initializer_list<char>({char_1}));
|
word_list.emplace_back(std::initializer_list<char>({char_1}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,15 +41,15 @@ WordList WordList::oneCap() {
|
||||||
};
|
};
|
||||||
|
|
||||||
WordList WordList::fourCaps() {
|
WordList WordList::fourCaps() {
|
||||||
const static std::string charset_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
const static std::string charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
|
|
||||||
WordList word_list;
|
WordList word_list;
|
||||||
word_list.reserve(std::pow(charset_.length(), 4));
|
word_list.reserve(std::pow(charset.length(), 4));
|
||||||
|
|
||||||
for (auto char_1 : charset_) {
|
for (const auto char_1 : charset) {
|
||||||
for (auto char_2 : charset_) {
|
for (const auto char_2 : charset) {
|
||||||
for (auto char_3 : charset_) {
|
for (const auto char_3 : charset) {
|
||||||
for (auto char_4 : charset_) {
|
for (const auto char_4 : charset) {
|
||||||
word_list.emplace_back(
|
word_list.emplace_back(
|
||||||
std::initializer_list<char>({char_1, char_2, char_3, char_4}));
|
std::initializer_list<char>({char_1, char_2, char_3, char_4}));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue