(i.e., it was possible to replace in readonly buffers!)
See also http://comments.gmane.org/gmane.editors.lyx.devel/140074
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40548
a592a061-630c-0410-9148-
cb99ea01b6c8
case LFUN_WORD_FIND:
case LFUN_WORD_FIND_FORWARD:
case LFUN_WORD_FIND_BACKWARD:
- case LFUN_WORD_FINDADV:
case LFUN_WORD_REPLACE:
case LFUN_MARK_OFF:
case LFUN_MARK_ON:
flag.setEnabled(true);
break;
+ case LFUN_WORD_FINDADV: {
+ FindAndReplaceOptions opt;
+ istringstream iss(to_utf8(cmd.argument()));
+ iss >> opt;
+ flag.setEnabled(opt.repl_buf_name.empty()
+ || !buffer_.isReadonly());
+ }
+
case LFUN_LABEL_GOTO: {
flag.setEnabled(!cmd.argument().empty()
|| getInsetByCode<InsetRef>(cur, REF_CODE));
bool FindAndReplaceWidget::eventFilter(QObject * obj, QEvent * event)
{
+ bool replace_enabled = view_.documentBufferView() && !view_.documentBufferView()->buffer().isReadonly();
+ replace_work_area_->setEnabled(replace_enabled);
+ replacePB->setEnabled(replace_enabled);
+ replaceallPB->setEnabled(replace_enabled);
+
if (event->type() != QEvent::KeyPress
|| (obj != find_work_area_ && obj != replace_work_area_))
return QWidget::eventFilter(obj, event);