fixed search line edit clearing when a modifier is present

This commit is contained in:
Luis Ángel San Martín 2014-10-28 10:16:31 +01:00
parent 10436200ac
commit b0d944e6b6
2 changed files with 11 additions and 2 deletions

View File

@ -70,6 +70,15 @@ YACReaderSearchLineEdit::YACReaderSearchLineEdit(QWidget *parent)
connect(this,SIGNAL(textChanged(QString)),this,SLOT(processText(QString)));
}
//modifiers are not returned
const QString YACReaderSearchLineEdit::text()
{
QString text = QLineEdit::text();
QRegExp regExp("\\[.*\\]");
return text.remove(regExp).trimmed();
}
void YACReaderSearchLineEdit::resizeEvent(QResizeEvent *)
{
#ifdef Q_OS_MAC
@ -108,11 +117,10 @@ void YACReaderSearchLineEdit::processText(const QString &text)
QString modifier = regExp.cap(1);
QString searchText = regExp.cap(2).trimmed();
QLOG_INFO() << "modifier : " << modifier << "text : " << searchText;
int indexOfModifier = modifiers.indexOf(modifier);
if(indexOfModifier != -1)
{
QLOG_INFO() << "modifier : " << modifier << "text : " << searchText;
emit filterChanged(static_cast<YACReader::SearchModifiers>(indexOfModifier+1), searchText); //TODO, do not use on indexOF
}
else

View File

@ -15,6 +15,7 @@ class YACReaderSearchLineEdit : public QLineEdit
public:
YACReaderSearchLineEdit(QWidget *parent = 0);
const QString text();
protected:
void resizeEvent(QResizeEvent *);