diff --git a/conf/okular.kcfg b/conf/okular.kcfg --- a/conf/okular.kcfg +++ b/conf/okular.kcfg @@ -306,6 +306,9 @@ true + + Qt::yellow + diff --git a/ui/findbar.h b/ui/findbar.h --- a/ui/findbar.h +++ b/ui/findbar.h @@ -11,6 +11,7 @@ #define _FINDBAR_H_ #include +#include class QAction; class SearchLineWidget; @@ -48,12 +49,15 @@ void fromCurrentPageChanged(); void findAsYouTypeChanged(); void closeAndStopSearch(); + void changeSearchColor(); private: SearchLineWidget * m_search; QAction * m_caseSensitiveAct; QAction * m_fromCurrentPageAct; QAction * m_findAsYouTypeAct; + QAction * m_searchColor; + KColorButton * m_searchColorButton; bool eventFilter( QObject *target, QEvent *event ) override; bool m_active; }; diff --git a/ui/findbar.cpp b/ui/findbar.cpp --- a/ui/findbar.cpp +++ b/ui/findbar.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include // local includes @@ -45,7 +46,7 @@ m_search->lineEdit()->setSearchMinimumLength( 0 ); m_search->lineEdit()->setSearchType( Okular::Document::NextMatch ); m_search->lineEdit()->setSearchId( PART_SEARCH_ID ); - m_search->lineEdit()->setSearchColor( qRgb( 255, 255, 64 ) ); + m_search->lineEdit()->setSearchColor( Okular::Settings::searchColorButton() ); m_search->lineEdit()->setSearchMoveViewport( true ); m_search->lineEdit()->setFindAsYouType( false ); m_search->lineEdit()->setToolTip( i18n( "Text to search for" ) ); @@ -73,21 +74,25 @@ m_findAsYouTypeAct->setCheckable( true ); optionsBtn->setMenu( optionsMenu ); lay->addWidget( optionsBtn ); + m_searchColorButton = new KColorButton( this ); + lay->addWidget( m_searchColorButton ); connect( closeBtn, &QAbstractButton::clicked, this, &FindBar::closeAndStopSearch ); connect( findNextBtn, &QAbstractButton::clicked, this, &FindBar::findNext ); connect( findPrevBtn, &QAbstractButton::clicked, this, &FindBar::findPrev ); connect( m_caseSensitiveAct, &QAction::toggled, this, &FindBar::caseSensitivityChanged ); connect( m_fromCurrentPageAct, &QAction::toggled, this, &FindBar::fromCurrentPageChanged ); connect( m_findAsYouTypeAct, &QAction::toggled, this, &FindBar::findAsYouTypeChanged ); + connect( m_searchColorButton, &KColorButton::changed, this, &FindBar::changeSearchColor ); m_caseSensitiveAct->setChecked( Okular::Settings::searchCaseSensitive() ); m_fromCurrentPageAct->setChecked( Okular::Settings::searchFromCurrentPage() ); m_findAsYouTypeAct->setChecked( Okular::Settings::findAsYouType() ); + m_searchColorButton->setColor( Okular::Settings::searchColorButton() ); hide(); - // "activate" it only at th very end + // "activate" it only at the very end m_active = true; } @@ -197,4 +202,11 @@ close(); } +void FindBar::changeSearchColor() +{ + m_search->lineEdit()->setSearchColor( m_searchColorButton->color() ); + Okular::Settings::setSearchColorButton( m_searchColorButton->color() ); + Okular::Settings::self()->save(); +} + #include "moc_findbar.cpp" diff --git a/ui/searchlineedit.cpp b/ui/searchlineedit.cpp --- a/ui/searchlineedit.cpp +++ b/ui/searchlineedit.cpp @@ -89,6 +89,7 @@ { m_color = color; m_changed = true; + startSearch(); } void SearchLineEdit::setSearchMoveViewport( bool move )