mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 10:58:52 +00:00
Implement buffer-anonymize more efficiently
The work is done now in Paragraph::anonymize(). Move the handling of the lfun to Buffer class.
This commit is contained in:
parent
86e42848fe
commit
1dba36c7ce
@ -2569,15 +2569,16 @@ bool Buffer::getStatus(FuncRequest const & cmd, FuncStatus & flag)
|
|||||||
flag.setOnOff(params().output_changes);
|
flag.setOnOff(params().output_changes);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_BUFFER_TOGGLE_COMPRESSION: {
|
case LFUN_BUFFER_TOGGLE_COMPRESSION:
|
||||||
flag.setOnOff(params().compressed);
|
flag.setOnOff(params().compressed);
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
case LFUN_BUFFER_TOGGLE_OUTPUT_SYNC: {
|
case LFUN_BUFFER_TOGGLE_OUTPUT_SYNC:
|
||||||
flag.setOnOff(params().output_sync);
|
flag.setOnOff(params().output_sync);
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
case LFUN_BUFFER_ANONYMIZE:
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@ -2849,6 +2850,15 @@ void Buffer::dispatch(FuncRequest const & func, DispatchResult & dr)
|
|||||||
params().output_sync = !params().output_sync;
|
params().output_sync = !params().output_sync;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LFUN_BUFFER_ANONYMIZE: {
|
||||||
|
undo().recordUndoFullBuffer(CursorData());
|
||||||
|
CursorData cur(doc_iterator_begin(this));
|
||||||
|
for ( ; cur ; cur.forwardPar())
|
||||||
|
cur.paragraph().anonymize();
|
||||||
|
dr.forceBufferUpdate();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
dispatched = false;
|
dispatched = false;
|
||||||
break;
|
break;
|
||||||
|
@ -1134,7 +1134,6 @@ bool BufferView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
|
|||||||
case LFUN_WORD_FIND_FORWARD:
|
case LFUN_WORD_FIND_FORWARD:
|
||||||
case LFUN_WORD_FIND_BACKWARD:
|
case LFUN_WORD_FIND_BACKWARD:
|
||||||
case LFUN_WORD_REPLACE:
|
case LFUN_WORD_REPLACE:
|
||||||
case LFUN_BUFFER_ANONYMIZE:
|
|
||||||
case LFUN_MARK_OFF:
|
case LFUN_MARK_OFF:
|
||||||
case LFUN_MARK_ON:
|
case LFUN_MARK_ON:
|
||||||
case LFUN_MARK_TOGGLE:
|
case LFUN_MARK_TOGGLE:
|
||||||
@ -1622,15 +1621,6 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case LFUN_BUFFER_ANONYMIZE: {
|
|
||||||
for (char c = '0'; c <= 'Z'; c++) {
|
|
||||||
odocstringstream ss;
|
|
||||||
ss << "a\n" << c << "\n0 0 1 1 0";
|
|
||||||
lyx::dispatch(FuncRequest(LFUN_WORD_REPLACE, ss.str()));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case LFUN_WORD_FINDADV: {
|
case LFUN_WORD_FINDADV: {
|
||||||
FindAndReplaceOptions opt;
|
FindAndReplaceOptions opt;
|
||||||
istringstream iss(to_utf8(cmd.argument()));
|
istringstream iss(to_utf8(cmd.argument()));
|
||||||
|
@ -4148,6 +4148,15 @@ SpellChecker::Result Paragraph::spellCheck(pos_type & from, pos_type & to,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Paragraph::anonymize()
|
||||||
|
{
|
||||||
|
// This is a very crude anonymization for now
|
||||||
|
for (char_type & c : d->text_)
|
||||||
|
if (isLetterChar(c) || isNumber(c))
|
||||||
|
c = 'a';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Paragraph::Private::markMisspelledWords(
|
void Paragraph::Private::markMisspelledWords(
|
||||||
pos_type const & first, pos_type const & last,
|
pos_type const & first, pos_type const & last,
|
||||||
SpellChecker::Result result,
|
SpellChecker::Result result,
|
||||||
|
@ -505,6 +505,10 @@ public:
|
|||||||
/// presently used only in the XHTML output routines.
|
/// presently used only in the XHTML output routines.
|
||||||
std::string magicLabel() const;
|
std::string magicLabel() const;
|
||||||
|
|
||||||
|
/// anonymizes the paragraph contents (but not the paragraphs
|
||||||
|
/// contained inside it. Does not handle undo.
|
||||||
|
void anonymize();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// Expand the counters for the labelstring of \c layout
|
/// Expand the counters for the labelstring of \c layout
|
||||||
docstring expandParagraphLabel(Layout const &, BufferParams const &,
|
docstring expandParagraphLabel(Layout const &, BufferParams const &,
|
||||||
|
Loading…
Reference in New Issue
Block a user