void GuiSearch::wrap_dispatch(const FuncRequest & func, bool forward) { dispatch(func); BufferView * bv = const_cast<BufferView *>(bufferview()); if (!bv->cursor().result().dispatched()) { GuiView & lv = *const_cast<GuiView *>(&lyxview()); DocIterator cur_orig(bv->cursor()); docstring q; if (forward) q = _("End of file reached while searching forward.\n" "Continue searching from the beginning?"); else q = _("Beginning of file reached while searching backward.\n" "Continue searching from the end?"); int wrap_answer = frontend::Alert::prompt(_("Wrap search?"), q, 0, 1, _("&Yes"), _("&No")); if (wrap_answer == 0) { if (forward) { bv->cursor().clear(); bv->cursor().push_back(CursorSlice(bv->buffer().inset())); } else { bv->cursor().setCursor(doc_iterator_end(&bv->buffer())); bv->cursor().backwardPos(); } bv->clearSelection(); dispatch(func); if (bv->cursor().result().dispatched()) return; } bv->cursor().setCursor(cur_orig); lv.message(_("String not found.")); } }
bool GuiCompareHistory::initialiseParams(std::string const &) { string revstring = lyxview().currentBufferView()->buffer().lyxvc().revisionInfo(LyXVC::File); int rev=0; string tmp; // RCS case if (!isStrInt(revstring)) revstring = rsplit(revstring, tmp , '.' ); if (isStrInt(revstring)) rev = convert<int>(revstring); okPB->setEnabled(rev); rev1SB->setMaximum(rev); rev2SB->setMaximum(rev); revbackSB->setMaximum(rev-1); rev2SB->setValue(rev); rev1SB->setValue(rev-1); //bc().setPolicy(ButtonPolicy::OkApplyCancelPolicy); //bc().setOK(okPB); //bc().setCancel(cancelPB); enableControls(); return true; }