]> git.lyx.org Git - features.git/blobdiff - src/frontends/qt4/GuiErrorList.cpp
start work on less-likely-to-misuse iterators.
[features.git] / src / frontends / qt4 / GuiErrorList.cpp
index 99c7b4cbb78671a3f903df698c208598a285c29f..4e3ab938dd7406d38986c8a27056a49f596eaab8 100644 (file)
 #include <QCloseEvent>
 
 using namespace std;
+using namespace lyx::support;
 
 namespace lyx {
 namespace frontend {
 
-using support::bformat;
-
 GuiErrorList::GuiErrorList(GuiView & lv)
-       : GuiDialog(lv, "errorlist")
+       : GuiDialog(lv, "errorlist", qt_("Error List"))
 {
        setupUi(this);
 
@@ -75,7 +74,7 @@ void GuiErrorList::select(QListWidgetItem * wi)
 
 void GuiErrorList::updateContents()
 {
-       setViewTitle(name_);
+       setTitle(toqstr(name_));
        errorsLW->clear();
        descriptionTB->setPlainText(QString());
 
@@ -110,21 +109,20 @@ void GuiErrorList::goTo(int item)
                return;
 
        Buffer & buf = buffer();
-       ParIterator pit = buf.getParFromID(err.par_id);
+       DocIterator dit = buf.getParFromID(err.par_id);
 
-       if (pit == buf.par_iterator_end()) {
+       if (dit == doc_iterator_end(buf.inset())) {
                LYXERR0("par id " << err.par_id << " not found");
                return;
        }
 
        // Now make the selection.
-       // This should be implemented using an LFUN. (Angus)
        // if pos_end is 0, this means it is end-of-paragraph
-       pos_type const end = err.pos_end ? std::min(err.pos_end, pit->size())
-                                        : pit->size();
-       pos_type const start = std::min(err.pos_start, end);
+       pos_type const s = dit.paragraph().size();
+       pos_type const end = err.pos_end ? min(err.pos_end, s) : s;
+       pos_type const start = min(err.pos_start, end);
        pos_type const range = end - start;
-       DocIterator const dit = makeDocIterator(pit, start);
+       dit.pos() = start;
        bufferview()->putSelectionAt(dit, range, false);
        // FIXME: If we used an LFUN, we would not need this line:
        bufferview()->processUpdateFlags(Update::Force | Update::FitCursor);