diff options
Diffstat (limited to 'src/designer/src/components/propertyeditor/fontpropertymanager.h')
-rw-r--r-- | src/designer/src/components/propertyeditor/fontpropertymanager.h | 52 |
1 files changed, 20 insertions, 32 deletions
diff --git a/src/designer/src/components/propertyeditor/fontpropertymanager.h b/src/designer/src/components/propertyeditor/fontpropertymanager.h index 1041cd357..3e628dbf2 100644 --- a/src/designer/src/components/propertyeditor/fontpropertymanager.h +++ b/src/designer/src/components/propertyeditor/fontpropertymanager.h @@ -1,34 +1,10 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Designer of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #ifndef FONTPROPERTYMANAGER_H #define FONTPROPERTYMANAGER_H +#include <QtCore/qhash.h> #include <QtCore/qmap.h> #include <QtCore/qstringlist.h> #include <QtGui/qfont.h> @@ -55,7 +31,7 @@ class FontPropertyManager { public: FontPropertyManager(); - using ResetMap = QMap<QtProperty *, bool>; + using ResetMap = QHash<const QtProperty *, bool>; using NameMap = QMap<QString, QString>; // Call before QtVariantPropertyManager::initializeProperty. @@ -80,24 +56,36 @@ public: static bool readFamilyMapping(NameMap *rc, QString *errorMessage); private: - using PropertyToPropertyMap = QMap<QtProperty *, QtProperty *>; + using PropertyToPropertyMap = QHash<QtProperty *, QtProperty *>; using PropertyList = QList<QtProperty *>; - using PropertyToSubPropertiesMap = QMap<QtProperty *, PropertyList>; void removeAntialiasingProperty(QtProperty *); + void removeHintingPreferenceProperty(QtProperty *); + int antialiasingValueChanged(QtVariantPropertyManager *vm, + QtProperty *antialiasingProperty, const QVariant &value); + int hintingPreferenceValueChanged(QtVariantPropertyManager *vm, + QtProperty *hintingPreferenceProperty, + const QVariant &value); void updateModifiedState(QtProperty *property, const QVariant &value); static int antialiasingToIndex(QFont::StyleStrategy antialias); static QFont::StyleStrategy indexToAntialiasing(int idx); + static int hintingPreferenceToIndex(QFont::HintingPreference h); + static QFont::HintingPreference indexToHintingPreference(int idx); + static unsigned fontFlag(int idx); PropertyToPropertyMap m_propertyToAntialiasing; PropertyToPropertyMap m_antialiasingToProperty; + PropertyToPropertyMap m_propertyToHintingPreference; + PropertyToPropertyMap m_hintingPreferenceToProperty; + - PropertyToSubPropertiesMap m_propertyToFontSubProperties; - QMap<QtProperty *, int> m_fontSubPropertyToFlag; + QHash<QtProperty *, PropertyList> m_propertyToFontSubProperties; + QHash<QtProperty *, int> m_fontSubPropertyToFlag; PropertyToPropertyMap m_fontSubPropertyToProperty; QtProperty *m_createdFontProperty = nullptr; QStringList m_aliasingEnumNames; + QStringList m_hintingPreferenceEnumNames; // Font families with Designer annotations QStringList m_designerFamilyNames; NameMap m_familyMappings; |