#ifndef CPPCODESTYLESETTINGSPAGE_H #define CPPCODESTYLESETTINGSPAGE_H #include "cpptools_global.h" #include #include #include #include #include #include #include "cppcodestylesettings.h" #include "cppcodeformatter.h" QT_BEGIN_NAMESPACE namespace Ui { class CppCodeStyleSettingsPage; } QT_END_NAMESPACE namespace TextEditor { class FontSettings; class TabSettings; class TabPreferences; class IFallbackPreferences; class SnippetEditorWidget; } namespace CppTools { class CppCodeStylePreferences; namespace Internal { class CppCodeStylePreferencesWidget : public QWidget { Q_OBJECT public: explicit CppCodeStylePreferencesWidget(QWidget *parent = 0); virtual ~CppCodeStylePreferencesWidget(); void setTabPreferences(TextEditor::TabPreferences *tabPreferences); void setCppCodeStylePreferences(CppTools::CppCodeStylePreferences *codeStylePreferences); QString searchKeywords() const; private slots: void setFontSettings(const TextEditor::FontSettings &fontSettings); void setVisualizeWhitespace(bool on); void slotCppCodeStyleSettingsChanged(); void slotSettingsChanged(); void updatePreview(); void setCppCodeStyleSettings(const CppTools::CppCodeStyleSettings &settings); void slotCurrentFallbackChanged(TextEditor::IFallbackPreferences *); signals: void cppCodeStyleSettingsChanged(const CppTools::CppCodeStyleSettings &); private: CppCodeStyleSettings cppCodeStyleSettings() const; TextEditor::TabPreferences *m_tabPreferences; CppCodeStylePreferences *m_cppCodeStylePreferences; Ui::CppCodeStyleSettingsPage *m_ui; QList m_previews; }; class CppCodeStyleSettingsPage : public Core::IOptionsPage { Q_OBJECT public: explicit CppCodeStyleSettingsPage(QWidget *parent = 0); ~CppCodeStyleSettingsPage(); virtual QString id() const; virtual QString displayName() const; virtual QString category() const; virtual QString displayCategory() const; virtual QIcon categoryIcon() const; virtual QWidget *createPage(QWidget *parent); virtual void apply(); virtual void finish() { } virtual bool matches(const QString &) const; private: QString m_searchKeywords; TextEditor::TabPreferences *m_pageTabPreferences; CppCodeStylePreferences *m_pageCppCodeStylePreferences; QPointer m_widget; }; } // namespace Internal } // namespace CppTools #endif // CPPCODESTYLESETTINGSPAGE_H