diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index d682261b..0a07a256 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -130,9 +130,24 @@ void rwSettings(bool writing) SETTING_RW(prefs.previewPlainPre, "/Recoll/prefs/preview/plainPre", Int, PrefsPack::PP_PREWRAP); - SETTING_RW(prefs.qtermcolor, "/Recoll/prefs/qtermcolor", String, "blue"); - if (!writing && prefs.qtermcolor == "") - prefs.qtermcolor = "blue"; + + // History: used to be able to only set a bare color name. Can now + // set any CSS style. Hack on ':' presence to keep compat with old + // values + SETTING_RW(prefs.qtermstyle, "/Recoll/prefs/qtermcolor", String, + "color: blue"); + if (!writing && prefs.qtermstyle == "") + prefs.qtermstyle = "color: blue"; + { // histo compatibility hack + int colon = prefs.qtermstyle.indexOf(":"); + int semi = prefs.qtermstyle.indexOf(";"); + // The 2nd part of the test is to keep compat with the + // injection hack of the 1st user who suggested this (had + // #ff5000;font-size:110%;... in 'qtermcolor') + if (colon == -1 || (colon != -1 && semi != -1 && semi < colon)) { + prefs.qtermstyle = QString::fromUtf8("color: ") + prefs.qtermstyle; + } + } // Abstract snippet separator SETTING_RW(prefs.abssep, "/Recoll/prefs/reslist/abssep", String,"…"); diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h index ac2bcd74..005fcf4b 100644 --- a/src/qtgui/guiutils.h +++ b/src/qtgui/guiutils.h @@ -54,7 +54,7 @@ class PrefsPack { // set main character color for webkit/textbrowser reslist and // snippets window. QString fontcolor; - QString qtermcolor; // Color for query terms in reslist and preview + QString qtermstyle; // CSS style for query terms in reslist and other places int reslistfontsize; // Result list format string QString reslistformat; diff --git a/src/qtgui/preview_plaintorich.cpp b/src/qtgui/preview_plaintorich.cpp index 2f400515..ebcddc9e 100644 --- a/src/qtgui/preview_plaintorich.cpp +++ b/src/qtgui/preview_plaintorich.cpp @@ -76,9 +76,8 @@ string PlainToRichQtPreview::startMatch(unsigned int grpidx) LOGDEB2("startMatch, ugrpidx " << (grpidx) << "\n" ); m_groupanchors[grpidx].push_back(++m_lastanchor); m_groupcuranchors[grpidx] = 0; - return string(""). append(""); + return string(""); } virtual string endMatch() { diff --git a/src/qtgui/restable.cpp b/src/qtgui/restable.cpp index 2f477d85..d2474d13 100644 --- a/src/qtgui/restable.cpp +++ b/src/qtgui/restable.cpp @@ -67,8 +67,8 @@ public: virtual ~PlainToRichQtReslist() {} virtual string startMatch(unsigned int) { - return string(""); + return string(""); } virtual string endMatch() {return string("");} }; diff --git a/src/qtgui/snippets_w.cpp b/src/qtgui/snippets_w.cpp index 7713c721..6e4dd0ac 100644 --- a/src/qtgui/snippets_w.cpp +++ b/src/qtgui/snippets_w.cpp @@ -52,8 +52,8 @@ class PlainToRichQtSnippets : public PlainToRich { public: virtual string startMatch(unsigned int) { - return string(""); + return string(""); } virtual string endMatch() { diff --git a/src/qtgui/uiprefs.ui b/src/qtgui/uiprefs.ui index 36c28c54..01708237 100644 --- a/src/qtgui/uiprefs.ui +++ b/src/qtgui/uiprefs.ui @@ -36,7 +36,7 @@ - Highlight color for query terms + Highlight CSS style for query terms false @@ -44,7 +44,7 @@ - + 50 diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp index 9a016838..72a9ae70 100644 --- a/src/qtgui/uiprefs_w.cpp +++ b/src/qtgui/uiprefs_w.cpp @@ -154,7 +154,7 @@ void UIPrefsDialog::setFromPrefs() break; } // Query terms color - qtermColorLE->setText(prefs.qtermcolor); + qtermStyleLE->setText(prefs.qtermstyle); // Abstract snippet separator string abssepLE->setText(prefs.abssep); dateformatLE->setText(prefs.reslistdateformat); @@ -286,7 +286,7 @@ void UIPrefsDialog::accept() prefs.collapseDuplicates = collapseDupsCB->isChecked(); prefs.maxhltextmbs = maxHLTSB->value(); - prefs.qtermcolor = qtermColorLE->text(); + prefs.qtermstyle = qtermStyleLE->text(); prefs.abssep = abssepLE->text(); prefs.reslistdateformat = dateformatLE->text(); prefs.creslistdateformat = (const char*)prefs.reslistdateformat.toUtf8();