1 /**************************************************************************
3 ** This file is part of Qt Creator
5 ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
7 ** Contact: Nokia Corporation (qt-info@nokia.com)
11 ** This file contains pre-release code and may not be distributed.
12 ** You may use this file in accordance with the terms and conditions
13 ** contained in the Technology Preview License Agreement accompanying
16 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
25 ** In addition, as a special exception, Nokia gives you certain additional
26 ** rights. These rights are described in the Nokia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
29 ** If you have questions regarding the use of this file, please contact
30 ** Nokia at qt-info@nokia.com.
32 **************************************************************************/
34 #ifndef FONTSETTINGSPAGE_H
35 #define FONTSETTINGSPAGE_H
37 #include "texteditor_global.h"
39 #include "fontsettings.h"
41 #include "texteditoroptionspage.h"
43 #include <QtCore/QList>
44 #include <QtCore/QString>
51 namespace TextEditor {
54 class FontSettingsPagePrivate;
55 } // namespace Internal
57 // GUI description of a format consisting of id (settings key)
58 // and displayName to be displayed
59 class TEXTEDITOR_EXPORT FormatDescription
62 FormatDescription(const QString &id, const QString &displayName,
63 const QColor &foreground = Qt::black);
68 QString displayName() const
69 { return m_displayName; }
71 QColor foreground() const;
72 QColor background() const;
74 const Format &format() const { return m_format; }
75 Format &format() { return m_format; }
78 QString m_id; // Name of the category
79 QString m_displayName; // Displayed name of the category
80 Format m_format; // Default format
83 typedef QList<FormatDescription> FormatDescriptions;
85 class TEXTEDITOR_EXPORT FontSettingsPage : public TextEditorOptionsPage
90 FontSettingsPage(const FormatDescriptions &fd,
97 QString displayName() const;
99 QWidget *createPage(QWidget *parent);
102 virtual bool matches(const QString &) const;
106 const FontSettings &fontSettings() const;
109 void changed(const TextEditor::FontSettings&);
112 void delayedChange();
113 void fontFamilySelected(const QString &family);
114 void fontSizeSelected(const QString &sizeString);
115 void fontZoomChanged();
116 void colorSchemeSelected(int index);
117 void copyColorScheme();
118 void copyColorScheme(const QString &name);
119 void confirmDeleteColorScheme();
120 void deleteColorScheme();
123 void maybeSaveColorScheme();
124 void updatePointSizes();
125 QList<int> pointSizesForSelectedFont() const;
126 void refreshColorSchemeList();
128 Internal::FontSettingsPagePrivate *d_ptr;
131 } // namespace TextEditor
133 #endif // FONTSETTINGSPAGE_H