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 "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();

View File

@ -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}));
} }