12 #include <QPushButton>
14 #include <QToolButton>
32 mIncrementalSearch =
true;
59 mSearchOptionsButton->
setToolTip(
"Search Options");
77 return *mCurrentOptions;
87 return mSearchIconStyle;
97 return mClearIconStyle;
102 return mOptionDialogIcon;
107 return mOptionDialogIconStyle;
117 mSearchIconStyle =
style;
127 mClearIconStyle =
style;
137 mOptionDialogIcon = icon;
142 mOptionDialogIconStyle =
style;
168 return mLineEdit->
text();
183 textWithFlags.
append(
"^");
184 textWithFlags.
append(text);
185 textWithFlags.
append(
"$");
188 textWithFlags.
append(text);
190 return textWithFlags;
201 s->
polish(mSearchIconLabel);
211 if(mLineEdit->
text().isEmpty()){
214 else if(mIncrementalSearch && mLineEdit->
text().length() >= mMinCharsToStartIncSearch)
223 if(mLineEdit->
text().isEmpty()){
238 mEmitTextWithFlags = emitTextWithFlags;
243 return mEmitTextWithFlags;
251 if(ev->
button() == Qt::MouseButton::LeftButton)
270 sd.
setOptions(mCurrentOptions, mLineEdit->
text(),mColumnNames, mIncrementalSearch, mMinCharsToStartIncSearch);
283 qInfo() <<
"Searchbar starts search with: " << txt <<
" " << mCurrentOptions->
toInt() <<
" inc search: " << mIncrementalSearch <<
" " << mMinCharsToStartIncSearch;
295 const int MAX_ENTRIES = 10;
296 const int MIN_LENGTH = 3;
298 if(entry.
length() >= MIN_LENGTH && !mSearchHistory.
contains(entry))
301 mSearchHistory[0] = entry;
void setOptions(SearchOptions *opts, QString searchString, QList< QString > columnNames, bool incSearch, int minIncSearch)
void setSearchHistory(const QStringList &history)
SearchOptions * getOptions() const
int getMinIncSearchValue()
bool getIncrementalSearch()
bool isExactMatch() const
bool isCaseSensitive() const
QString getCurrentTextWithFlags()
void setClearIcon(const QString &icon)
void setPlaceholderText(const QString &text)
void setOptionDialogIconStyle(const QString &style)
void hideEvent(QHideEvent *) override
QString optionDialogIconStyle
bool eventFilter(QObject *object, QEvent *event) override
void setSearchIcon(const QString &icon)
void setSearchIconStyle(const QString &style)
SearchOptions getSearchOptions() const
void handleReturnPressed()
void updateSearchHistory(QString entry)
Searchbar(QWidget *parent=nullptr)
void setClearIconStyle(const QString &style)
void handleSearchOptionsDialog()
bool getEmitTextWithFlags()
void setColumnNames(QList< QString > list)
void setOptionDialogIcon(const QString &icon)
void setEmitTextWithFlags(bool)
QString addFlags(const QString &text)
void handleClearClicked()
void triggerNewSearch(const QString &text, int searchOptions)
void showEvent(QShowEvent *) override
QIcon getStyledSvgIcon(const QString &from_to_colors_enabled, const QString &svg_path, QString from_to_colors_disabled=QString())
void setSpacing(int spacing)
virtual bool event(QEvent *e) override
void setFrameStyle(int style)
void setPixmap(const QPixmap &)
void setContentsMargins(int left, int top, int right, int bottom)
void setPlaceholderText(const QString &)
void textEdited(const QString &text)
void prepend(const T &value)
bool startsWith(const T &value) const const
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
virtual bool eventFilter(QObject *watched, QEvent *event)
void installEventFilter(QObject *filterObj)
QString & append(QChar ch)
bool isEmpty() const const
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const const
bool contains(const QString &str, Qt::CaseSensitivity cs) const const
virtual void polish(QWidget *widget)
virtual void unpolish(QWidget *widget)