1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#include "reportsubview.hpp"
#include "reporttable.hpp"
#include <apps/opencs/view/doc/subview.hpp>
#include "../../model/doc/document.hpp"
#include "../../model/doc/state.hpp"
CSVTools::ReportSubView::ReportSubView(const CSMWorld::UniversalId& id, CSMDoc::Document& document)
: CSVDoc::SubView(id)
, mDocument(document)
, mRefreshState(0)
{
if (id.getType() == CSMWorld::UniversalId::Type_VerificationResults)
mRefreshState = CSMDoc::State_Verifying;
setWidget(mTable = new ReportTable(document, id, false, mRefreshState, this));
connect(mTable, &ReportTable::editRequest, this, &ReportSubView::focusId);
if (mRefreshState == CSMDoc::State_Verifying)
{
connect(mTable, &ReportTable::refreshRequest, this, &ReportSubView::refreshRequest);
connect(&document, &CSMDoc::Document::stateChanged, mTable, &ReportTable::stateChanged);
}
}
void CSVTools::ReportSubView::setEditLock(bool locked)
{
// ignored. We don't change document state anyway.
}
void CSVTools::ReportSubView::refreshRequest()
{
if (!(mDocument.getState() & mRefreshState))
{
if (mRefreshState == CSMDoc::State_Verifying)
{
mTable->clear();
mDocument.verify(getUniversalId());
}
}
}
|