aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-03-18 16:43:01 +0100
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-03-18 16:43:01 +0100
commitbccf4a1fc31980083dcf572ec4f6d5f65c2f0931 (patch)
treed53d123064db5fe1b297104c58c66e9e4bea8166 /src/plugins
parent3b0305727b5885281fe308cabcf4af41814a5270 (diff)
Fixes: Introduce a cpp settingspage containing file naming conventions (lower case and suffixes). Reorder VCS settings pages.
Task: 241959, 248085 RevBy: Optics/Naming checked by con Details: Give IOptionPage an id() to differentiate from trName(). Make showOptionsDialog return a bool (applied) and give it an optional parent. Change Cpp and form class wizards, give them a Configure... button to change those settings.
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp10
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeprojectmanager.h3
-rw-r--r--src/plugins/coreplugin/coreimpl.cpp4
-rw-r--r--src/plugins/coreplugin/coreimpl.h5
-rw-r--r--src/plugins/coreplugin/dialogs/ioptionspage.h18
-rw-r--r--src/plugins/coreplugin/dialogs/settingsdialog.cpp15
-rw-r--r--src/plugins/coreplugin/dialogs/settingsdialog.h5
-rw-r--r--src/plugins/coreplugin/dialogs/shortcutsettings.cpp8
-rw-r--r--src/plugins/coreplugin/dialogs/shortcutsettings.h3
-rw-r--r--src/plugins/coreplugin/generalsettings.cpp7
-rw-r--r--src/plugins/coreplugin/generalsettings.h3
-rw-r--r--src/plugins/coreplugin/icore.h5
-rw-r--r--src/plugins/coreplugin/mainwindow.cpp10
-rw-r--r--src/plugins/coreplugin/mainwindow.h4
-rw-r--r--src/plugins/cpaster/settingspage.cpp11
-rw-r--r--src/plugins/cpaster/settingspage.h3
-rw-r--r--src/plugins/cppeditor/cppclasswizard.cpp69
-rw-r--r--src/plugins/cppeditor/cppclasswizard.h11
-rw-r--r--src/plugins/cppeditor/cppplugin.cpp15
-rw-r--r--src/plugins/cpptools/completionsettingspage.cpp7
-rw-r--r--src/plugins/cpptools/completionsettingspage.h3
-rw-r--r--src/plugins/cpptools/cppfilesettingspage.cpp184
-rw-r--r--src/plugins/cpptools/cppfilesettingspage.h100
-rw-r--r--src/plugins/cpptools/cppfilesettingspage.ui91
-rw-r--r--src/plugins/cpptools/cpptools.pro9
-rw-r--r--src/plugins/cpptools/cpptoolsconstants.h9
-rw-r--r--src/plugins/cpptools/cpptoolsplugin.cpp2
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp5
-rw-r--r--src/plugins/designer/cpp/formclasswizard.cpp12
-rw-r--r--src/plugins/designer/cpp/formclasswizarddialog.cpp5
-rw-r--r--src/plugins/designer/cpp/formclasswizarddialog.h2
-rw-r--r--src/plugins/designer/cpp/formclasswizardpage.cpp34
-rw-r--r--src/plugins/designer/cpp/formclasswizardpage.h6
-rw-r--r--src/plugins/designer/cpp/formclasswizardpage.ui7
-rw-r--r--src/plugins/designer/settingspage.cpp7
-rw-r--r--src/plugins/designer/settingspage.h3
-rw-r--r--src/plugins/git/settingspage.cpp16
-rw-r--r--src/plugins/git/settingspage.h3
-rw-r--r--src/plugins/help/docsettingspage.cpp12
-rw-r--r--src/plugins/help/docsettingspage.h3
-rw-r--r--src/plugins/help/filtersettingspage.cpp15
-rw-r--r--src/plugins/help/filtersettingspage.h3
-rw-r--r--src/plugins/perforce/settingspage.cpp16
-rw-r--r--src/plugins/perforce/settingspage.h3
-rw-r--r--src/plugins/qt4projectmanager/qtversionmanager.cpp7
-rw-r--r--src/plugins/qt4projectmanager/qtversionmanager.h3
-rw-r--r--src/plugins/quickopen/quickopenconstants.h6
-rw-r--r--src/plugins/quickopen/quickopenplugin.cpp3
-rw-r--r--src/plugins/quickopen/settingspage.cpp23
-rw-r--r--src/plugins/quickopen/settingspage.h8
-rw-r--r--src/plugins/subversion/settingspage.cpp18
-rw-r--r--src/plugins/subversion/settingspage.h3
-rw-r--r--src/plugins/texteditor/behaviorsettingspage.cpp7
-rw-r--r--src/plugins/texteditor/behaviorsettingspage.h3
-rw-r--r--src/plugins/texteditor/displaysettingspage.cpp7
-rw-r--r--src/plugins/texteditor/displaysettingspage.h3
-rw-r--r--src/plugins/texteditor/fontsettingspage.cpp7
-rw-r--r--src/plugins/texteditor/fontsettingspage.h3
-rw-r--r--src/plugins/vcsbase/vcsbaseconstants.h6
59 files changed, 745 insertions, 128 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
index 61de34e01e..def15f0bba 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
@@ -234,15 +234,19 @@ QString CMakeSettingsPage::findCmakeExecutable() const
return env.searchInPath("cmake");
}
+QString CMakeSettingsPage::id() const
+{
+ return QLatin1String("CMake");
+}
-QString CMakeSettingsPage::name() const
+QString CMakeSettingsPage::trName() const
{
- return "CMake";
+ return tr("CMake");
}
QString CMakeSettingsPage::category() const
{
- return "CMake";
+ return QLatin1String("CMake");
}
QString CMakeSettingsPage::trCategory() const
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
index f4c18f906a..2188edb6e9 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
@@ -92,7 +92,8 @@ class CMakeSettingsPage : public Core::IOptionsPage
public:
CMakeSettingsPage();
virtual ~CMakeSettingsPage();
- virtual QString name() const;
+ virtual QString id() const;
+ virtual QString trName() const;
virtual QString category() const;
virtual QString trCategory() const;
diff --git a/src/plugins/coreplugin/coreimpl.cpp b/src/plugins/coreplugin/coreimpl.cpp
index ba0ef7b59a..102cb5c21f 100644
--- a/src/plugins/coreplugin/coreimpl.cpp
+++ b/src/plugins/coreplugin/coreimpl.cpp
@@ -64,9 +64,9 @@ QStringList CoreImpl::showNewItemDialog(const QString &title,
return m_mainwindow->showNewItemDialog(title, wizards, defaultLocation);
}
-void CoreImpl::showOptionsDialog(const QString &group, const QString &page)
+bool CoreImpl::showOptionsDialog(const QString &group, const QString &page, QWidget *parent)
{
- m_mainwindow->showOptionsDialog(group, page);
+ return m_mainwindow->showOptionsDialog(group, page, parent);
}
ActionManager *CoreImpl::actionManager() const
diff --git a/src/plugins/coreplugin/coreimpl.h b/src/plugins/coreplugin/coreimpl.h
index e0db9a9466..f821a5af53 100644
--- a/src/plugins/coreplugin/coreimpl.h
+++ b/src/plugins/coreplugin/coreimpl.h
@@ -47,8 +47,9 @@ public:
QStringList showNewItemDialog(const QString &title,
const QList<IWizard *> &wizards,
const QString &defaultLocation = QString());
- void showOptionsDialog(const QString &group = QString(),
- const QString &page = QString());
+ bool showOptionsDialog(const QString &group = QString(),
+ const QString &page = QString(),
+ QWidget *parent = 0);
ActionManager *actionManager() const;
FileManager *fileManager() const ;
diff --git a/src/plugins/coreplugin/dialogs/ioptionspage.h b/src/plugins/coreplugin/dialogs/ioptionspage.h
index 7b0e651488..35c4b6b4f4 100644
--- a/src/plugins/coreplugin/dialogs/ioptionspage.h
+++ b/src/plugins/coreplugin/dialogs/ioptionspage.h
@@ -38,6 +38,21 @@
namespace Core {
+/*!
+ \class Core::IOptionsPage
+ \brief The IOptionsPage is an interface for providing options pages.
+
+ Guidelines for implementing:
+ \list
+ \o id() is an id used for filtering when calling ICore:: showOptionsDialog()
+ \o trName() is the (translated) name for display.
+ \o category() is the category used for filtering when calling ICore:: showOptionsDialog()
+ \o trCategory() is the translated category
+ \o apply() is called to store the settings. It should detect if any changes have been
+ made and store those.
+ \endlist
+*/
+
class CORE_EXPORT IOptionsPage : public QObject
{
Q_OBJECT
@@ -45,7 +60,8 @@ public:
IOptionsPage(QObject *parent = 0) : QObject(parent) {}
virtual ~IOptionsPage() {}
- virtual QString name() const = 0;
+ virtual QString id() const = 0;
+ virtual QString trName() const = 0;
virtual QString category() const = 0;
virtual QString trCategory() const = 0;
diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp
index a04afbaf69..5e0cac944e 100644
--- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp
@@ -39,7 +39,7 @@ using namespace Core::Internal;
SettingsDialog::SettingsDialog(QWidget *parent, const QString &initialCategory,
const QString &initialPage)
- : QDialog(parent)
+ : QDialog(parent), m_applied(false)
{
setupUi(this);
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
@@ -60,7 +60,7 @@ SettingsDialog::SettingsDialog(QWidget *parent, const QString &initialCategory,
int index = 0;
foreach (IOptionsPage *page, pages) {
QTreeWidgetItem *item = new QTreeWidgetItem;
- item->setText(0, page->name());
+ item->setText(0, page->trName());
item->setData(0, Qt::UserRole, index);
QStringList categoriesId = page->category().split(QLatin1Char('|'));
@@ -94,7 +94,7 @@ SettingsDialog::SettingsDialog(QWidget *parent, const QString &initialCategory,
m_pages.append(page);
stackedPages->addWidget(page->createPage(stackedPages));
- if (page->name() == initialPage && currentCategory == initialCategory) {
+ if (page->id() == initialPage && currentCategory == initialCategory) {
stackedPages->setCurrentIndex(stackedPages->count());
pageTree->setCurrentItem(item);
}
@@ -123,6 +123,7 @@ void SettingsDialog::pageSelected(QTreeWidgetItem *)
void SettingsDialog::accept()
{
+ m_applied = true;
foreach (IOptionsPage *page, m_pages) {
page->apply();
page->finish();
@@ -141,4 +142,12 @@ void SettingsDialog::apply()
{
foreach (IOptionsPage *page, m_pages)
page->apply();
+ m_applied = true;
+}
+
+bool SettingsDialog::execDialog()
+{
+ m_applied = false;
+ exec();
+ return m_applied;
}
diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.h b/src/plugins/coreplugin/dialogs/settingsdialog.h
index 3cd42863cc..36c7d8a1a6 100644
--- a/src/plugins/coreplugin/dialogs/settingsdialog.h
+++ b/src/plugins/coreplugin/dialogs/settingsdialog.h
@@ -49,6 +49,10 @@ public:
const QString &initialPage = QString());
~SettingsDialog();
+ // Run the dialog and return true if 'Ok' was choosen or 'Apply' was invoked
+ // at least once
+ bool execDialog();
+
private slots:
void pageSelected(QTreeWidgetItem *cat);
void accept();
@@ -57,6 +61,7 @@ private slots:
private:
QList<Core::IOptionsPage*> m_pages;
+ bool m_applied;
};
} // namespace Internal
diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
index 4a0f36cd2b..561b8b182d 100644
--- a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
+++ b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
@@ -59,7 +59,13 @@ ShortcutSettings::~ShortcutSettings()
}
// IOptionsPage
-QString ShortcutSettings::name() const
+
+QString ShortcutSettings::id() const
+{
+ return QLatin1String("Keyboard");
+}
+
+QString ShortcutSettings::trName() const
{
return tr("Keyboard");
}
diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.h b/src/plugins/coreplugin/dialogs/shortcutsettings.h
index 7935f58612..cb0a19c65f 100644
--- a/src/plugins/coreplugin/dialogs/shortcutsettings.h
+++ b/src/plugins/coreplugin/dialogs/shortcutsettings.h
@@ -67,7 +67,8 @@ public:
~ShortcutSettings();
// IOptionsPage
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp
index 864ed529fb..969599b2d8 100644
--- a/src/plugins/coreplugin/generalsettings.cpp
+++ b/src/plugins/coreplugin/generalsettings.cpp
@@ -43,7 +43,12 @@ GeneralSettings::GeneralSettings():
{
}
-QString GeneralSettings::name() const
+QString GeneralSettings::id() const
+{
+ return QLatin1String("General");
+}
+
+QString GeneralSettings::trName() const
{
return tr("General");
}
diff --git a/src/plugins/coreplugin/generalsettings.h b/src/plugins/coreplugin/generalsettings.h
index 6aa8c24c23..9135df7f4a 100644
--- a/src/plugins/coreplugin/generalsettings.h
+++ b/src/plugins/coreplugin/generalsettings.h
@@ -47,7 +47,8 @@ class GeneralSettings : public IOptionsPage
public:
GeneralSettings();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
QWidget* createPage(QWidget *parent);
diff --git a/src/plugins/coreplugin/icore.h b/src/plugins/coreplugin/icore.h
index fd75686c67..950222a15b 100644
--- a/src/plugins/coreplugin/icore.h
+++ b/src/plugins/coreplugin/icore.h
@@ -70,8 +70,9 @@ public:
const QList<IWizard *> &wizards,
const QString &defaultLocation = QString()) = 0;
- virtual void showOptionsDialog(const QString &group = QString(),
- const QString &page = QString()) = 0;
+ virtual bool showOptionsDialog(const QString &group = QString(),
+ const QString &page = QString(),
+ QWidget *parent = 0) = 0;
virtual ActionManager *actionManager() const = 0;
virtual FileManager *fileManager() const = 0;
diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 822636d535..9c489e7b96 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -865,11 +865,15 @@ QStringList MainWindow::showNewItemDialog(const QString &title,
return wizard->runWizard(defaultDir, this);
}
-void MainWindow::showOptionsDialog(const QString &category, const QString &page)
+bool MainWindow::showOptionsDialog(const QString &category,
+ const QString &page,
+ QWidget *parent)
{
emit m_coreImpl->optionsDialogRequested();
- SettingsDialog dlg(this, category, page);
- dlg.exec();
+ if (!parent)
+ parent = this;
+ SettingsDialog dlg(parent, category, page);
+ return dlg.execDialog();
}
void MainWindow::saveAll()
diff --git a/src/plugins/coreplugin/mainwindow.h b/src/plugins/coreplugin/mainwindow.h
index 0c1e413715..ea237f53ba 100644
--- a/src/plugins/coreplugin/mainwindow.h
+++ b/src/plugins/coreplugin/mainwindow.h
@@ -132,7 +132,9 @@ public slots:
const QList<IWizard *> &wizards,
const QString &defaultLocation = QString());
- void showOptionsDialog(const QString &category = QString(), const QString &page = QString());
+ bool showOptionsDialog(const QString &category = QString(),
+ const QString &page = QString(),
+ QWidget *parent = 0);
protected:
virtual void changeEvent(QEvent *e);
diff --git a/src/plugins/cpaster/settingspage.cpp b/src/plugins/cpaster/settingspage.cpp
index fb6a7a92d9..b4ad118d78 100644
--- a/src/plugins/cpaster/settingspage.cpp
+++ b/src/plugins/cpaster/settingspage.cpp
@@ -52,14 +52,19 @@ SettingsPage::SettingsPage()
}
}
-QString SettingsPage::name() const
+QString SettingsPage::id() const
{
- return "General";
+ return QLatin1String("General");
+}
+
+QString SettingsPage::trName() const
+{
+ return tr("General");
}
QString SettingsPage::category() const
{
- return "CodePaster";
+ return QLatin1String("CodePaster");
}
QString SettingsPage::trCategory() const
diff --git a/src/plugins/cpaster/settingspage.h b/src/plugins/cpaster/settingspage.h
index 3eef0dcbc4..88ad5c2590 100644
--- a/src/plugins/cpaster/settingspage.h
+++ b/src/plugins/cpaster/settingspage.h
@@ -50,7 +50,8 @@ class SettingsPage : public Core::IOptionsPage
public:
SettingsPage();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/cppeditor/cppclasswizard.cpp b/src/plugins/cppeditor/cppclasswizard.cpp
index a5f21f859b..134bbeb822 100644
--- a/src/plugins/cppeditor/cppclasswizard.cpp
+++ b/src/plugins/cppeditor/cppclasswizard.cpp
@@ -30,6 +30,10 @@
#include "cppclasswizard.h"
#include "cppeditorconstants.h"
+#include <cpptools/cpptoolsconstants.h>
+#include <coreplugin/icore.h>
+#include <coreplugin/mimedatabase.h>
+
#include <utils/codegeneration.h>
#include <utils/newclasswidget.h>
#include <utils/qtcassert.h>
@@ -37,19 +41,21 @@
#include <QtCore/QDebug>
#include <QtCore/QDir>
#include <QtCore/QTextStream>
+#include <QtCore/QSettings>
#include <QtGui/QVBoxLayout>
+#include <QtGui/QHBoxLayout>
+#include <QtGui/QPushButton>
+#include <QtGui/QToolButton>
+#include <QtGui/QSpacerItem>
#include <QtGui/QWizard>
using namespace CppEditor;
using namespace CppEditor::Internal;
-
// ========= ClassNamePage =========
-ClassNamePage::ClassNamePage(const QString &sourceSuffix,
- const QString &headerSuffix,
- QWidget *parent) :
+ClassNamePage::ClassNamePage(QWidget *parent) :
QWizardPage(parent),
m_isValid(false)
{
@@ -58,8 +64,6 @@ ClassNamePage::ClassNamePage(const QString &sourceSuffix,
m_newClassWidget = new Core::Utils::NewClassWidget;
// Order, set extensions first before suggested name is derived
- m_newClassWidget->setHeaderExtension(headerSuffix);
- m_newClassWidget->setSourceExtension(sourceSuffix);
m_newClassWidget->setBaseClassInputVisible(true);
m_newClassWidget->setBaseClassChoices(QStringList() << QString()
<< QLatin1String("QObject")
@@ -70,11 +74,50 @@ ClassNamePage::ClassNamePage(const QString &sourceSuffix,
m_newClassWidget->setNamespacesEnabled(true);
m_newClassWidget->setAllowDirectories(true);
- connect(m_newClassWidget, SIGNAL(validChanged()),
- this, SLOT(slotValidChanged()));
+ connect(m_newClassWidget, SIGNAL(validChanged()), this, SLOT(slotValidChanged()));
- QVBoxLayout *pageLayout = new QVBoxLayout(this);
+ QVBoxLayout *pageLayout = new QVBoxLayout(this);
pageLayout->addWidget(m_newClassWidget);
+ QSpacerItem *vSpacer = new QSpacerItem(0, 0, QSizePolicy::Ignored, QSizePolicy::Expanding);
+ pageLayout->addItem(vSpacer);
+ QHBoxLayout *buttonLayout = new QHBoxLayout;
+ pageLayout->addLayout(buttonLayout);
+ QSpacerItem *hSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Ignored);
+ buttonLayout->addItem(hSpacer);
+ QToolButton *settingsButton = new QToolButton;
+ settingsButton->setText(tr("Configure..."));
+ connect(settingsButton, SIGNAL(clicked()), this, SLOT(slotSettings()));
+ buttonLayout->addWidget(settingsButton);
+ initParameters();
+}
+
+// Retrieve settings of CppTools plugin.
+static inline bool lowerCaseFiles(const Core::ICore *core)
+{
+ QString camelCaseSettingsKey = QLatin1String(CppTools::Constants::CPPTOOLS_SETTINGSGROUP);
+ camelCaseSettingsKey += QLatin1Char('/');
+ camelCaseSettingsKey += QLatin1String(CppTools::Constants::LOWERCASE_CPPFILES_KEY);
+ return core->settings()->value(camelCaseSettingsKey, QVariant(false)).toBool();
+}
+
+// Set up new class widget from settings
+void ClassNamePage::initParameters()
+{
+ Core::ICore *core = Core::ICore::instance();
+ const Core::MimeDatabase *mdb = core->mimeDatabase();
+ m_newClassWidget->setHeaderExtension(mdb->preferredSuffixByType(QLatin1String(Constants::CPP_HEADER_MIMETYPE)));
+ m_newClassWidget->setSourceExtension(mdb->preferredSuffixByType(QLatin1String(Constants::CPP_SOURCE_MIMETYPE)));
+ m_newClassWidget->setLowerCaseFiles(lowerCaseFiles(core));
+}
+
+void ClassNamePage::slotSettings()
+{
+ const QString id = QLatin1String(CppTools::Constants::CPP_SETTINGS_ID);
+ const QString cat = QLatin1String(CppTools::Constants::CPP_SETTINGS_CATEGORY);
+ if (Core::ICore::instance()->showOptionsDialog(cat, id, this)) {
+ initParameters();
+ m_newClassWidget->triggerUpdateFileNames();
+ }
}
void ClassNamePage::slotValidChanged()
@@ -86,11 +129,9 @@ void ClassNamePage::slotValidChanged()
}
}
-CppClassWizardDialog::CppClassWizardDialog(const QString &sourceSuffix,
- const QString &headerSuffix,
- QWidget *parent) :
+CppClassWizardDialog::CppClassWizardDialog(QWidget *parent) :
QWizard(parent),
- m_classNamePage(new ClassNamePage(sourceSuffix, headerSuffix, this))
+ m_classNamePage(new ClassNamePage(this))
{
Core::BaseFileWizard::setupWizard(this);
setWindowTitle(tr("C++ Class Wizard"));
@@ -136,7 +177,7 @@ QWizard *CppClassWizard::createWizardDialog(QWidget *parent,
const QString &defaultPath,
const WizardPageList &extensionPages) const
{
- CppClassWizardDialog *wizard = new CppClassWizardDialog(sourceSuffix(), headerSuffix(), parent);
+ CppClassWizardDialog *wizard = new CppClassWizardDialog(parent);
foreach (QWizardPage *p, extensionPages)
wizard->addPage(p);
wizard->setPath(defaultPath);
diff --git a/src/plugins/cppeditor/cppclasswizard.h b/src/plugins/cppeditor/cppclasswizard.h
index 0c36de7e78..0ad4d7fcd4 100644
--- a/src/plugins/cppeditor/cppclasswizard.h
+++ b/src/plugins/cppeditor/cppclasswizard.h
@@ -52,17 +52,18 @@ class ClassNamePage : public QWizardPage
Q_OBJECT
public:
- ClassNamePage(const QString &sourceSuffix,
- const QString &headerSuffix,
- QWidget *parent = 0);
+ explicit ClassNamePage(QWidget *parent = 0);
bool isComplete() const { return m_isValid; }
Core::Utils::NewClassWidget *newClassWidget() const { return m_newClassWidget; }
private slots:
void slotValidChanged();
+ void slotSettings();
private:
+ void initParameters();
+
Core::Utils::NewClassWidget *m_newClassWidget;
bool m_isValid;
};
@@ -82,9 +83,7 @@ class CppClassWizardDialog : public QWizard
Q_OBJECT
Q_DISABLE_COPY(CppClassWizardDialog)
public:
- explicit CppClassWizardDialog(const QString &sourceSuffix,
- const QString &headerSuffix,
- QWidget *parent = 0);
+ explicit CppClassWizardDialog(QWidget *parent = 0);
void setPath(const QString &path);
CppClassWizardParameters parameters() const;
diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp
index cb6ef53f63..29ad673145 100644
--- a/src/plugins/cppeditor/cppplugin.cpp
+++ b/src/plugins/cppeditor/cppplugin.cpp
@@ -56,9 +56,6 @@
#include <QtGui/QMenu>
#include <QtGui/QAction>
-static const char *headerSuffixKeyC = "CppEditor/HeaderSuffix";
-static const char *sourceSuffixKeyC = "CppEditor/SourceSuffix";
-
using namespace CppEditor::Internal;
//////////////////////////// CppEditorFactory /////////////////////////////
@@ -197,18 +194,6 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess
| TextEditor::TextEditorActionHandler::UnCommentSelection
| TextEditor::TextEditorActionHandler::UnCollapseAll);
- // Check Suffixes
- if (const QSettings *settings = core->settings()) {
- const QString headerSuffixKey = QLatin1String(headerSuffixKeyC);
- if (settings->contains(headerSuffixKey)) {
- const QString headerSuffix = settings->value(headerSuffixKey, QString()).toString();
- if (!headerSuffix.isEmpty())
- core->mimeDatabase()->setPreferredSuffix(QLatin1String(Constants::CPP_HEADER_MIMETYPE), headerSuffix);
- const QString sourceSuffix = settings->value(QLatin1String(sourceSuffixKeyC), QString()).toString();
- if (!sourceSuffix.isEmpty())
- core->mimeDatabase()->setPreferredSuffix(QLatin1String(Constants::CPP_SOURCE_MIMETYPE), sourceSuffix);
- }
- }
return true;
}
diff --git a/src/plugins/cpptools/completionsettingspage.cpp b/src/plugins/cpptools/completionsettingspage.cpp
index 43945ca67d..02638875ba 100644
--- a/src/plugins/cpptools/completionsettingspage.cpp
+++ b/src/plugins/cpptools/completionsettingspage.cpp
@@ -47,7 +47,12 @@ CompletionSettingsPage::~CompletionSettingsPage()
delete m_page;
}
-QString CompletionSettingsPage::name() const
+QString CompletionSettingsPage::id() const
+{
+ return QLatin1String("Completion");
+}
+
+QString CompletionSettingsPage::trName() const
{
return tr("Completion");
}
diff --git a/src/plugins/cpptools/completionsettingspage.h b/src/plugins/cpptools/completionsettingspage.h
index 39385e3023..48c16a729d 100644
--- a/src/plugins/cpptools/completionsettingspage.h
+++ b/src/plugins/cpptools/completionsettingspage.h
@@ -47,7 +47,8 @@ public:
CompletionSettingsPage(CppCodeCompletion *completion);
~CompletionSettingsPage();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/cpptools/cppfilesettingspage.cpp b/src/plugins/cpptools/cppfilesettingspage.cpp
new file mode 100644
index 0000000000..a5bd11ac5d
--- /dev/null
+++ b/src/plugins/cpptools/cppfilesettingspage.cpp
@@ -0,0 +1,184 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+**
+**************************************************************************/
+
+#include "cppfilesettingspage.h"
+#include "cpptoolsconstants.h"
+#include "ui_cppfilesettingspage.h"
+
+#include <coreplugin/icore.h>
+#include <coreplugin/mimedatabase.h>
+#include <extensionsystem/pluginmanager.h>
+
+#include <QtCore/QSettings>
+#include <QtCore/QDebug>
+#include <QtCore/QCoreApplication>
+
+static const char *headerSuffixKeyC = "HeaderSuffix";
+static const char *sourceSuffixKeyC = "SourceSuffix";
+
+namespace CppTools {
+namespace Internal {
+
+CppFileSettings::CppFileSettings() :
+ lowerCaseFiles(false)
+{
+}
+
+void CppFileSettings::toSettings(QSettings *s) const
+{
+ s->beginGroup(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP));
+ s->setValue(QLatin1String(headerSuffixKeyC), headerSuffix);
+ s->setValue(QLatin1String(sourceSuffixKeyC), sourceSuffix);
+ s->setValue(QLatin1String(Constants::LOWERCASE_CPPFILES_KEY), lowerCaseFiles);
+ s->endGroup();
+}
+
+void CppFileSettings::fromSettings(QSettings *s)
+{
+ s->beginGroup(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP));
+ headerSuffix= s->value(QLatin1String(headerSuffixKeyC), QLatin1String("h")).toString();
+ sourceSuffix = s->value(QLatin1String(sourceSuffixKeyC), QLatin1String("cpp")).toString();
+ lowerCaseFiles = s->value(QLatin1String(Constants::LOWERCASE_CPPFILES_KEY), QVariant(true)).toBool();
+ s->endGroup();
+}
+
+void CppFileSettings::applySuffixesToMimeDB()
+{
+ Core::MimeDatabase *mdb = Core::ICore::instance()->mimeDatabase();
+ mdb->setPreferredSuffix(QLatin1String(CppTools::Constants::CPP_SOURCE_MIMETYPE), sourceSuffix);
+ mdb->setPreferredSuffix(QLatin1String(CppTools::Constants::CPP_HEADER_MIMETYPE), headerSuffix);
+}
+
+bool CppFileSettings::equals(const CppFileSettings &rhs) const
+{
+ return lowerCaseFiles == rhs.lowerCaseFiles
+ && headerSuffix == rhs.headerSuffix
+ && sourceSuffix == rhs.sourceSuffix;
+}
+
+// ------------------ CppFileSettingsWidget
+
+CppFileSettingsWidget::CppFileSettingsWidget(QWidget *parent) :
+ QWidget(parent),
+ m_ui(new Ui::CppFileSettingsPage)
+{
+ m_ui->setupUi(this);
+ const Core::MimeDatabase *mdb = Core::ICore::instance()->mimeDatabase();
+ // populate suffix combos
+ if (const Core::MimeType sourceMt = mdb->findByType(QLatin1String(CppTools::Constants::CPP_SOURCE_MIMETYPE)))
+ foreach (const QString &suffix, sourceMt.suffixes())
+ m_ui->sourceSuffixComboBox->addItem(suffix);
+
+ if (const Core::MimeType headerMt = mdb->findByType(QLatin1String(CppTools::Constants::CPP_HEADER_MIMETYPE)))
+ foreach (const QString &suffix, headerMt.suffixes())
+ m_ui->headerSuffixComboBox->addItem(suffix);
+}
+
+CppFileSettingsWidget::~CppFileSettingsWidget()
+{
+ delete m_ui;
+}
+
+CppFileSettings CppFileSettingsWidget::settings() const
+{
+ CppFileSettings rc;
+ rc.lowerCaseFiles = m_ui->lowerCaseFileNamesCheckBox->isChecked();
+ rc.headerSuffix = m_ui->headerSuffixComboBox->currentText();
+ rc.sourceSuffix = m_ui->sourceSuffixComboBox->currentText();
+ return rc;
+}
+
+static inline void setComboText(QComboBox *cb, const QString &text, int defaultIndex = 0)
+{
+ const int index = cb->findText(text);
+ cb->setCurrentIndex(index == -1 ? defaultIndex: index);
+}
+
+void CppFileSettingsWidget::setSettings(const CppFileSettings &s)
+{
+ m_ui->lowerCaseFileNamesCheckBox->setChecked(s.lowerCaseFiles);
+ setComboText(m_ui->headerSuffixComboBox, s.headerSuffix);
+ setComboText(m_ui->sourceSuffixComboBox, s.sourceSuffix);
+}
+
+// --------------- CppFileSettingsPage
+CppFileSettingsPage::CppFileSettingsPage(QObject *parent) :
+ Core::IOptionsPage(parent)
+{
+ m_settings.fromSettings(Core::ICore::instance()->settings());
+ m_settings.applySuffixesToMimeDB();
+}
+
+CppFileSettingsPage::~CppFileSettingsPage()
+{
+}
+
+QString CppFileSettingsPage::id() const
+{
+ return QLatin1String(Constants::CPP_SETTINGS_ID);
+}
+
+QString CppFileSettingsPage::trName() const
+{
+ return QCoreApplication::translate("CppTools", Constants::CPP_SETTINGS_ID);
+}
+
+QString CppFileSettingsPage::category() const
+{
+ return QLatin1String(Constants::CPP_SETTINGS_CATEGORY);
+}
+
+QString CppFileSettingsPage::trCategory() const
+{
+ return QCoreApplication::translate("CppTools", Constants::CPP_SETTINGS_CATEGORY);
+}
+
+QWidget *CppFileSettingsPage::createPage(QWidget *parent)
+{
+
+ m_widget = new CppFileSettingsWidget(parent);
+ m_widget->setSettings(m_settings);
+ return m_widget;
+}
+
+void CppFileSettingsPage::apply()
+{
+ if (m_widget) {
+ const CppFileSettings newSettings = m_widget->settings();
+ if (newSettings != m_settings) {
+ m_settings = newSettings;
+ m_settings.toSettings(Core::ICore::instance()->settings());
+ m_settings.applySuffixesToMimeDB();
+ }
+ }
+}
+
+}
+}
+
diff --git a/src/plugins/cpptools/cppfilesettingspage.h b/src/plugins/cpptools/cppfilesettingspage.h
new file mode 100644
index 0000000000..53abb7788a
--- /dev/null
+++ b/src/plugins/cpptools/cppfilesettingspage.h
@@ -0,0 +1,100 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+**
+**************************************************************************/
+
+#ifndef CPPSETTINGSPAGE_H
+#define CPPSETTINGSPAGE_H
+
+#include <coreplugin/dialogs/ioptionspage.h>
+#include <QtCore/QPointer>
+#include <QtGui/QWidget>
+
+QT_BEGIN_NAMESPACE
+namespace Ui {
+ class CppFileSettingsPage;
+}
+class QSettings;
+QT_END_NAMESPACE
+
+namespace CppTools {
+namespace Internal {
+
+struct CppFileSettings {
+ CppFileSettings();
+
+ QString headerSuffix;
+ QString sourceSuffix;
+ bool lowerCaseFiles;
+
+ void toSettings(QSettings *) const;
+ void fromSettings(QSettings *);
+ void applySuffixesToMimeDB();
+
+ bool equals(const CppFileSettings &rhs) const;
+};
+
+inline bool operator==(const CppFileSettings &s1, const CppFileSettings &s2) { return s1.equals(s2); }
+inline bool operator!=(const CppFileSettings &s1, const CppFileSettings &s2) { return !s1.equals(s2); }
+
+class CppFileSettingsWidget : public QWidget {
+ Q_OBJECT
+public:
+ explicit CppFileSettingsWidget(QWidget *parent = 0);
+ virtual ~CppFileSettingsWidget();
+
+ CppFileSettings settings() const;
+ void setSettings(const CppFileSettings &s);
+
+private:
+ Ui::CppFileSettingsPage *m_ui;
+};
+
+class CppFileSettingsPage : public Core::IOptionsPage
+{
+public:
+ explicit CppFileSettingsPage(QObject *parent = 0);
+ virtual ~CppFileSettingsPage();
+
+ virtual QString id() const;
+ virtual QString trName() const;
+ virtual QString category() const;
+ virtual QString trCategory() const;
+
+ virtual QWidget *createPage(QWidget *parent);
+ virtual void apply();
+ virtual void finish() { }
+
+private:
+ QPointer<CppFileSettingsWidget> m_widget;
+ CppFileSettings m_settings;
+};
+
+} // namespace Internal
+} // namespace CppTools
+
+#endif // CPPSETTINGSPAGE_H
diff --git a/src/plugins/cpptools/cppfilesettingspage.ui b/src/plugins/cpptools/cppfilesettingspage.ui
new file mode 100644
index 0000000000..f5005ecacb
--- /dev/null
+++ b/src/plugins/cpptools/cppfilesettingspage.ui
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>CppFileSettingsPage</class>
+ <widget class="QWidget" name="CppFileSettingsPage">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>424</width>
+ <height>503</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::ExpandingFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="headerSuffixLabel">
+ <property name="text">
+ <string>Header suffix:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="headerSuffixComboBox"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="lowerCaseFileNamesLabel">
+ <property name="toolTip">
+ <string>This determines how the file names of the class wizards are generated (&quot;MyClass.h&quot; versus &quot;myclass.h&quot;).</string>
+ </property>
+ <property name="text">
+ <string>Lower case file names:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="lowerCaseFileNamesCheckBox"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="sourceSuffixLabel">
+ <property name="text">
+ <string>Source suffix:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="sourceSuffixComboBox"/>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>430</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/plugins/cpptools/cpptools.pro b/src/plugins/cpptools/cpptools.pro
index 21298bef07..2094a0edf6 100644
--- a/src/plugins/cpptools/cpptools.pro
+++ b/src/plugins/cpptools/cpptools.pro
@@ -20,7 +20,8 @@ HEADERS += completionsettingspage.h \
cpptoolseditorsupport.h \
cpptoolsplugin.h \
searchsymbols.h \
- cppdoxygen.h
+ cppdoxygen.h \
+ cppfilesettingspage.h
SOURCES += completionsettingspage.cpp \
cppclassesfilter.cpp \
@@ -31,6 +32,8 @@ SOURCES += completionsettingspage.cpp \
cpptoolseditorsupport.cpp \
cpptoolsplugin.cpp \
searchsymbols.cpp \
- cppdoxygen.cpp
+ cppdoxygen.cpp \
+ cppfilesettingspage.cpp
-FORMS += completionsettingspage.ui
+FORMS += completionsettingspage.ui \
+ cppfilesettingspage.ui
diff --git a/src/plugins/cpptools/cpptoolsconstants.h b/src/plugins/cpptools/cpptoolsconstants.h
index 0696db4176..ef04db2c44 100644
--- a/src/plugins/cpptools/cpptoolsconstants.h
+++ b/src/plugins/cpptools/cpptoolsconstants.h
@@ -30,6 +30,8 @@
#ifndef CPPTOOLSCONSTANTS_H
#define CPPTOOLSCONSTANTS_H
+#include <QtCore/QtGlobal>
+
namespace CppTools {
namespace Constants {
@@ -41,6 +43,13 @@ const char * const C_HEADER_MIMETYPE = "text/x-chdr";
const char * const CPP_SOURCE_MIMETYPE = "text/x-c++src";
const char * const CPP_HEADER_MIMETYPE = "text/x-c++hdr";
+// QSettings keys for use by the "New Class" wizards.
+const char * const CPPTOOLS_SETTINGSGROUP = "CppTools";
+const char * const LOWERCASE_CPPFILES_KEY = "LowerCaseFiles";
+
+const char * const CPP_SETTINGS_ID = QT_TRANSLATE_NOOP("CppTools", "File naming conventions");
+const char * const CPP_SETTINGS_CATEGORY = QT_TRANSLATE_NOOP("CppTools", "C++");
+
} // namespace Constants
} // namespace CppTools
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index 3ca1db8809..301935530d 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -30,6 +30,7 @@
#include "cpptoolsplugin.h"
#include "completionsettingspage.h"
+#include "cppfilesettingspage.h"
#include "cppclassesfilter.h"
#include "cppcodecompletion.h"
#include "cppfunctionsfilter.h"
@@ -90,6 +91,7 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error)
addAutoReleasedObject(new CppClassesFilter(m_modelManager, core->editorManager()));
addAutoReleasedObject(new CppFunctionsFilter(m_modelManager, core->editorManager()));
addAutoReleasedObject(new CompletionSettingsPage(m_completion));
+ addAutoReleasedObject(new CppFileSettingsPage);
// Menus
Core::ActionContainer *mtools = am->actionContainer(Core::Constants::M_TOOLS);
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index a837993124..c0ca6eda1d 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -244,8 +244,9 @@ public:
GdbOptionPage(DebuggerPlugin *plugin) : m_plugin(plugin) {}
// IOptionsPage
- QString name() const { return tr("Gdb"); }
- QString category() const { return "Debugger"; }
+ QString id() const { return QLatin1String("Gdb"); }
+ QString trName() const { return tr("Gdb"); }
+ QString category() const { return QLatin1String("Debugger"); }
QString trCategory() const { return tr("Debugger"); }
QWidget *createPage(QWidget *parent);
diff --git a/src/plugins/designer/cpp/formclasswizard.cpp b/src/plugins/designer/cpp/formclasswizard.cpp
index 921ad03034..f6346b63d2 100644
--- a/src/plugins/designer/cpp/formclasswizard.cpp
+++ b/src/plugins/designer/cpp/formclasswizard.cpp
@@ -34,10 +34,12 @@
#include <coreplugin/icore.h>
#include <cppeditor/cppeditorconstants.h>
+#include <cpptools/cpptoolsconstants.h>
#include <QtCore/QFile>
#include <QtCore/QDir>
#include <QtCore/QDebug>
+#include <QtCore/QSettings>
using namespace Designer;
using namespace Designer::Internal;
@@ -62,13 +64,21 @@ QString FormClassWizard::formSuffix() const
return preferredSuffix(QLatin1String(Constants::FORM_MIMETYPE));
}
+// Retrieve settings of CppTools plugin.
+static inline bool lowerCaseFiles()
+{
+ QString camelCaseSettingsKey = QLatin1String(CppTools::Constants::CPPTOOLS_SETTINGSGROUP);
+ camelCaseSettingsKey += QLatin1Char('/');
+ camelCaseSettingsKey += QLatin1String(CppTools::Constants::LOWERCASE_CPPFILES_KEY);
+ return Core::ICore::instance()->settings()->value(camelCaseSettingsKey, QVariant(false)).toBool();
+}
+
QWizard *FormClassWizard::createWizardDialog(QWidget *parent,
const QString &defaultPath,
const WizardPageList &extensionPages) const
{
FormClassWizardDialog *wizardDialog = new FormClassWizardDialog(extensionPages,
parent);
- wizardDialog->setSuffixes(headerSuffix(), sourceSuffix(), formSuffix());
wizardDialog->setPath(defaultPath);
return wizardDialog;
}
diff --git a/src/plugins/designer/cpp/formclasswizarddialog.cpp b/src/plugins/designer/cpp/formclasswizarddialog.cpp
index a4eb0769db..2bec6a7982 100644
--- a/src/plugins/designer/cpp/formclasswizarddialog.cpp
+++ b/src/plugins/designer/cpp/formclasswizarddialog.cpp
@@ -63,11 +63,6 @@ FormClassWizardDialog::FormClassWizardDialog(const WizardPageList &extensionPage
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int)));
}
-void FormClassWizardDialog::setSuffixes(const QString &header, const QString &source, const QString &form)
-{
- m_classPage->setSuffixes(header, source, form);
-}
-
QString FormClassWizardDialog::path() const
{
return m_classPage->path();
diff --git a/src/plugins/designer/cpp/formclasswizarddialog.h b/src/plugins/designer/cpp/formclasswizarddialog.h
index 4164e13a71..18d354ee15 100644
--- a/src/plugins/designer/cpp/formclasswizarddialog.h
+++ b/src/plugins/designer/cpp/formclasswizarddialog.h
@@ -54,8 +54,6 @@ public:
explicit FormClassWizardDialog(const WizardPageList &extensionPages,
QWidget *parent = 0);
- void setSuffixes(const QString &header, const QString &source, const QString &form);
-
QString path() const;
FormClassWizardParameters parameters() const;
diff --git a/src/plugins/designer/cpp/formclasswizardpage.cpp b/src/plugins/designer/cpp/formclasswizardpage.cpp
index bb32d2f1d5..0b7f4c2499 100644
--- a/src/plugins/designer/cpp/formclasswizardpage.cpp
+++ b/src/plugins/designer/cpp/formclasswizardpage.cpp
@@ -32,7 +32,9 @@
#include "formclasswizardparameters.h"
#include <coreplugin/icore.h>
+#include <coreplugin/mimedatabase.h>
#include <cppeditor/cppeditorconstants.h>
+#include <cpptools/cpptoolsconstants.h>
#include <QtCore/QDebug>
#include <QtCore/QDir>
@@ -66,6 +68,8 @@ FormClassWizardPage::FormClassWizardPage(QWidget * parent) :
m_ui->extensionWidget->setVisible(false);
connect(m_ui->moreButton, SIGNAL(clicked(bool)), m_ui->extensionWidget, SLOT(setVisible(bool)));
+ connect(m_ui->settingsToolButton, SIGNAL(clicked()), this, SLOT(slotSettings()));
+
restoreSettings();
}
@@ -74,11 +78,33 @@ FormClassWizardPage::~FormClassWizardPage()
delete m_ui;
}
-void FormClassWizardPage::setSuffixes(const QString &header, const QString &source, const QString &form)
+// Retrieve settings of CppTools plugin.
+static inline bool lowerCaseFiles(const Core::ICore *core)
{
- m_ui->newClassWidget->setSourceExtension(source);
- m_ui->newClassWidget->setHeaderExtension(header);
- m_ui->newClassWidget->setFormExtension(form);
+ QString camelCaseSettingsKey = QLatin1String(CppTools::Constants::CPPTOOLS_SETTINGSGROUP);
+ camelCaseSettingsKey += QLatin1Char('/');
+ camelCaseSettingsKey += QLatin1String(CppTools::Constants::LOWERCASE_CPPFILES_KEY);
+ return core->settings()->value(camelCaseSettingsKey, QVariant(false)).toBool();
+}
+
+// Set up new class widget from settings
+void FormClassWizardPage::initParameters()
+{
+ Core::ICore *core = Core::ICore::instance();
+ const Core::MimeDatabase *mdb = core->mimeDatabase();
+ m_ui->newClassWidget->setHeaderExtension(mdb->preferredSuffixByType(QLatin1String(CppTools::Constants::CPP_HEADER_MIMETYPE)));
+ m_ui->newClassWidget->setSourceExtension(mdb->preferredSuffixByType(QLatin1String(CppTools::Constants::CPP_SOURCE_MIMETYPE)));
+ m_ui->newClassWidget->setLowerCaseFiles(lowerCaseFiles(core));
+}
+
+void FormClassWizardPage::slotSettings()
+{
+ const QString id = QLatin1String(CppTools::Constants::CPP_SETTINGS_ID);
+ const QString cat = QLatin1String(CppTools::Constants::CPP_SETTINGS_CATEGORY);
+ if (Core::ICore::instance()->showOptionsDialog(cat, id, this)) {
+ initParameters();
+ m_ui->newClassWidget->triggerUpdateFileNames();
+ }
}
void FormClassWizardPage::setClassName(const QString &suggestedClassName)
diff --git a/src/plugins/designer/cpp/formclasswizardpage.h b/src/plugins/designer/cpp/formclasswizardpage.h
index 68c2cd45bf..b777c5e1cd 100644
--- a/src/plugins/designer/cpp/formclasswizardpage.h
+++ b/src/plugins/designer/cpp/formclasswizardpage.h
@@ -49,8 +49,6 @@ public:
explicit FormClassWizardPage(QWidget * parent = 0);
~FormClassWizardPage();
- void setSuffixes(const QString &header, const QString &source, const QString &form);
-
virtual bool isComplete () const;
virtual bool validatePage();
@@ -59,18 +57,20 @@ public:
QString path() const;
// Fill out applicable parameters
- void getParameters(FormClassWizardParameters *) const;
+ void getParameters(FormClassWizardParameters *) const;
public slots:
void setClassName(const QString &suggestedClassName);
void setPath(const QString &);
void setRetranslationSupport(bool);
void setUiClassEmbedding(int v);
+ void slotSettings();
private slots:
void slotValidChanged();
private:
+ void initParameters();
void saveSettings();
void restoreSettings();
diff --git a/src/plugins/designer/cpp/formclasswizardpage.ui b/src/plugins/designer/cpp/formclasswizardpage.ui
index 236e2059ca..5b739be4f8 100644
--- a/src/plugins/designer/cpp/formclasswizardpage.ui
+++ b/src/plugins/designer/cpp/formclasswizardpage.ui
@@ -42,6 +42,13 @@
</spacer>
</item>
<item>
+ <widget class="QToolButton" name="settingsToolButton">
+ <property name="text">
+ <string>Configure...</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QToolButton" name="moreButton">
<property name="text">
<string>More</string>
diff --git a/src/plugins/designer/settingspage.cpp b/src/plugins/designer/settingspage.cpp
index 6328fca31f..16f9afa94e 100644
--- a/src/plugins/designer/settingspage.cpp
+++ b/src/plugins/designer/settingspage.cpp
@@ -43,7 +43,12 @@ SettingsPage::~SettingsPage()
{
}
-QString SettingsPage::name() const
+QString SettingsPage::id() const
+{
+ return m_designerPage->name();
+}
+
+QString SettingsPage::trName() const
{
return m_designerPage->name();
}
diff --git a/src/plugins/designer/settingspage.h b/src/plugins/designer/settingspage.h
index 04627adf6b..1761baadfd 100644
--- a/src/plugins/designer/settingspage.h
+++ b/src/plugins/designer/settingspage.h
@@ -49,7 +49,8 @@ public:
explicit SettingsPage(QDesignerOptionsPageInterface *designerPage);
virtual ~SettingsPage();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/git/settingspage.cpp b/src/plugins/git/settingspage.cpp
index 8404cc55d5..cc6d06d9b5 100644
--- a/src/plugins/git/settingspage.cpp
+++ b/src/plugins/git/settingspage.cpp
@@ -31,6 +31,9 @@
#include "gitsettings.h"
#include "gitplugin.h"
+#include <vcsbase/vcsbaseconstants.h>
+
+#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
#include <QtGui/QMessageBox>
@@ -72,19 +75,24 @@ SettingsPage::SettingsPage()
{
}
-QString SettingsPage::name() const
+QString SettingsPage::id() const
+{
+ return QLatin1String("Git");
+}
+
+QString SettingsPage::trName() const
{
- return tr("General");
+ return tr("Git");
}
QString SettingsPage::category() const
{
- return QLatin1String("Git");
+ return QLatin1String(VCSBase::Constants::VCS_SETTINGS_CATEGORY);
}
QString SettingsPage::trCategory() const
{
- return tr("Git");
+ return QCoreApplication::translate("VCSBase", VCSBase::Constants::VCS_SETTINGS_CATEGORY);
}
QWidget *SettingsPage::createPage(QWidget *parent)
diff --git a/src/plugins/git/settingspage.h b/src/plugins/git/settingspage.h
index 69e6bfb534..ec247d8a89 100644
--- a/src/plugins/git/settingspage.h
+++ b/src/plugins/git/settingspage.h
@@ -68,7 +68,8 @@ class SettingsPage : public Core::IOptionsPage
public:
SettingsPage();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/help/docsettingspage.cpp b/src/plugins/help/docsettingspage.cpp
index 46e0e0ab12..6f50fc9a76 100644
--- a/src/plugins/help/docsettingspage.cpp
+++ b/src/plugins/help/docsettingspage.cpp
@@ -41,14 +41,20 @@ DocSettingsPage::DocSettingsPage(QHelpEngine *helpEngine)
{
}
-QString DocSettingsPage::name() const
+QString DocSettingsPage::id() const
{
- return "Documentation";
+ return QLatin1String("Documentation");
}
+QString DocSettingsPage::trName() const
+{
+ return tr("Documentation");
+}
+
+
QString DocSettingsPage::category() const
{
- return "Help";
+ return QLatin1String("Help");
}
QString DocSettingsPage::trCategory() const
diff --git a/src/plugins/help/docsettingspage.h b/src/plugins/help/docsettingspage.h
index 3071543a83..83d6fc38c6 100644
--- a/src/plugins/help/docsettingspage.h
+++ b/src/plugins/help/docsettingspage.h
@@ -48,7 +48,8 @@ class DocSettingsPage : public Core::IOptionsPage
public:
DocSettingsPage(QHelpEngine *helpEngine);
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/help/filtersettingspage.cpp b/src/plugins/help/filtersettingspage.cpp
index 1aaa8381d7..9c0252a852 100644
--- a/src/plugins/help/filtersettingspage.cpp
+++ b/src/plugins/help/filtersettingspage.cpp
@@ -36,19 +36,24 @@
using namespace Help::Internal;
-FilterSettingsPage::FilterSettingsPage(QHelpEngine *helpEngine)
+FilterSettingsPage::FilterSettingsPage(QHelpEngine *helpEngine) :
+ m_helpEngine(helpEngine)
{
- m_helpEngine = helpEngine;
}
-QString FilterSettingsPage::name() const
+QString FilterSettingsPage::id() const
{
- return "Filters";
+ return QLatin1String("Filters");
+}
+
+QString FilterSettingsPage::trName() const
+{
+ return tr("Filters");
}
QString FilterSettingsPage::category() const
{
- return "Help";
+ return QLatin1String("Help");
}
QString FilterSettingsPage::trCategory() const
diff --git a/src/plugins/help/filtersettingspage.h b/src/plugins/help/filtersettingspage.h
index e00de74361..f07a81c0b2 100644
--- a/src/plugins/help/filtersettingspage.h
+++ b/src/plugins/help/filtersettingspage.h
@@ -47,7 +47,8 @@ class FilterSettingsPage : public Core::IOptionsPage
public:
FilterSettingsPage(QHelpEngine *helpEngine);
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/perforce/settingspage.cpp b/src/plugins/perforce/settingspage.cpp
index c6a7ddfb19..1672186e9b 100644
--- a/src/plugins/perforce/settingspage.cpp
+++ b/src/plugins/perforce/settingspage.cpp
@@ -31,6 +31,9 @@
#include "perforcesettings.h"
#include "perforceplugin.h"
+#include <vcsbase/vcsbaseconstants.h>
+
+#include <QtCore/QCoreApplication>
#include <QtGui/QLineEdit>
#include <QtGui/QFileDialog>
@@ -83,19 +86,24 @@ SettingsPage::SettingsPage()
{
}
-QString SettingsPage::name() const
+QString SettingsPage::id() const
+{
+ return QLatin1String("Perforce");
+}
+
+QString SettingsPage::trName() const
{
- return tr("General");
+ return tr("Perforce");
}
QString SettingsPage::category() const
{
- return QLatin1String("Perforce");
+ return QLatin1String(VCSBase::Constants::VCS_SETTINGS_CATEGORY);
}
QString SettingsPage::trCategory() const
{
- return tr("Perforce");
+ return QCoreApplication::translate("VCSBase", VCSBase::Constants::VCS_SETTINGS_CATEGORY);
}
QWidget *SettingsPage::createPage(QWidget *parent)
diff --git a/src/plugins/perforce/settingspage.h b/src/plugins/perforce/settingspage.h
index 87b43784f0..0123b2d935 100644
--- a/src/plugins/perforce/settingspage.h
+++ b/src/plugins/perforce/settingspage.h
@@ -66,7 +66,8 @@ class SettingsPage : public Core::IOptionsPage
public:
SettingsPage();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index d974138ff4..013e7b1ca7 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -131,7 +131,12 @@ int QtVersionManager::getUniqueId()
return m_idcount++;
}
-QString QtVersionManager::name() const
+QString QtVersionManager::id() const
+{
+ return QLatin1String(Constants::QTVERSION_PAGE);
+}
+
+QString QtVersionManager::trName() const
{
return tr(Constants::QTVERSION_PAGE);
}
diff --git a/src/plugins/qt4projectmanager/qtversionmanager.h b/src/plugins/qt4projectmanager/qtversionmanager.h
index e56be598ef..63e2d30c42 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.h
+++ b/src/plugins/qt4projectmanager/qtversionmanager.h
@@ -161,7 +161,8 @@ public:
QtVersionManager();
~QtVersionManager();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/quickopen/quickopenconstants.h b/src/plugins/quickopen/quickopenconstants.h
index c2172d0d7d..6b7bf6c8e6 100644
--- a/src/plugins/quickopen/quickopenconstants.h
+++ b/src/plugins/quickopen/quickopenconstants.h
@@ -30,11 +30,13 @@
#ifndef QUICKOPENCONSTANTS_H
#define QUICKOPENCONSTANTS_H
+#include <QtCore/QtGlobal>
+
namespace QuickOpen {
namespace Constants {
-const char * const FILTER_OPTIONS_PAGE = "Filters";
-const char * const QUICKOPEN_CATEGORY = "Locator";
+const char * const FILTER_OPTIONS_PAGE = QT_TRANSLATE_NOOP("Locator", "Filters");
+const char * const QUICKOPEN_CATEGORY = QT_TRANSLATE_NOOP("Locator", "Locator");
const char * const TASK_INDEX = "QuickOpen.Task.Index";
} // namespace Constants
diff --git a/src/plugins/quickopen/quickopenplugin.cpp b/src/plugins/quickopen/quickopenplugin.cpp
index 06cd9ca8d9..5ef84c3ea7 100644
--- a/src/plugins/quickopen/quickopenplugin.cpp
+++ b/src/plugins/quickopen/quickopenplugin.cpp
@@ -28,6 +28,7 @@
**************************************************************************/
#include "quickopenplugin.h"
+#include "quickopenconstants.h"
#include "quickopenfiltersfilter.h"
#include "quickopenmanager.h"
#include "quickopentoolwindow.h"
@@ -243,7 +244,7 @@ void QuickOpenPlugin::refresh(QList<IQuickOpenFilter*> filters)
filters = m_filters;
QFuture<void> task = QtConcurrent::run(&IQuickOpenFilter::refresh, filters);
Core::FutureProgress *progress = Core::ICore::instance()
- ->progressManager()->addTask(task, tr("Indexing"), Constants::TASK_INDEX, Core::ProgressManager::CloseOnSuccess);
+ ->progressManager()->addTask(task, tr("Indexing"), QuickOpen::Constants::TASK_INDEX, Core::ProgressManager::CloseOnSuccess);
connect(progress, SIGNAL(finished()), this, SLOT(saveSettings()));
}
diff --git a/src/plugins/quickopen/settingspage.cpp b/src/plugins/quickopen/settingspage.cpp
index cac458390d..bd900e6bba 100644
--- a/src/plugins/quickopen/settingspage.cpp
+++ b/src/plugins/quickopen/settingspage.cpp
@@ -28,6 +28,7 @@
**************************************************************************/
#include "settingspage.h"
+#include "quickopenconstants.h"
#include "quickopenplugin.h"
#include "iquickopenfilter.h"
@@ -36,6 +37,8 @@
#include <qtconcurrent/QtConcurrentTools>
#include <utils/qtcassert.h>
+#include <QtCore/QCoreApplication>
+
Q_DECLARE_METATYPE(QuickOpen::IQuickOpenFilter*)
using namespace QuickOpen;
@@ -46,6 +49,26 @@ SettingsPage::SettingsPage(QuickOpenPlugin *plugin)
{
}
+QString SettingsPage::id() const
+{
+ return QLatin1String(Constants::FILTER_OPTIONS_PAGE);
+}
+
+QString SettingsPage::trName() const
+{
+ return QCoreApplication::translate("Locator", QuickOpen::Constants::FILTER_OPTIONS_PAGE);
+}
+
+QString SettingsPage::category() const
+{
+ return Constants::QUICKOPEN_CATEGORY;
+}
+
+QString SettingsPage::trCategory() const
+{
+ return QCoreApplication::translate("Locator", QuickOpen::Constants::QUICKOPEN_CATEGORY);
+}
+
QWidget *SettingsPage::createPage(QWidget *parent)
{
if (!m_page) {
diff --git a/src/plugins/quickopen/settingspage.h b/src/plugins/quickopen/settingspage.h
index 4d7b840c59..6bb3a2984a 100644
--- a/src/plugins/quickopen/settingspage.h
+++ b/src/plugins/quickopen/settingspage.h
@@ -31,7 +31,6 @@
#define SETTINGSPAGE_H
#include "ui_settingspage.h"
-#include "quickopenconstants.h"
#include <QtCore/QPointer>
#include <QtCore/QHash>
@@ -56,9 +55,10 @@ class SettingsPage : public Core::IOptionsPage
public:
explicit SettingsPage(QuickOpenPlugin *plugin);
- QString name() const { return tr(Constants::FILTER_OPTIONS_PAGE); }
- QString category() const { return Constants::QUICKOPEN_CATEGORY; }
- QString trCategory() const { return tr(Constants::QUICKOPEN_CATEGORY); }
+ QString id() const;
+ QString trName() const;
+ QString category() const;
+ QString trCategory() const;
QWidget *createPage(QWidget *parent);
void apply();
diff --git a/src/plugins/subversion/settingspage.cpp b/src/plugins/subversion/settingspage.cpp
index d8a164736a..e06560fedd 100644
--- a/src/plugins/subversion/settingspage.cpp
+++ b/src/plugins/subversion/settingspage.cpp
@@ -33,14 +33,15 @@
#include <coreplugin/icore.h>
#include <extensionsystem/pluginmanager.h>
+#include <vcsbase/vcsbaseconstants.h>
+#include <utils/pathchooser.h>
+#include <QtCore/QCoreApplication>
#include <QtGui/QFileDialog>
-#include <utils/pathchooser.h>
using namespace Subversion::Internal;
using namespace Core::Utils;
-
SettingsPageWidget::SettingsPageWidget(QWidget *parent) :
QWidget(parent)
{
@@ -73,19 +74,24 @@ SettingsPage::SettingsPage()
{
}
-QString SettingsPage::name() const
+QString SettingsPage::id() const
+{
+ return QLatin1String("Subversion");
+}
+
+QString SettingsPage::trName() const
{
- return tr("General");
+ return tr("Subversion");
}
QString SettingsPage::category() const
{
- return QLatin1String("Subversion");
+ return QLatin1String(VCSBase::Constants::VCS_SETTINGS_CATEGORY);
}
QString SettingsPage::trCategory() const
{
- return tr("Subversion");
+ return QCoreApplication::translate("VCSBase", VCSBase::Constants::VCS_SETTINGS_CATEGORY);
}
QWidget *SettingsPage::createPage(QWidget *parent)
diff --git a/src/plugins/subversion/settingspage.h b/src/plugins/subversion/settingspage.h
index 031bca49eb..7808920e04 100644
--- a/src/plugins/subversion/settingspage.h
+++ b/src/plugins/subversion/settingspage.h
@@ -67,7 +67,8 @@ class SettingsPage : public Core::IOptionsPage
public:
SettingsPage();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/texteditor/behaviorsettingspage.cpp b/src/plugins/texteditor/behaviorsettingspage.cpp
index 156a065f49..8fa6434e81 100644
--- a/src/plugins/texteditor/behaviorsettingspage.cpp
+++ b/src/plugins/texteditor/behaviorsettingspage.cpp
@@ -73,7 +73,12 @@ BehaviorSettingsPage::~BehaviorSettingsPage()
delete m_d;
}
-QString BehaviorSettingsPage::name() const
+QString BehaviorSettingsPage::id() const
+{
+ return m_d->m_parameters.name;
+}
+
+QString BehaviorSettingsPage::trName() const
{
return m_d->m_parameters.name;
}
diff --git a/src/plugins/texteditor/behaviorsettingspage.h b/src/plugins/texteditor/behaviorsettingspage.h
index 2437cddc81..821e519610 100644
--- a/src/plugins/texteditor/behaviorsettingspage.h
+++ b/src/plugins/texteditor/behaviorsettingspage.h
@@ -59,7 +59,8 @@ public:
virtual ~BehaviorSettingsPage();
// IOptionsPage
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/texteditor/displaysettingspage.cpp b/src/plugins/texteditor/displaysettingspage.cpp
index 7d8c670bdc..bae904b98f 100644
--- a/src/plugins/texteditor/displaysettingspage.cpp
+++ b/src/plugins/texteditor/displaysettingspage.cpp
@@ -67,7 +67,12 @@ DisplaySettingsPage::~DisplaySettingsPage()
delete m_d;
}
-QString DisplaySettingsPage::name() const
+QString DisplaySettingsPage::id() const
+{
+ return m_d->m_parameters.name;
+}
+
+QString DisplaySettingsPage::trName() const
{
return m_d->m_parameters.name;
}
diff --git a/src/plugins/texteditor/displaysettingspage.h b/src/plugins/texteditor/displaysettingspage.h
index ec2c96c0d7..1d8cd31b03 100644
--- a/src/plugins/texteditor/displaysettingspage.h
+++ b/src/plugins/texteditor/displaysettingspage.h
@@ -57,7 +57,8 @@ public:
virtual ~DisplaySettingsPage();
// IOptionsPage
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp
index 6ae8b748a2..8f776f04b0 100644
--- a/src/plugins/texteditor/fontsettingspage.cpp
+++ b/src/plugins/texteditor/fontsettingspage.cpp
@@ -204,7 +204,12 @@ FontSettingsPage::~FontSettingsPage()
delete d_ptr;
}
-QString FontSettingsPage::name() const
+QString FontSettingsPage::id() const
+{
+ return d_ptr->m_name;
+}
+
+QString FontSettingsPage::trName() const
{
return d_ptr->m_name;
}
diff --git a/src/plugins/texteditor/fontsettingspage.h b/src/plugins/texteditor/fontsettingspage.h
index 0d9da298e6..b0e4b2efba 100644
--- a/src/plugins/texteditor/fontsettingspage.h
+++ b/src/plugins/texteditor/fontsettingspage.h
@@ -88,7 +88,8 @@ public:
~FontSettingsPage();
- QString name() const;
+ QString id() const;
+ QString trName() const;
QString category() const;
QString trCategory() const;
diff --git a/src/plugins/vcsbase/vcsbaseconstants.h b/src/plugins/vcsbase/vcsbaseconstants.h
index d6c0ca8a68..6ce3141cb6 100644
--- a/src/plugins/vcsbase/vcsbaseconstants.h
+++ b/src/plugins/vcsbase/vcsbaseconstants.h
@@ -30,11 +30,15 @@
#ifndef VCSBASE_CONSTANTS_H
#define VCSBASE_CONSTANTS_H
+#include <QtCore/QtGlobal>
+
namespace VCSBase {
namespace Constants {
+const char * const VCS_SETTINGS_CATEGORY = QT_TRANSLATE_NOOP("VCSBase", "Version Control System");
+
namespace Internal {
-enum { debug = 0 };
+ enum { debug = 0 };
} // namespace Internal
} // namespace Constants