1 #ifndef INCREMENTALSEARCH_H
2 #define INCREMENTALSEARCH_H
8 #include "MeCaSearch.h"
12 class QStyleOptionViewItem;
26 std::optional<std::string>
queryMigemo(
const char *word);
36 static void drawText(QPainter *painter,
const QStyleOptionViewItem &opt, QRect r,
const QString &text);
62 operator bool ()
const
69 static int u16ncmp(
const ushort *s1,
const ushort *s2,
int n);
81 std::shared_ptr<QRegularExpression>
re_;
87 void makeFilter(
const QString &filtertext)
override;
96 static std::string
to_kana(std::string
const &text, std::vector<Part2> *out);
101 void makeFilter(QString
const &filtertext)
override;
Definition: IncrementalSearch.h:41
static int u16ncmp(const ushort *s1, const ushort *s2, int n)
Definition: IncrementalSearch.cpp:218
virtual ~AbstractIncrementalFilter()=default
virtual bool isEmpty() const =0
virtual void makeFilter(const QString &filtertext)=0
static QString normalizeText(QString s)
Definition: IncrementalSearch.cpp:249
virtual Result match(QString const &text) const =0
Definition: IncrementalSearch.h:16
bool open()
Definition: IncrementalSearch.cpp:45
void init()
Definition: IncrementalSearch.cpp:40
void close()
Definition: IncrementalSearch.cpp:68
static bool migemoEnabled()
Definition: IncrementalSearch.cpp:94
static void fillFilteredBG(QPainter *painter, const QRect &rect)
Definition: IncrementalSearch.cpp:232
static void drawText(QPainter *painter, const QStyleOptionViewItem &opt, QRect r, const QString &text)
Definition: IncrementalSearch.cpp:237
static std::string migemoDictPath()
Definition: IncrementalSearch.cpp:105
~IncrementalSearch()
Definition: IncrementalSearch.cpp:34
M * m
Definition: IncrementalSearch.h:18
static IncrementalSearch * instance()
Definition: IncrementalSearch.cpp:89
static void deleteMigemoDict()
Definition: IncrementalSearch.cpp:170
static void drawText_filted(QPainter *painter, QStyleOptionViewItem const &opt, QRect const &rect, const AbstractIncrementalFilter *filter)
Definition: IncrementalSearch.cpp:267
IncrementalSearch()
Definition: IncrementalSearch.cpp:29
static bool setupMigemoDict()
Definition: IncrementalSearch.cpp:110
static std::string migemoDictDir()
Definition: IncrementalSearch.cpp:99
std::optional< std::string > queryMigemo(const char *word)
Definition: IncrementalSearch.cpp:76
Definition: IncrementalSearch.h:91
Result match(QString const &text) const override
Definition: IncrementalSearch.cpp:333
std::string original_text_
Definition: IncrementalSearch.h:94
void makeFilter(QString const &filtertext) override
Definition: IncrementalSearch.cpp:317
static std::string to_kana(std::string const &text, std::vector< Part2 > *out)
Definition: IncrementalSearch.cpp:296
bool isEmpty() const override
Definition: IncrementalSearch.cpp:328
std::string katakana_text_
Definition: IncrementalSearch.h:95
Definition: IncrementalSearch.h:78
QString text_
Definition: IncrementalSearch.h:80
bool isEmpty() const override
Definition: IncrementalSearch.cpp:185
Result match(QString const &text) const override
Definition: IncrementalSearch.cpp:203
void makeFilter(const QString &filtertext) override
Definition: IncrementalSearch.cpp:190
std::shared_ptr< QRegularExpression > re_
Definition: IncrementalSearch.h:81
Definition: IncrementalSearch.h:43
struct AbstractIncrementalFilter::Part2::@9 source
int end
Definition: IncrementalSearch.h:48
bool match
Definition: IncrementalSearch.h:44
int pos
Definition: IncrementalSearch.h:47
struct AbstractIncrementalFilter::Part2::@10 kana
std::string text
Definition: IncrementalSearch.h:46
Definition: IncrementalSearch.h:57
size_t pos
Definition: IncrementalSearch.h:59
size_t end
Definition: IncrementalSearch.h:60
std::vector< Part2 > part2
Definition: IncrementalSearch.h:61
bool match
Definition: IncrementalSearch.h:58
Definition: IncrementalSearch.cpp:24