3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Alfredo Braunstein
8 * Full author contact details are available in file CREDITS.
13 #include "QErrorList.h"
15 #include "qt_helpers.h"
17 #include "controllers/ControlErrorList.h"
19 #include <QListWidget>
20 #include <QTextBrowser>
21 #include <QPushButton>
22 #include <QCloseEvent>
27 /////////////////////////////////////////////////////////////////////
31 /////////////////////////////////////////////////////////////////////
33 QErrorListDialog::QErrorListDialog(QErrorList * form)
37 connect(closePB, SIGNAL(clicked()),
38 form, SLOT(slotClose()));
39 connect(errorsLW, SIGNAL( itemActivated(QListWidgetItem *)),
40 form, SLOT(slotClose()));
41 connect( errorsLW, SIGNAL( itemClicked(QListWidgetItem *)),
42 this, SLOT(select_adaptor(QListWidgetItem *)));
46 void QErrorListDialog::select_adaptor(QListWidgetItem * item)
52 void QErrorListDialog::closeEvent(QCloseEvent * e)
59 void QErrorListDialog::showEvent(QShowEvent *e)
61 errorsLW->setCurrentRow(0);
62 form_->select(errorsLW->item(0));
67 /////////////////////////////////////////////////////////////////////
71 /////////////////////////////////////////////////////////////////////
74 typedef QController<ControlErrorList, QView<QErrorListDialog> >
77 QErrorList::QErrorList(Dialog & parent)
78 : ErrorListBase(parent, docstring())
82 void QErrorList::build_dialog()
84 dialog_.reset(new QErrorListDialog(this));
85 bcview().setCancel(dialog_->closePB);
89 void QErrorList::select(QListWidgetItem * wi)
91 int const item = dialog_->errorsLW->row(wi);
92 controller().goTo(item);
93 dialog_->descriptionTB->setPlainText(toqstr(controller().errorList()[item].description));
97 void QErrorList::update_contents()
99 setTitle(from_utf8(controller().name()));
100 dialog_->errorsLW->clear();
101 dialog_->descriptionTB->setPlainText(QString());
103 ErrorList::const_iterator it = controller().errorList().begin();
104 ErrorList::const_iterator end = controller().errorList().end();
105 for(; it != end; ++it) {
106 dialog_->errorsLW->addItem(toqstr(it->error));
110 } // namespace frontend
114 #include "QErrorList_moc.cpp"