Compare commits

...

2 Commits

Author SHA1 Message Date
532e52cc7f
docs: describe MainWindow constructor parameters 2024-03-23 11:53:44 +01:00
0288e8de9d
refactor: clean up 2024-03-23 11:48:23 +01:00
2 changed files with 19 additions and 12 deletions

View File

@ -3,10 +3,12 @@
#include "finder.h"
#include "word_list.h"
#include <QMainWindow>
#include <QStandardItemModel>
#include <QStringListModel>
#include <filesystem>
#include <memory>
QT_BEGIN_NAMESPACE
namespace Ui {
@ -26,14 +28,17 @@ private:
bool incremental_search_enabled_;
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,
bool enableDevMode = false);
~MainWindow();
/// Show additional widgets
void setDevMode(bool enable);
private:
void setDevMode(bool enable);
void setupAlgorithmSelector();
void setupWordListSourceSelector();
void setupWordList();

View File

@ -1,7 +1,9 @@
#include "word_list.h"
#include <algorithm>
#include <cmath>
#include <fstream>
#include <initializer_list>
#include <random>
WordList &WordList::multiply(size_t factor) {
@ -26,12 +28,12 @@ WordList &WordList::shuffle() {
}
WordList WordList::oneCap() {
const static std::string charset_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const static std::string charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
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}));
}
@ -39,15 +41,15 @@ WordList WordList::oneCap() {
};
WordList WordList::fourCaps() {
const static std::string charset_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const static std::string charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
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 (auto char_2 : charset_) {
for (auto char_3 : charset_) {
for (auto char_4 : charset_) {
for (const auto char_1 : charset) {
for (const auto char_2 : charset) {
for (const auto char_3 : charset) {
for (const auto char_4 : charset) {
word_list.emplace_back(
std::initializer_list<char>({char_1, char_2, char_3, char_4}));
}