Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
PIM
Akregator
Commits
92e5c833
Commit
92e5c833
authored
Feb 25, 2022
by
Laurent Montel
Browse files
Search Diacritic support
parent
fc3be546
Pipeline
#142199
passed with stage
in 1 minute and 34 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/articlematcher.cpp
View file @
92e5c833
...
...
@@ -9,6 +9,7 @@
#include
"akregator_debug.h"
#include
"article.h"
#include
"types.h"
#include
"utils/textutil.h"
#include
<KConfig>
#include
<KConfigGroup>
#include
<QUrl>
...
...
@@ -160,17 +161,17 @@ bool Criterion::satisfiedBy(const Article &article) const
switch
(
predicateType
)
{
case
Contains
:
satisfied
=
concreteSubject
.
toString
().
indexOf
(
m_object
.
toString
(),
0
,
Qt
::
CaseInsensitive
)
!=
-
1
;
satisfied
=
TextUtil
::
normalize
(
concreteSubject
.
toString
()
)
.
indexOf
(
m_object
.
toString
(),
0
,
Qt
::
CaseInsensitive
)
!=
-
1
;
break
;
case
Equals
:
if
(
subjectType
==
QLatin1String
(
"int"
))
{
satisfied
=
concreteSubject
.
toInt
()
==
m_object
.
toInt
();
}
else
{
satisfied
=
concreteSubject
.
toString
()
==
m_object
.
toString
();
satisfied
=
TextUtil
::
normalize
(
concreteSubject
.
toString
()
)
==
m_object
.
toString
();
}
break
;
case
Matches
:
satisfied
=
concreteSubject
.
toString
().
contains
(
QRegularExpression
(
m_object
.
toString
()));
satisfied
=
TextUtil
::
normalize
(
concreteSubject
.
toString
()
)
.
contains
(
QRegularExpression
(
m_object
.
toString
()));
break
;
default:
qCDebug
(
AKREGATOR_LOG
)
<<
"Internal inconsistency; predicateType should never be Negation"
;
...
...
src/widgets/searchbar.cpp
View file @
92e5c833
...
...
@@ -10,6 +10,7 @@
#include
"akregatorconfig.h"
#include
"article.h"
#include
"utils/textutil.h"
#include
<KLineEdit>
#include
<KLocalizedString>
...
...
@@ -132,12 +133,13 @@ void SearchBar::slotActivateSearch()
QVector
<
Criterion
>
statusCriteria
;
if
(
!
m_searchText
.
isEmpty
())
{
const
QString
searchTextDiacritic
(
TextUtil
::
normalize
(
m_searchText
));
textCriteria
.
reserve
(
3
);
Criterion
subjCrit
(
Criterion
::
Title
,
Criterion
::
Contains
,
m_
searchText
);
Criterion
subjCrit
(
Criterion
::
Title
,
Criterion
::
Contains
,
searchText
Diacritic
);
textCriteria
<<
subjCrit
;
Criterion
crit1
(
Criterion
::
Description
,
Criterion
::
Contains
,
m_
searchText
);
Criterion
crit1
(
Criterion
::
Description
,
Criterion
::
Contains
,
searchText
Diacritic
);
textCriteria
<<
crit1
;
Criterion
authCrit
(
Criterion
::
Author
,
Criterion
::
Contains
,
m_
searchText
);
Criterion
authCrit
(
Criterion
::
Author
,
Criterion
::
Contains
,
searchText
Diacritic
);
textCriteria
<<
authCrit
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment