21 mIncrementalSearchBox =
new QCheckBox(
"Incremental search",
this);
23 mSpinBoxLabel =
new QLabel(
"start at: ",
this);
31 mExactMatchBox =
new QCheckBox(
"Exact match",
this);
34 mCaseSensitiveBox =
new QCheckBox(
"Case sensitive",
this);
37 mRegExBox =
new QCheckBox(
"Regular expression",
this);
40 mSearchInLabel =
new QLabel(
"Search in:",
this);
51 mLayout->
addWidget(mIncrementalSearchBox, 1, 0, 1, 2);
55 mLayout->
addWidget(mExactMatchBox, 3, 0, 1, 2);
56 mLayout->
addWidget(mCaseSensitiveBox, 4, 0, 1, 2);
57 mLayout->
addWidget(mRegExBox, 5, 0, 1, 2);
59 mLayout->
addWidget(mSelectColumnsBtn, 6, 1);
82 qInfo() <<
"emitStartSearch from searchOptionsDialog";
91 qInfo() <<
"Emit search with string: " << mSearchText <<
" and options: " << options;
108 mLineEdit->
setText(searchString);
123 mSearchInLabel->
hide();
124 mSelectColumnsBtn->
hide();
127 mSelectColumnsBtn->
setText(formatColumnButtonText(buildColumnButtonText()));
140 return mSpinBox->
value();
145 return mIncrementalSearchBox->
isChecked();
170 const int MAX_LENGTH = 20;
171 const QString placeholder =
"[...]";
174 if(text.
length() <= MAX_LENGTH){
180 auto list = text.
split(
",");
181 for(
int i = 0; i < list.length(); ++i){
182 if(
result.length() > MAX_LENGTH){
183 result.append(placeholder);
187 if(i < list.length() - 1)
194 QString SearchOptionsDialog::buildColumnButtonText()
196 if(mSelectedColumns.
length() < 1)
197 return "All columns";
201 for(
int i = 0; i < mSelectedColumns.
length(); ++i){
202 result += mColumnNames[mSelectedColumns[i]];
203 if(i < mSelectedColumns.length() - 1)
QString selectedColumnNames() const
QList< int > selectedColumns() const
void setOptions(SearchOptions *opts, QString searchString, QList< QString > columnNames, bool incSearch, int minIncSearch)
void setSearchHistory(const QStringList &history)
SearchOptionsDialog(QWidget *parent=nullptr)
SearchOptions * getOptions() const
int getMinIncSearchValue()
void incrementalSearchToggled(int)
bool getIncrementalSearch()
const QList< int > & getColumns() const
bool isExactMatch() const
bool isCaseSensitive() const
bool isRegularExpression() const
void setOptions(bool exactMatch, bool caseSensitive, bool regEx, QList< int > columns)
void setText(const QString &text)
void stateChanged(int state)
void addItems(const QStringList &texts)
void setEditable(bool editable)
QLineEdit * lineEdit() const const
void setHorizontalSpacing(int spacing)
void setRowMinimumHeight(int row, int minSize)
void setText(const QString &)
void append(const T &value)
bool isEmpty() const const
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void setSuffix(const QString &suffix)
QStringList split(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const const