]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView.cpp
Update it.po
[lyx.git] / src / BufferView.cpp
index 43420209cceab24a9d4101b4855c72ad797a437e..84194605a59200d3a6f816f22aa40e02d73e6720 100644 (file)
@@ -876,7 +876,7 @@ bool BufferView::scrollToCursor(DocIterator const & dit, bool recenter)
 
        if (tm.contains(bot_pit)) {
                ParagraphMetrics const & pm = tm.parMetrics(bot_pit);
-               LASSERT(!pm.rows().empty(), /**/);
+               LBUFERR(!pm.rows().empty());
                // FIXME: smooth scrolling doesn't work in mathed.
                CursorSlice const & cs = dit.innerTextSlice();
                int offset = coordOffset(dit).y_;
@@ -1186,22 +1186,6 @@ bool BufferView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
                break;
        }
 
-       // FIXME We do not really want this here, but at present we need to
-       // handle their dispatch here, for reasons explained there, so we'll
-       // handle this here, too, for consistency.
-       case LFUN_BRANCH_ACTIVATE:
-       case LFUN_BRANCH_DEACTIVATE:
-       case LFUN_BRANCH_MASTER_ACTIVATE:
-       case LFUN_BRANCH_MASTER_DEACTIVATE: {
-               bool const master = (cmd.action() == LFUN_BRANCH_MASTER_ACTIVATE
-                                   || cmd.action() == LFUN_BRANCH_MASTER_DEACTIVATE);
-               BranchList const & branchList = master ? buffer().masterBuffer()->params().branchlist()
-                                                      : buffer().params().branchlist();
-               docstring const branchName = cmd.argument();
-               flag.setEnabled(!branchName.empty() && branchList.find(branchName));
-               break;
-       }
-
        default:
                return false;
        }
@@ -1529,8 +1513,14 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                docstring const data =
                        find2string(searched_string, true, false, fw);
                bool found = lyxfind(this, FuncRequest(LFUN_WORD_FIND, data));
-               if (found)
+               if (found) {
                        dr.screenUpdate(Update::Force | Update::FitCursor);
+                       cur.dispatched();
+                       dispatched = true;
+               } else {
+                       cur.undispatched();
+                       dispatched = false;
+               }
                break;
        }
 
@@ -1542,10 +1532,14 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                        lyx::dispatch(FuncRequest(LFUN_DIALOG_SHOW, "findreplace"));
                        break;
                }
-               if (lyxfind(this, req))
+               if (lyxfind(this, req)) {
                        dr.screenUpdate(Update::Force | Update::FitCursor);
-               else
-                       message(_("String not found!"));
+                       cur.dispatched();
+                       dispatched = true;
+               } else {
+                       cur.undispatched();
+                       dispatched = false;
+               }
                d->search_request_cache_ = req;
                break;
        }
@@ -1567,6 +1561,11 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                if (lyxreplace(this, cmd, has_deleted)) {
                        dr.forceBufferUpdate();
                        dr.screenUpdate(Update::Force | Update::FitCursor);
+                       cur.dispatched();
+                       dispatched = true;
+               } else {
+                       cur.undispatched();
+                       dispatched = false;
                }
                break;
        }
@@ -1911,7 +1910,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                        opt1 = token(argument, '|', 1);
                }
 
-               // if our cursor is direclty in front of or behind a citation inset,
+               // if our cursor is directly in front of or behind a citation inset,
                // we will instead add the new key to it.
                Inset * inset = cur.nextInset();
                if (!inset || inset->lyxCode() != CITE_CODE)
@@ -1988,48 +1987,6 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                break;
        }
 
-       // FIXME We do not really want this here, but it has to be at present
-       // because we need a cursor for the recordUndoFullDocument call. What
-       // we would really like is a recordUndoBufferParams call that did not
-       // need a cursor, but we do not have that yet.
-       // So, if this does get fixed, this code can be moved back to Buffer.cpp,
-       // and the corresponding code in getStatus() should be moved back, too.
-       case LFUN_BRANCH_ACTIVATE:
-       case LFUN_BRANCH_DEACTIVATE:
-       case LFUN_BRANCH_MASTER_ACTIVATE:
-       case LFUN_BRANCH_MASTER_DEACTIVATE: {
-               bool const master = (cmd.action() == LFUN_BRANCH_MASTER_ACTIVATE
-                                    || cmd.action() == LFUN_BRANCH_MASTER_DEACTIVATE);
-               Buffer * buf = master ? const_cast<Buffer *>(buffer().masterBuffer())
-                                     : &buffer();
-
-               docstring const branch_name = cmd.argument();
-               // the case without a branch name is handled elsewhere
-               if (branch_name.empty()) {
-                       dispatched = false;
-                       break;
-               }
-               Branch * branch = buf->params().branchlist().find(branch_name);
-               if (!branch) {
-                       LYXERR0("Branch " << branch_name << " does not exist.");
-                       dr.setError(true);
-                       docstring const msg =
-                               bformat(_("Branch \"%1$s\" does not exist."), branch_name);
-                       dr.setMessage(msg);
-                       break;
-               }
-               bool activate = (cmd.action() == LFUN_BRANCH_ACTIVATE
-                                || cmd.action() == LFUN_BRANCH_MASTER_ACTIVATE);
-               if (branch->isSelected() != activate) {
-                       branch->setSelected(activate);
-                       cur.recordUndoFullDocument();
-                       dr.setError(false);
-                       dr.screenUpdate(Update::Force);
-                       dr.forceBufferUpdate();
-               }
-               break;
-       }
-
        default:
                // OK, so try the Buffer itself...
                buffer_.dispatch(cmd, dr);
@@ -2169,7 +2126,7 @@ void BufferView::clearLastInset(Inset * inset) const
 {
        if (d->last_inset_ != inset) {
                LYXERR0("Wrong last_inset!");
-               LASSERT(false, /**/);
+               LATTEST(false);
        }
        d->last_inset_ = 0;
 }
@@ -2401,7 +2358,7 @@ TextMetrics const & BufferView::textMetrics(Text const * t) const
 
 TextMetrics & BufferView::textMetrics(Text const * t)
 {
-       LASSERT(t, /**/);
+       LBUFERR(t);
        TextMetricsCache::iterator tmc_it  = d->text_metrics_.find(t);
        if (tmc_it == d->text_metrics_.end()) {
                tmc_it = d->text_metrics_.insert(
@@ -2458,16 +2415,19 @@ bool BufferView::checkDepm(Cursor & cur, Cursor & old)
                return false;
 
        d->cursor_ = cur;
+       
+       // we would rather not do this here, but it needs to be done before 
+       // the changed() signal is sent.
+       buffer_.updateBuffer();
 
-       cur.forceBufferUpdate();
-       cur.screenUpdateFlags(Update::Force);
+       buffer_.changed(true);
        return true;
 }
 
 
 bool BufferView::mouseSetCursor(Cursor & cur, bool select)
 {
-       LASSERT(&cur.bv() == this, /**/);
+       LASSERT(&cur.bv() == this, return false);
 
        if (!select)
                // this event will clear selection so we save selection for
@@ -2708,7 +2668,7 @@ void BufferView::updateMetrics()
 
 void BufferView::insertLyXFile(FileName const & fname)
 {
-       LASSERT(d->cursor_.inTexted(), /**/);
+       LASSERT(d->cursor_.inTexted(), return);
 
        // Get absolute path of file and add ".lyx"
        // to the filename if necessary
@@ -2791,7 +2751,8 @@ Point BufferView::coordOffset(DocIterator const & dit) const
        CursorSlice const & sl = dit[0];
        TextMetrics const & tm = textMetrics(sl.text());
        ParagraphMetrics const & pm = tm.parMetrics(sl.pit());
-       LASSERT(!pm.rows().empty(), /**/);
+
+       LBUFERR(!pm.rows().empty());
        y -= pm.rows()[0].ascent();
 #if 1
        // FIXME: document this mess