1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-20 07:11:36 +00:00

dont force trying display

This commit is contained in:
Marek Kochanowicz 2014-03-10 09:47:41 +01:00
parent 9ab920bd80
commit 361bc55973
5 changed files with 12 additions and 10 deletions

View file

@ -93,7 +93,7 @@ void CSVWorld::DialogueDelegateDispatcher::setEditorData (QWidget* editor, const
std::map<int, CommandDelegate*>::const_iterator delegateIt(mDelegates.find(display)); std::map<int, CommandDelegate*>::const_iterator delegateIt(mDelegates.find(display));
if (delegateIt != mDelegates.end()) if (delegateIt != mDelegates.end())
{ {
delegateIt->second->setEditorData(editor, index); delegateIt->second->setEditorData(editor, index, true);
} }
for (unsigned i = 0; i < mProxys.size(); ++i) for (unsigned i = 0; i < mProxys.size(); ++i)

View file

@ -56,13 +56,13 @@ QWidget *CSVWorld::EnumDelegate::createEditor(QWidget *parent, const QStyleOptio
return comboBox; return comboBox;
} }
void CSVWorld::EnumDelegate::setEditorData (QWidget *editor, const QModelIndex& index) const void CSVWorld::EnumDelegate::setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay) const
{ {
if (QComboBox *comboBox = dynamic_cast<QComboBox *> (editor)) if (QComboBox *comboBox = dynamic_cast<QComboBox *> (editor))
{ {
QVariant data = index.data (Qt::EditRole); QVariant data = index.data (Qt::EditRole);
if (!data.isValid()) if (tryDisplay && !data.isValid())
{ {
data = index.data (Qt::DisplayRole); data = index.data (Qt::DisplayRole);
if (!data.isValid()) if (!data.isValid())

View file

@ -34,7 +34,7 @@ namespace CSVWorld
virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem& option, virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem& option,
const QModelIndex& index) const; const QModelIndex& index) const;
virtual void setEditorData (QWidget *editor, const QModelIndex& index) const; virtual void setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay = false) const;
virtual void paint (QPainter *painter, const QStyleOptionViewItem& option, virtual void paint (QPainter *painter, const QStyleOptionViewItem& option,
const QModelIndex& index) const; const QModelIndex& index) const;

View file

@ -144,9 +144,11 @@ bool CSVWorld::CommandDelegate::updateEditorSetting (const QString &settingName,
return false; return false;
} }
void CSVWorld::CommandDelegate::setEditorData (QWidget *editor, const QModelIndex& index) const void CSVWorld::CommandDelegate::setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay) const
{ {
QVariant v = index.data(Qt::EditRole); QVariant v = index.data(Qt::EditRole);
if (tryDisplay)
{
if (!v.isValid()) if (!v.isValid())
{ {
v = index.data(Qt::DisplayRole); v = index.data(Qt::DisplayRole);
@ -155,7 +157,7 @@ void CSVWorld::CommandDelegate::setEditorData (QWidget *editor, const QModelInde
return; return;
} }
} }
}
QByteArray n = editor->metaObject()->userProperty().name(); QByteArray n = editor->metaObject()->userProperty().name();
if (n == "dateTime") { if (n == "dateTime") {

View file

@ -111,7 +111,7 @@ namespace CSVWorld
virtual bool updateEditorSetting (const QString &settingName, const QString &settingValue); virtual bool updateEditorSetting (const QString &settingName, const QString &settingValue);
///< \return Does column require update? ///< \return Does column require update?
virtual void setEditorData (QWidget *editor, const QModelIndex& index) const; virtual void setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay = false) const;
private slots: private slots: