forked from teamnwah/openmw-tes3coop
Disabled view resize for open views when user setting changes. Fixed
new view size issue to match existing user settings.
This commit is contained in:
parent
ce56669339
commit
3f2ae950f5
11 changed files with 33 additions and 34 deletions
|
@ -328,3 +328,15 @@ CSMSettings::SettingPageMap CSMSettings::SettingManager::settingPageMap() const
|
|||
|
||||
return pageMap;
|
||||
}
|
||||
|
||||
void CSMSettings::SettingManager::updateUserSetting(const QString &settingKey,
|
||||
const QStringList &list)
|
||||
{
|
||||
QStringList names = settingKey.split('.');
|
||||
|
||||
Setting *setting = findSetting (names.at(0), names.at(1));
|
||||
|
||||
setting->setDefinedValues (list);
|
||||
|
||||
emit userSettingUpdated (names.at(1), list);
|
||||
}
|
||||
|
|
|
@ -75,8 +75,11 @@ namespace CSMSettings
|
|||
|
||||
signals:
|
||||
|
||||
void userSettingUpdated (const QString &, const QStringList &);
|
||||
|
||||
public slots:
|
||||
|
||||
void updateUserSetting (const QString &, const QStringList &);
|
||||
};
|
||||
}
|
||||
#endif // CSMSETTINGS_SETTINGMANAGER_HPP
|
||||
|
|
|
@ -58,10 +58,6 @@ namespace CSMSettings {
|
|||
private:
|
||||
|
||||
void buildSettingModelDefaults();
|
||||
|
||||
signals:
|
||||
|
||||
void userSettingUpdated(const QString &, const QStringList &);
|
||||
};
|
||||
}
|
||||
#endif // USERSETTINGS_HPP
|
||||
|
|
|
@ -492,18 +492,7 @@ void CSVDoc::View::resizeViewHeight (int height)
|
|||
|
||||
void CSVDoc::View::updateUserSetting
|
||||
(const QString &name, const QStringList &list)
|
||||
{
|
||||
if (list.isEmpty())
|
||||
return;
|
||||
|
||||
int value = list.at(0).toInt();
|
||||
|
||||
if (name == "Width")
|
||||
resizeViewWidth (value);
|
||||
|
||||
else if (name == "Height")
|
||||
resizeViewHeight (value);
|
||||
}
|
||||
{}
|
||||
|
||||
void CSVDoc::View::toggleShowStatusBar (bool show)
|
||||
{
|
||||
|
|
|
@ -49,7 +49,7 @@ void CSVSettings::ListView::buildAbstractItemViewModel()
|
|||
|
||||
void CSVSettings::ListView::emitItemViewUpdate (int idx)
|
||||
{
|
||||
emit viewUpdated (objectName(), selectedValues());
|
||||
updateView();
|
||||
}
|
||||
|
||||
QWidget *CSVSettings::ListView::buildWidget(bool isMultiLine, int width)
|
||||
|
|
|
@ -52,7 +52,7 @@ void CSVSettings::Page::addView (CSMSettings::Setting *setting)
|
|||
if (setting->isEditorSetting()) {
|
||||
connect (view, SIGNAL (viewUpdated(const QString&, const QStringList&)),
|
||||
&CSMSettings::UserSettings::instance(),
|
||||
SIGNAL (userSettingUpdated (const QString &, const QStringList &)));
|
||||
SLOT (updateUserSetting (const QString &, const QStringList &)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -151,6 +151,11 @@ void CSVSettings::View::setSelectedValues (const QStringList &list,
|
|||
}
|
||||
select (selection);
|
||||
|
||||
//push changes to model side
|
||||
|
||||
|
||||
//update the view if the selection was set from the model side, not by the
|
||||
//user
|
||||
if (doViewUpdate)
|
||||
updateView (signalUpdate);
|
||||
}
|
||||
|
@ -198,7 +203,7 @@ QList <QStandardItem *> CSVSettings::View::toStandardItemList
|
|||
void CSVSettings::View::updateView (bool signalUpdate) const
|
||||
{
|
||||
if (signalUpdate)
|
||||
emit viewUpdated(objectName(), selectedValues());
|
||||
emit viewUpdated(viewKey(), selectedValues());
|
||||
}
|
||||
|
||||
QString CSVSettings::View::value (int row) const
|
||||
|
|
|
@ -456,12 +456,14 @@ void CSVWorld::Table::updateUserSetting
|
|||
|
||||
for (int i=0; i<columns; ++i)
|
||||
if (QAbstractItemDelegate *delegate = itemDelegateForColumn (i))
|
||||
if (dynamic_cast<CommandDelegate&>
|
||||
(*delegate).updateUserSetting (name, list))
|
||||
{
|
||||
dynamic_cast<CommandDelegate&>
|
||||
(*delegate).updateUserSetting (name, list);
|
||||
{
|
||||
emit dataChanged (mModel->index (0, i),
|
||||
mModel->index (mModel->rowCount()-1, i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CSVWorld::Table::tableSizeUpdate()
|
||||
|
|
|
@ -78,8 +78,6 @@ namespace CSVWorld
|
|||
|
||||
CSMWorld::UniversalId getUniversalId (int row) const;
|
||||
|
||||
void updateUserSetting (const QString &name, const QStringList &list);
|
||||
|
||||
std::vector<std::string> getColumnsWithDisplay(CSMWorld::ColumnBase::Display display) const;
|
||||
|
||||
signals:
|
||||
|
@ -123,6 +121,8 @@ namespace CSVWorld
|
|||
void requestFocus (const std::string& id);
|
||||
|
||||
void recordFilterChanged (boost::shared_ptr<CSMFilter::Node> filter);
|
||||
|
||||
void updateUserSetting (const QString &name, const QStringList &list);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -196,12 +196,6 @@ bool CSVWorld::CommandDelegate::isEditLocked() const
|
|||
return mEditLock;
|
||||
}
|
||||
|
||||
bool CSVWorld::CommandDelegate::updateUserSetting (const QString &name,
|
||||
const QStringList &list)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CSVWorld::CommandDelegate::setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay) const
|
||||
{
|
||||
QVariant v = index.data(Qt::EditRole);
|
||||
|
|
|
@ -136,17 +136,15 @@ namespace CSVWorld
|
|||
|
||||
bool isEditLocked() const;
|
||||
|
||||
virtual bool updateUserSetting
|
||||
(const QString &name, const QStringList &list);
|
||||
|
||||
///< \return Does column require update?
|
||||
|
||||
virtual void setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay = false) const;
|
||||
|
||||
|
||||
private slots:
|
||||
public slots:
|
||||
|
||||
virtual void slotUpdateEditorSetting (const QString &settingName, const QString &settingValue) {}
|
||||
virtual void updateUserSetting
|
||||
(const QString &name, const QStringList &list) {}
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue