diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.cpp b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c453ebc18e60f8ae3761de0ddadfe8847e8e7937 --- /dev/null +++ b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp @@ -0,0 +1,124 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (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 http://qt.nokia.com/contact. +** +**************************************************************************/ + +#include "highlightersettings.h" + +#include <coreplugin/icore.h> + +#include <QtCore/QSettings> +#include <QtCore/QString> +#include <QtCore/QLatin1String> + +#ifdef Q_OS_LINUX +#include <QtCore/QDir> +#include <QtCore/QProcess> +#endif + +namespace TextEditor { +namespace Internal { + +void applyDefaults(HighlighterSettings *settings) +{ + settings->m_definitionFilesPath.clear(); + +#ifdef Q_OS_LINUX + static const QLatin1String kateSyntax("/share/apps/katepart/syntax"); + + // Wild guess. + QDir dir(QLatin1String("/usr") + kateSyntax); + if (dir.exists()) { + settings->m_definitionFilesPath = dir.path(); + } else { + // Try kde-config. + QProcess process; + process.start(QLatin1String("kde-config"), QStringList(QLatin1String("--prefix"))); + if (process.waitForStarted(5000)) { + process.waitForFinished(5000); + QString output = QString::fromLocal8Bit(process.readAllStandardOutput()); + output.remove(QLatin1Char('\n')); + dir.setPath(output + kateSyntax); + if (dir.exists()) + settings->m_definitionFilesPath = dir.path(); + } + } +#endif + + if (settings->m_definitionFilesPath.isEmpty()) + settings->m_definitionFilesPath = Core::ICore::instance()->resourcePath() + + QLatin1String("/generic-highlighter"); +} + +} // namespace Internal +} // namespace TextEditor + +namespace { + +static const QLatin1String kDefinitionFilesPath("DefinitionFilesPath"); +static const QLatin1String kGroupPostfix("HighlighterSettings"); + +QString groupSpecifier(const QString &postFix, const QString &category) +{ + if (category.isEmpty()) + return postFix; + return QString(category + postFix); +} + +} // namespace anonymous + +using namespace TextEditor; +using namespace Internal; + +HighlighterSettings::HighlighterSettings() +{} + +void HighlighterSettings::toSettings(const QString &category, QSettings *s) const +{ + const QString &group = groupSpecifier(kGroupPostfix, category); + s->beginGroup(group); + s->setValue(kDefinitionFilesPath, m_definitionFilesPath); + s->endGroup(); +} + +void HighlighterSettings::fromSettings(const QString &category, QSettings *s) +{ + const QString &group = groupSpecifier(kGroupPostfix, category); + s->beginGroup(group); + + if (!s->contains(kDefinitionFilesPath)) + applyDefaults(this); + else + m_definitionFilesPath = s->value(kDefinitionFilesPath, QString()).toString(); + + s->endGroup(); +} + +bool HighlighterSettings::equals(const HighlighterSettings &highlighterSettings) const +{ + return m_definitionFilesPath == highlighterSettings.m_definitionFilesPath; +} diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.h b/src/plugins/texteditor/generichighlighter/highlightersettings.h new file mode 100644 index 0000000000000000000000000000000000000000..ba03719505a48cb7cc18bcfc1bd818402ee93f02 --- /dev/null +++ b/src/plugins/texteditor/generichighlighter/highlightersettings.h @@ -0,0 +1,65 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (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 http://qt.nokia.com/contact. +** +**************************************************************************/ + +#ifndef HIGHLIGHTERSETTINGS_H +#define HIGHLIGHTERSETTINGS_H + +#include <QtCore/QString> + +QT_BEGIN_NAMESPACE +class QSettings; +QT_END_NAMESPACE + +namespace TextEditor { + +struct HighlighterSettings +{ + HighlighterSettings(); + + void toSettings(const QString &category, QSettings *s) const; + void fromSettings(const QString &category, QSettings *s); + + bool equals(const HighlighterSettings &highlighterSettings) const; + + QString m_definitionFilesPath; +}; + +inline bool operator==(const HighlighterSettings &a, const HighlighterSettings &b) +{ return a.equals(b); } + +inline bool operator!=(const HighlighterSettings &a, const HighlighterSettings &b) +{ return !a.equals(b); } + +namespace Internal { +void applyDefaults(HighlighterSettings *settings); +} + +} // namespace TextEditor + +#endif // HIGHLIGHTERSETTINGS_H diff --git a/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp b/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b2d9e98b45db3c3b59b8110e80741cc1fe9e39c8 --- /dev/null +++ b/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp @@ -0,0 +1,156 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (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 http://qt.nokia.com/contact. +** +**************************************************************************/ + +#include "highlightersettingspage.h" +#include "highlightersettings.h" +#include "manager.h" +#include "ui_highlightersettingspage.h" + +#include <coreplugin/icore.h> + +using namespace TextEditor; +using namespace Internal; + +struct HighlighterSettingsPage::HighlighterSettingsPagePrivate +{ + explicit HighlighterSettingsPagePrivate(const QString &id); + + const QString m_id; + const QString m_displayName; + const QString m_settingsPrefix; + + QString m_searchKeywords; + + HighlighterSettings m_settings; + + Ui::HighlighterSettingsPage m_page; +}; + +HighlighterSettingsPage::HighlighterSettingsPagePrivate:: +HighlighterSettingsPagePrivate(const QString &id) : + m_id(id), + m_displayName(tr("Generic Highlighter")), + m_settingsPrefix(QLatin1String("text")) +{} + +HighlighterSettingsPage::HighlighterSettingsPage(const QString &id, QObject *parent) : + TextEditorOptionsPage(parent), + m_d(new HighlighterSettingsPagePrivate(id)) +{ + if (QSettings *s = Core::ICore::instance()->settings()) + m_d->m_settings.fromSettings(m_d->m_settingsPrefix, s); + + connect(this, SIGNAL(definitionsLocationChanged()), + Manager::instance(), SLOT(registerMimeTypes())); +} + +HighlighterSettingsPage::~HighlighterSettingsPage() +{ + delete m_d; +} + +QString HighlighterSettingsPage::id() const +{ + return m_d->m_id; +} + +QString HighlighterSettingsPage::displayName() const +{ + return m_d->m_displayName; +} + +QWidget *HighlighterSettingsPage::createPage(QWidget *parent) +{ + QWidget *w = new QWidget(parent); + m_d->m_page.setupUi(w); + + settingsToUI(); + + if (m_d->m_searchKeywords.isEmpty()) { + QTextStream(&m_d->m_searchKeywords) << m_d->m_page.definitionFilesGroupBox->title() + << m_d->m_page.locationLabel->text(); + } + + connect(m_d->m_page.resetButton, SIGNAL(clicked()), this, SLOT(reset())); + + return w; +} + +void HighlighterSettingsPage::apply() +{ + if (settingsChanged()) + settingsFromUI(); +} + +bool HighlighterSettingsPage::matches(const QString &s) const +{ + return m_d->m_searchKeywords.contains(s, Qt::CaseInsensitive); +} + +const HighlighterSettings &HighlighterSettingsPage::highlighterSettings() const +{ + return m_d->m_settings; +} + +void HighlighterSettingsPage::settingsFromUI() +{ + bool locationChanged = false; + if (m_d->m_settings.m_definitionFilesPath != m_d->m_page.definitionFilesPath->path()) + locationChanged = true; + + m_d->m_settings.m_definitionFilesPath = m_d->m_page.definitionFilesPath->path(); + if (QSettings *s = Core::ICore::instance()->settings()) + m_d->m_settings.toSettings(m_d->m_settingsPrefix, s); + + if (locationChanged) + emit definitionsLocationChanged(); +} + +void HighlighterSettingsPage::settingsToUI(const HighlighterSettings *settings) +{ + if (settings) { + m_d->m_page.definitionFilesPath->setPath(settings->m_definitionFilesPath); + } else { + m_d->m_page.definitionFilesPath->setPath(m_d->m_settings.m_definitionFilesPath); + } +} + +void HighlighterSettingsPage::reset() +{ + HighlighterSettings defaultSettings; + applyDefaults(&defaultSettings); + settingsToUI(&defaultSettings); +} + +bool HighlighterSettingsPage::settingsChanged() const +{ + if (m_d->m_settings.m_definitionFilesPath != m_d->m_page.definitionFilesPath->path()) + return true; + return false; +} diff --git a/src/plugins/texteditor/generichighlighter/highlightersettingspage.h b/src/plugins/texteditor/generichighlighter/highlightersettingspage.h new file mode 100644 index 0000000000000000000000000000000000000000..62ed7532c82bf59577c3283441db11d646d2be16 --- /dev/null +++ b/src/plugins/texteditor/generichighlighter/highlightersettingspage.h @@ -0,0 +1,74 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (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 http://qt.nokia.com/contact. +** +**************************************************************************/ + +#ifndef HIGHLIGHTERSETTINGSPAGE_H +#define HIGHLIGHTERSETTINGSPAGE_H + +#include "texteditoroptionspage.h" + +namespace TextEditor { + +struct HighlighterSettings; + +class HighlighterSettingsPage : public TextEditorOptionsPage +{ + Q_OBJECT +public: + HighlighterSettingsPage(const QString &id, QObject *parent); + virtual ~HighlighterSettingsPage(); + + QString id() const; + QString displayName() const; + + QWidget *createPage(QWidget *parent); + void apply(); + void finish() {} + bool matches(const QString &s) const; + + const HighlighterSettings &highlighterSettings() const; + +signals: + void definitionsLocationChanged(); + +private slots: + void reset(); + +private: + void settingsFromUI(); + void settingsToUI(const HighlighterSettings *settings = 0); + + bool settingsChanged() const; + + struct HighlighterSettingsPagePrivate; + HighlighterSettingsPagePrivate *m_d; +}; + +} // namespace TextEditor + +#endif // HIGHLIGHTERSETTINGSPAGE_H diff --git a/src/plugins/texteditor/generichighlighter/highlightersettingspage.ui b/src/plugins/texteditor/generichighlighter/highlightersettingspage.ui new file mode 100644 index 0000000000000000000000000000000000000000..5a475303d25de6b540b704af038240cab381630c --- /dev/null +++ b/src/plugins/texteditor/generichighlighter/highlightersettingspage.ui @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>HighlighterSettingsPage</class> + <widget class="QWidget" name="HighlighterSettingsPage"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>453</width> + <height>230</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QGroupBox" name="definitionFilesGroupBox"> + <property name="title"> + <string>Syntax Definition Files</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QLabel" name="locationLabel"> + <property name="text"> + <string>Location:</string> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="Utils::PathChooser" name="definitionFilesPath" native="true"> + <zorder>locationLabel</zorder> + </widget> + </item> + <item> + <widget class="QToolButton" name="resetButton"> + <property name="toolTip"> + <string>Reset to default</string> + </property> + <property name="text"> + <string>R</string> + </property> + <property name="icon"> + <iconset resource="../../coreplugin/core.qrc"> + <normaloff>:/core/images/reset.png</normaloff>:/core/images/reset.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + <zorder>locationLabel</zorder> + <zorder>definitionFilesPath</zorder> + <zorder>resetButton</zorder> + <zorder>resetButton</zorder> + <zorder>resetButton</zorder> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>146</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>Utils::PathChooser</class> + <extends>QWidget</extends> + <header location="global">utils/pathchooser.h</header> + <container>1</container> + <slots> + <signal>editingFinished()</signal> + <signal>browsingFinished()</signal> + </slots> + </customwidget> + </customwidgets> + <resources> + <include location="../../coreplugin/core.qrc"/> + </resources> + <connections/> +</ui> diff --git a/src/plugins/texteditor/generichighlighter/manager.cpp b/src/plugins/texteditor/generichighlighter/manager.cpp index ede33fc8e81d603f9d4f320fe8bb875ddca43f5d..a515af0eca9286357c8046ff347ac71603f62db5 100644 --- a/src/plugins/texteditor/generichighlighter/manager.cpp +++ b/src/plugins/texteditor/generichighlighter/manager.cpp @@ -34,6 +34,7 @@ #include "texteditorplugin.h" #include "texteditorsettings.h" #include "plaintexteditorfactory.h" +#include "highlightersettings.h" #include <coreplugin/icore.h> #include <utils/qtcassert.h> @@ -133,6 +134,7 @@ bool Manager::isBuildingDefinition(const QString &id) const void Manager::registerMimeTypes() { + clear(); QFuture<Core::MimeType> future = QtConcurrent::run(&Manager::gatherDefinitionsMimeTypes, this); m_watcher.setFuture(future); @@ -142,8 +144,8 @@ void Manager::registerMimeTypes() void Manager::gatherDefinitionsMimeTypes(QFutureInterface<Core::MimeType> &future) { - QDir definitionsDir(Core::ICore::instance()->resourcePath() + - QLatin1String("/generic-highlighter")); + const HighlighterSettings &settings = TextEditorSettings::instance()->highlighterSettings(); + QDir definitionsDir(settings.m_definitionFilesPath); QStringList filter(QLatin1String("*.xml")); definitionsDir.setNameFilters(filter); @@ -247,3 +249,11 @@ void Manager::parseDefinitionMetadata(const QFileInfo &fileInfo, reader.clear(); definitionFile.close(); } + +void Manager::clear() +{ + m_priorityComp.m_priorityById.clear(); + m_idByName.clear(); + m_idByMimeType.clear(); + m_definitions.clear(); +} diff --git a/src/plugins/texteditor/generichighlighter/manager.h b/src/plugins/texteditor/generichighlighter/manager.h index 347a86c86b1ee07e1bf1e6e50df5e62f05e7ba80..944498453105ac80e3bc5765e6468eae0294e4b1 100644 --- a/src/plugins/texteditor/generichighlighter/manager.h +++ b/src/plugins/texteditor/generichighlighter/manager.h @@ -42,6 +42,7 @@ QT_BEGIN_NAMESPACE class QFileInfo; class QStringList; +class QDir; template <class> class QFutureInterface; QT_END_NAMESPACE @@ -63,14 +64,17 @@ public: bool isBuildingDefinition(const QString &id) const; const QSharedPointer<HighlightDefinition> &definition(const QString &id); -private slots: +public slots: void registerMimeTypes(); + +private slots: void registerMimeType(int index) const; private: Manager(); Q_DISABLE_COPY(Manager) + void clear(); void gatherDefinitionsMimeTypes(QFutureInterface<Core::MimeType> &future); void parseDefinitionMetadata(const QFileInfo &fileInfo, QString *comment, diff --git a/src/plugins/texteditor/texteditor.pro b/src/plugins/texteditor/texteditor.pro index 4892ff29925e87455d00ca1b2de0146505359a2f..399d330b4c52339e8f7eeebafdc86b121326ea10 100644 --- a/src/plugins/texteditor/texteditor.pro +++ b/src/plugins/texteditor/texteditor.pro @@ -52,7 +52,9 @@ SOURCES += texteditorplugin.cpp \ generichighlighter/highlightdefinition.cpp \ generichighlighter/highlighter.cpp \ generichighlighter/manager.cpp \ - generichighlighter/highlightdefinitionhandler.cpp + generichighlighter/highlightdefinitionhandler.cpp \ + generichighlighter/highlightersettingspage.cpp \ + generichighlighter/highlightersettings.cpp HEADERS += texteditorplugin.h \ textfilewizard.h \ @@ -107,12 +109,15 @@ HEADERS += texteditorplugin.h \ generichighlighter/highlightdefinition.h \ generichighlighter/highlighter.h \ generichighlighter/manager.h \ - generichighlighter/highlightdefinitionhandler.h + generichighlighter/highlightdefinitionhandler.h \ + generichighlighter/highlightersettingspage.h \ + generichighlighter/highlightersettings.h FORMS += behaviorsettingspage.ui \ displaysettingspage.ui \ fontsettingspage.ui \ - colorschemeedit.ui + colorschemeedit.ui \ + generichighlighter/highlightersettingspage.ui RESOURCES += texteditor.qrc OTHER_FILES += TextEditor.pluginspec TextEditor.mimetypes.xml diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 058fcd635099803f5b0637cd276f909e7f0972a1..f1226743ff4cb470434d08de3c11ce43a6d3d035 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -71,9 +71,6 @@ TextEditorPlugin::TextEditorPlugin() { QTC_ASSERT(!m_instance, return); m_instance = this; - - connect(Core::ICore::instance(), SIGNAL(coreOpened()), - Manager::instance(), SLOT(registerMimeTypes())); } TextEditorPlugin::~TextEditorPlugin() @@ -145,6 +142,10 @@ bool TextEditorPlugin::initialize(const QStringList &arguments, QString *errorMe quickFixCommand->setDefaultKeySequence(QKeySequence(tr("Alt+Return"))); connect(quickFixShortcut, SIGNAL(activated()), this, SLOT(invokeQuickFix())); + // Generic highlighter. + connect(Core::ICore::instance(), SIGNAL(coreOpened()), + Manager::instance(), SLOT(registerMimeTypes())); + return true; } diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp index 26a829eba800653267bc5b6109994e2432d7d270..d594d0c52425d565b7c332de6b841d17f1f1b229 100644 --- a/src/plugins/texteditor/texteditorsettings.cpp +++ b/src/plugins/texteditor/texteditorsettings.cpp @@ -40,6 +40,7 @@ #include "storagesettings.h" #include "tabsettings.h" #include "texteditorplugin.h" +#include "highlightersettingspage.h" #include <extensionsystem/pluginmanager.h> #include <coreplugin/icore.h> @@ -60,6 +61,7 @@ public: FontSettingsPage *m_fontSettingsPage; BehaviorSettingsPage *m_behaviorSettingsPage; DisplaySettingsPage *m_displaySettingsPage; + HighlighterSettingsPage *m_highlighterSettingsPage; CompletionSettings m_completionSettings; @@ -160,6 +162,10 @@ TextEditorSettings::TextEditorSettings(QObject *parent) m_d->m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this); pm->addObject(m_d->m_displaySettingsPage); + m_d->m_highlighterSettingsPage = + new HighlighterSettingsPage(QLatin1String("E.HighlighterSettings"), this); + pm->addObject(m_d->m_highlighterSettingsPage); + connect(m_d->m_fontSettingsPage, SIGNAL(changed(TextEditor::FontSettings)), this, SIGNAL(fontSettingsChanged(TextEditor::FontSettings))); connect(m_d->m_behaviorSettingsPage, SIGNAL(tabSettingsChanged(TextEditor::TabSettings)), @@ -182,6 +188,7 @@ TextEditorSettings::~TextEditorSettings() pm->removeObject(m_d->m_fontSettingsPage); pm->removeObject(m_d->m_behaviorSettingsPage); pm->removeObject(m_d->m_displaySettingsPage); + pm->removeObject(m_d->m_highlighterSettingsPage); delete m_d; @@ -258,6 +265,11 @@ const CompletionSettings &TextEditorSettings::completionSettings() const return m_d->m_completionSettings; } +const HighlighterSettings &TextEditorSettings::highlighterSettings() const +{ + return m_d->m_highlighterSettingsPage->highlighterSettings(); +} + void TextEditorSettings::setCompletionSettings(const TextEditor::CompletionSettings &settings) { if (m_d->m_completionSettings == settings) diff --git a/src/plugins/texteditor/texteditorsettings.h b/src/plugins/texteditor/texteditorsettings.h index ff6c9b958628e4aa51cb653191ea7b0d7e73dc07..032a4b535623fd623bb848fdb59300b76cb6a20e 100644 --- a/src/plugins/texteditor/texteditorsettings.h +++ b/src/plugins/texteditor/texteditorsettings.h @@ -37,15 +37,13 @@ namespace TextEditor { class BaseTextEditor; -class BehaviorSettingsPage; -class DisplaySettingsPage; -class FontSettingsPage; class FontSettings; struct TabSettings; struct StorageSettings; struct BehaviorSettings; struct DisplaySettings; struct CompletionSettings; +struct HighlighterSettings; namespace Internal { class TextEditorSettingsPrivate; @@ -74,6 +72,7 @@ public: const BehaviorSettings &behaviorSettings() const; const DisplaySettings &displaySettings() const; const CompletionSettings &completionSettings() const; + const HighlighterSettings &highlighterSettings() const; void setCompletionSettings(const TextEditor::CompletionSettings &);