diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2011-02-03 15:48:14 +0100 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2011-05-24 12:45:07 +0200 |
commit | 779fafcbfe6f92dd1288664fae512f69bc12418b (patch) | |
tree | 38a3b75cc3a18f386ab72102e97f06ffa24d4d29 /src/plugins/projectexplorer/codestylesettingspropertiespage.cpp | |
parent | f69eb52944a7fc8306cbb72b7325a610045dea7a (diff) | |
download | qt-creator-779fafcbfe6f92dd1288664fae512f69bc12418b.tar.gz |
Make C++ code style configurable.
Change-Id: Iaf08edb2361146e6b5e1cbafdb716a23c938875b
Done-with: Jarek Kobus
Task-number: QTCREATORBUG-2670
Task-number: QTCREATORBUG-4310
Task-number: QTCREATORBUG-2763
Task-number: QTCREATORBUG-3623
Task-number: QTCREATORBUG-567
Reviewed-on: http://codereview.qt.nokia.com/74
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/plugins/projectexplorer/codestylesettingspropertiespage.cpp')
-rw-r--r-- | src/plugins/projectexplorer/codestylesettingspropertiespage.cpp | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp b/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp new file mode 100644 index 0000000000..414d01c8a6 --- /dev/null +++ b/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp @@ -0,0 +1,62 @@ +#include "codestylesettingspropertiespage.h" +#include "editorconfiguration.h" +#include "project.h" +#include <texteditor/codestylepreferencesmanager.h> +#include <texteditor/icodestylepreferencesfactory.h> + +#include <QtCore/QTextCodec> + +using namespace TextEditor; +using namespace ProjectExplorer; +using namespace ProjectExplorer::Internal; + +QString CodeStyleSettingsPanelFactory::id() const +{ + return QLatin1String(CODESTYLESETTINGS_PANEL_ID); +} + +QString CodeStyleSettingsPanelFactory::displayName() const +{ + return QCoreApplication::translate("CodeStyleSettingsPanelFactory", "Code Style Settings"); +} + +bool CodeStyleSettingsPanelFactory::supports(Project *project) +{ + Q_UNUSED(project); + return true; +} + +PropertiesPanel *CodeStyleSettingsPanelFactory::createPanel(Project *project) +{ + PropertiesPanel *panel = new PropertiesPanel; + panel->setWidget(new CodeStyleSettingsWidget(project)); + panel->setIcon(QIcon(":/projectexplorer/images/CodeStyleSettings.png")); + panel->setDisplayName(QCoreApplication::translate("CodeStyleSettingsPanel", "Code Style Settings")); + return panel; +} + +CodeStyleSettingsWidget::CodeStyleSettingsWidget(Project *project) : QWidget(), m_project(project) +{ + m_ui.setupUi(this); + + const EditorConfiguration *config = m_project->editorConfiguration(); + CodeStylePreferencesManager *manager = + CodeStylePreferencesManager::instance(); + + QList<ICodeStylePreferencesFactory *> factories = manager->factories(); + for (int i = 0; i < factories.count(); i++) { + ICodeStylePreferencesFactory *factory = factories.at(i); + const QString languageId = factory->languageId(); + TabPreferences *tabPreferences = config->tabPreferences(languageId); + IFallbackPreferences *codeStylePreferences = config->codeStylePreferences(languageId); + + QWidget *widget = factory->createEditor(codeStylePreferences, tabPreferences, m_ui.stackedWidget); + m_ui.stackedWidget->addWidget(widget); + m_ui.languageComboBox->addItem(factory->displayName()); + } + + connect(m_ui.languageComboBox, SIGNAL(currentIndexChanged(int)), + m_ui.stackedWidget, SLOT(setCurrentIndex(int))); +} + + |