mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 22:23:51 +00:00
Fixed filter reapplication on Description column change and on State
column change. Moved column index search to widget constructor, rewrite slot with respect to multiple columns data change.
This commit is contained in:
parent
33e12a99fa
commit
eae36f8005
2 changed files with 12 additions and 2 deletions
|
@ -5,6 +5,8 @@
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
||||||
#include "../../model/world/data.hpp"
|
#include "../../model/world/data.hpp"
|
||||||
|
#include "../../model/world/idtablebase.hpp"
|
||||||
|
#include "../../model/world/columns.hpp"
|
||||||
|
|
||||||
CSVFilter::EditWidget::EditWidget (CSMWorld::Data& data, QWidget *parent)
|
CSVFilter::EditWidget::EditWidget (CSMWorld::Data& data, QWidget *parent)
|
||||||
: QLineEdit (parent), mParser (data), mIsEmpty(true)
|
: QLineEdit (parent), mParser (data), mIsEmpty(true)
|
||||||
|
@ -12,7 +14,8 @@ CSVFilter::EditWidget::EditWidget (CSMWorld::Data& data, QWidget *parent)
|
||||||
mPalette = palette();
|
mPalette = palette();
|
||||||
connect (this, SIGNAL (textChanged (const QString&)), this, SLOT (textChanged (const QString&)));
|
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&)),
|
connect (model, SIGNAL (dataChanged (const QModelIndex &, const QModelIndex&)),
|
||||||
this, SLOT (filterDataChanged (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)),
|
connect (model, SIGNAL (rowsInserted (const QModelIndex&, int, int)),
|
||||||
this, SLOT (filterRowsInserted (const QModelIndex&, int, int)),
|
this, SLOT (filterRowsInserted (const QModelIndex&, int, int)),
|
||||||
Qt::QueuedConnection);
|
Qt::QueuedConnection);
|
||||||
|
|
||||||
|
mStateColumnIndex = model->findColumnIndex(CSMWorld::Columns::ColumnId_Modification);
|
||||||
|
mDescColumnIndex = model->findColumnIndex(CSMWorld::Columns::ColumnId_Description);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVFilter::EditWidget::textChanged (const QString& text)
|
void CSVFilter::EditWidget::textChanged (const QString& text)
|
||||||
|
@ -55,6 +61,8 @@ void CSVFilter::EditWidget::textChanged (const QString& text)
|
||||||
void CSVFilter::EditWidget::filterDataChanged (const QModelIndex& topLeft,
|
void CSVFilter::EditWidget::filterDataChanged (const QModelIndex& topLeft,
|
||||||
const QModelIndex& bottomRight)
|
const QModelIndex& bottomRight)
|
||||||
{
|
{
|
||||||
|
for (int i = topLeft.column(); i <= bottomRight.column(); ++i)
|
||||||
|
if (i != mStateColumnIndex && i != mDescColumnIndex)
|
||||||
textChanged (text());
|
textChanged (text());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,8 @@ namespace CSVFilter
|
||||||
CSMFilter::Parser mParser;
|
CSMFilter::Parser mParser;
|
||||||
QPalette mPalette;
|
QPalette mPalette;
|
||||||
bool mIsEmpty;
|
bool mIsEmpty;
|
||||||
|
int mStateColumnIndex;
|
||||||
|
int mDescColumnIndex;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue