forked from qt-creator/qt-creator
C++: add header chooser to codemodel settings page.
Change-Id: I2da9c4b382afcad2faad1817af266381a2f02b2a Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
@@ -34,6 +34,9 @@
|
||||
using namespace CppTools;
|
||||
using namespace CppTools::Internal;
|
||||
|
||||
static QLatin1String cppHeaderMimeType(Constants::CPP_HEADER_MIMETYPE);
|
||||
static QLatin1String cHeaderMimeType(Constants::C_HEADER_MIMETYPE);
|
||||
|
||||
void CppCodeModelSettings::fromSettings(QSettings *s)
|
||||
{
|
||||
s->beginGroup(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP));
|
||||
@@ -42,6 +45,7 @@ void CppCodeModelSettings::fromSettings(QSettings *s)
|
||||
setIdForMimeType(supporters, QLatin1String(Constants::CPP_SOURCE_MIMETYPE));
|
||||
setIdForMimeType(supporters, QLatin1String(Constants::OBJECTIVE_C_SOURCE_MIMETYPE));
|
||||
setIdForMimeType(supporters, QLatin1String(Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE));
|
||||
setIdForMimeType(supporters, QLatin1String(Constants::CPP_HEADER_MIMETYPE));
|
||||
QVariant v = s->value(QLatin1String(Constants::CPPTOOLS_MODEL_MANAGER_PCH_USAGE), PchUse_None);
|
||||
setPCHUsage(static_cast<PCHUsage>(v.toInt()));
|
||||
s->endGroup();
|
||||
@@ -65,6 +69,23 @@ void CppCodeModelSettings::setModelManagerSupports(const QList<ModelManagerSuppo
|
||||
m_availableModelManagerSupportersByName[supporter->displayName()] = supporter->id();
|
||||
}
|
||||
|
||||
QString CppCodeModelSettings::modelManagerSupportId(const QString &mimeType) const
|
||||
{
|
||||
if (mimeType == cHeaderMimeType)
|
||||
return m_modelManagerSupportByMimeType.value(cppHeaderMimeType);
|
||||
else
|
||||
return m_modelManagerSupportByMimeType.value(mimeType);
|
||||
}
|
||||
|
||||
void CppCodeModelSettings::setModelManagerSupportId(const QString &mimeType,
|
||||
const QString &supporter)
|
||||
{
|
||||
if (mimeType == cHeaderMimeType)
|
||||
m_modelManagerSupportByMimeType.insert(cppHeaderMimeType, supporter);
|
||||
else
|
||||
m_modelManagerSupportByMimeType.insert(mimeType, supporter);
|
||||
}
|
||||
|
||||
void CppCodeModelSettings::setIdForMimeType(const QVariant &var, const QString &mimeType)
|
||||
{
|
||||
QHash<QString, QVariant> mimeToId = var.toHash();
|
||||
|
||||
@@ -57,8 +57,8 @@ public:
|
||||
|
||||
void setModelManagerSupports(const QList<ModelManagerSupport *> &supporters);
|
||||
|
||||
QString &modelManagerSupportId(const QString &mimeType)
|
||||
{ return m_modelManagerSupportByMimeType[mimeType]; }
|
||||
QString modelManagerSupportId(const QString &mimeType) const;
|
||||
void setModelManagerSupportId(const QString &mimeType, const QString &supporter);
|
||||
|
||||
const QHash<QString, QString> &availableModelManagerSupportersByName() const
|
||||
{ return m_availableModelManagerSupportersByName; }
|
||||
|
||||
@@ -60,6 +60,7 @@ void CppCodeModelSettingsWidget::setSettings(const QSharedPointer<CppCodeModelSe
|
||||
applyToWidget(m_ui->cppChooser, QLatin1String(Constants::CPP_SOURCE_MIMETYPE));
|
||||
applyToWidget(m_ui->objcChooser, QLatin1String(Constants::OBJECTIVE_C_SOURCE_MIMETYPE));
|
||||
applyToWidget(m_ui->objcppChooser, QLatin1String(Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE));
|
||||
applyToWidget(m_ui->hChooser, QLatin1String(Constants::C_HEADER_MIMETYPE));
|
||||
|
||||
m_ui->ignorePCHCheckBox->setChecked(s->pchUsage() == CppCodeModelSettings::PchUse_None);
|
||||
}
|
||||
@@ -88,6 +89,8 @@ void CppCodeModelSettingsWidget::applyToSettings() const
|
||||
QLatin1String(Constants::OBJECTIVE_C_SOURCE_MIMETYPE));
|
||||
changed |= applyToSettings(m_ui->objcppChooser,
|
||||
QLatin1String(Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE));
|
||||
changed |= applyToSettings(m_ui->hChooser,
|
||||
QLatin1String(Constants::C_HEADER_MIMETYPE));
|
||||
|
||||
if (m_ui->ignorePCHCheckBox->isChecked() !=
|
||||
(m_settings->pchUsage() == CppCodeModelSettings::PchUse_None)) {
|
||||
@@ -104,11 +107,11 @@ void CppCodeModelSettingsWidget::applyToSettings() const
|
||||
bool CppCodeModelSettingsWidget::applyToSettings(QComboBox *chooser, const QString &mimeType) const
|
||||
{
|
||||
QString newId = chooser->itemData(chooser->currentIndex()).toString();
|
||||
QString ¤tId = m_settings->modelManagerSupportId(mimeType);
|
||||
QString currentId = m_settings->modelManagerSupportId(mimeType);
|
||||
if (newId == currentId)
|
||||
return false;
|
||||
|
||||
currentId = newId;
|
||||
m_settings->setModelManagerSupportId(mimeType, newId);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -74,6 +74,16 @@
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="objcppChooser"/>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="hLabel">
|
||||
<property name="text">
|
||||
<string>Headers</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="hChooser"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user