|
|
|
@ -5,6 +5,8 @@
|
|
|
|
|
#include <QApplication>
|
|
|
|
|
|
|
|
|
|
#include "../../model/world/data.hpp"
|
|
|
|
|
#include "../../model/world/idtablebase.hpp"
|
|
|
|
|
#include "../../model/world/columns.hpp"
|
|
|
|
|
|
|
|
|
|
CSVFilter::EditWidget::EditWidget (CSMWorld::Data& data, QWidget *parent)
|
|
|
|
|
: QLineEdit (parent), mParser (data), mIsEmpty(true)
|
|
|
|
@ -12,7 +14,8 @@ CSVFilter::EditWidget::EditWidget (CSMWorld::Data& data, QWidget *parent)
|
|
|
|
|
mPalette = palette();
|
|
|
|
|
connect (this, SIGNAL (textChanged (const QString&)), this, SLOT (textChanged (const QString&)));
|
|
|
|
|
|
|
|
|
|
QAbstractItemModel *model = data.getTableModel (CSMWorld::UniversalId::Type_Filters);
|
|
|
|
|
const CSMWorld::IdTableBase *model =
|
|
|
|
|
static_cast<const CSMWorld::IdTableBase *> (data.getTableModel (CSMWorld::UniversalId::Type_Filters));
|
|
|
|
|
|
|
|
|
|
connect (model, SIGNAL (dataChanged (const QModelIndex &, const QModelIndex&)),
|
|
|
|
|
this, SLOT (filterDataChanged (const QModelIndex &, const QModelIndex&)),
|
|
|
|
@ -23,6 +26,9 @@ CSVFilter::EditWidget::EditWidget (CSMWorld::Data& data, QWidget *parent)
|
|
|
|
|
connect (model, SIGNAL (rowsInserted (const QModelIndex&, int, int)),
|
|
|
|
|
this, SLOT (filterRowsInserted (const QModelIndex&, int, int)),
|
|
|
|
|
Qt::QueuedConnection);
|
|
|
|
|
|
|
|
|
|
mStateColumnIndex = model->findColumnIndex(CSMWorld::Columns::ColumnId_Modification);
|
|
|
|
|
mDescColumnIndex = model->findColumnIndex(CSMWorld::Columns::ColumnId_Description);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CSVFilter::EditWidget::textChanged (const QString& text)
|
|
|
|
@ -55,7 +61,9 @@ void CSVFilter::EditWidget::textChanged (const QString& text)
|
|
|
|
|
void CSVFilter::EditWidget::filterDataChanged (const QModelIndex& topLeft,
|
|
|
|
|
const QModelIndex& bottomRight)
|
|
|
|
|
{
|
|
|
|
|
textChanged (text());
|
|
|
|
|
for (int i = topLeft.column(); i <= bottomRight.column(); ++i)
|
|
|
|
|
if (i != mStateColumnIndex && i != mDescColumnIndex)
|
|
|
|
|
textChanged (text());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CSVFilter::EditWidget::filterRowsRemoved (const QModelIndex& parent, int start, int end)
|
|
|
|
|