summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2011-02-03 15:48:14 +0100
committerChristian Kamm <christian.d.kamm@nokia.com>2011-05-24 12:45:07 +0200
commit779fafcbfe6f92dd1288664fae512f69bc12418b (patch)
tree38a3b75cc3a18f386ab72102e97f06ffa24d4d29 /src/plugins/projectexplorer/codestylesettingspropertiespage.cpp
parentf69eb52944a7fc8306cbb72b7325a610045dea7a (diff)
downloadqt-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.cpp62
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)));
+}
+
+