forked from qt-creator/qt-creator
QmlDesigner: Fix for rotation cursor
- Added new icons to icon font - Uses new drawing method for rotation cursor Task: QDS-3131 Change-Id: Ifa8dda2630794694dd262396ca314a9b4e6675ad Reviewed-by: Brook Cronin <brook.cronin@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -107,34 +107,35 @@ QtObject {
|
|||||||
readonly property string pin: "\u0064"
|
readonly property string pin: "\u0064"
|
||||||
readonly property string plus: "\u0065"
|
readonly property string plus: "\u0065"
|
||||||
readonly property string redo: "\u0066"
|
readonly property string redo: "\u0066"
|
||||||
readonly property string rotation: "\u0067"
|
readonly property string rotationFill: "\u0067"
|
||||||
readonly property string search: "\u0068"
|
readonly property string rotationOutline: "\u0068"
|
||||||
readonly property string splitColumns: "\u0069"
|
readonly property string search: "\u0069"
|
||||||
readonly property string splitRows: "\u006A"
|
readonly property string splitColumns: "\u006A"
|
||||||
readonly property string startNode: "\u006B"
|
readonly property string splitRows: "\u006B"
|
||||||
readonly property string testIcon: "\u006C"
|
readonly property string startNode: "\u006C"
|
||||||
readonly property string textAlignBottom: "\u006D"
|
readonly property string testIcon: "\u006D"
|
||||||
readonly property string textAlignCenter: "\u006E"
|
readonly property string textAlignBottom: "\u006E"
|
||||||
readonly property string textAlignLeft: "\u006F"
|
readonly property string textAlignCenter: "\u006F"
|
||||||
readonly property string textAlignMiddle: "\u0070"
|
readonly property string textAlignLeft: "\u0070"
|
||||||
readonly property string textAlignRight: "\u0071"
|
readonly property string textAlignMiddle: "\u0071"
|
||||||
readonly property string textAlignTop: "\u0072"
|
readonly property string textAlignRight: "\u0072"
|
||||||
readonly property string textBulletList: "\u0073"
|
readonly property string textAlignTop: "\u0073"
|
||||||
readonly property string textFullJustification: "\u0074"
|
readonly property string textBulletList: "\u0074"
|
||||||
readonly property string textNumberedList: "\u0075"
|
readonly property string textFullJustification: "\u0075"
|
||||||
readonly property string tickIcon: "\u0076"
|
readonly property string textNumberedList: "\u0076"
|
||||||
readonly property string triState: "\u0077"
|
readonly property string tickIcon: "\u0077"
|
||||||
readonly property string undo: "\u0078"
|
readonly property string triState: "\u0078"
|
||||||
readonly property string unpin: "\u0079"
|
readonly property string undo: "\u0079"
|
||||||
readonly property string upDownIcon: "\u007A"
|
readonly property string unpin: "\u007A"
|
||||||
readonly property string upDownSquare2: "\u007B"
|
readonly property string upDownIcon: "\u007B"
|
||||||
readonly property string visibilityOff: "\u007C"
|
readonly property string upDownSquare2: "\u007C"
|
||||||
readonly property string visibilityOn: "\u007D"
|
readonly property string visibilityOff: "\u007D"
|
||||||
readonly property string wildcard: "\u007E"
|
readonly property string visibilityOn: "\u007E"
|
||||||
readonly property string zoomAll: "\u007F"
|
readonly property string wildcard: "\u007F"
|
||||||
readonly property string zoomIn: "\u0080"
|
readonly property string zoomAll: "\u0080"
|
||||||
readonly property string zoomOut: "\u0081"
|
readonly property string zoomIn: "\u0081"
|
||||||
readonly property string zoomSelection: "\u0082"
|
readonly property string zoomOut: "\u0082"
|
||||||
|
readonly property string zoomSelection: "\u0083"
|
||||||
|
|
||||||
readonly property font iconFont: Qt.font({
|
readonly property font iconFont: Qt.font({
|
||||||
"family": controlIcons.name,
|
"family": controlIcons.name,
|
||||||
|
Binary file not shown.
@@ -623,6 +623,58 @@ QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QString &i
|
|||||||
return getIconFromIconFont(fontName, iconSymbol, fontSize, iconSize, penColor);
|
return getIconFromIconFont(fontName, iconSymbol, fontSize, iconSize, penColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QIcon StyleHelper::getCursorFromIconFont(const QString &fontName, const QString &cursorFill, const QString &cursorOutline,
|
||||||
|
int fontSize, int iconSize)
|
||||||
|
{
|
||||||
|
QFontDatabase a;
|
||||||
|
|
||||||
|
QTC_ASSERT(a.hasFamily(fontName), {});
|
||||||
|
|
||||||
|
const QColor outlineColor = Qt::black;
|
||||||
|
const QColor fillColor = Qt::white;
|
||||||
|
|
||||||
|
if (a.hasFamily(fontName)) {
|
||||||
|
|
||||||
|
QIcon icon;
|
||||||
|
QSize size(iconSize, iconSize);
|
||||||
|
|
||||||
|
const int maxDpr = qRound(qApp->devicePixelRatio());
|
||||||
|
for (int dpr = 1; dpr <= maxDpr; dpr++) {
|
||||||
|
QPixmap pixmap(size * dpr);
|
||||||
|
pixmap.setDevicePixelRatio(dpr);
|
||||||
|
pixmap.fill(Qt::transparent);
|
||||||
|
|
||||||
|
QFont font(fontName);
|
||||||
|
font.setPixelSize(fontSize);
|
||||||
|
|
||||||
|
QPainter painter(&pixmap);
|
||||||
|
painter.save();
|
||||||
|
painter.setRenderHint(QPainter::Antialiasing, true);
|
||||||
|
painter.setRenderHint(QPainter::TextAntialiasing, true);
|
||||||
|
painter.setRenderHint(QPainter::LosslessImageRendering, true);
|
||||||
|
painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
|
||||||
|
|
||||||
|
painter.setFont(font);
|
||||||
|
painter.setPen(outlineColor);
|
||||||
|
painter.drawText(QRectF(QPointF(0.0, 0.0), size),
|
||||||
|
Qt::AlignCenter, cursorOutline);
|
||||||
|
|
||||||
|
painter.setPen(fillColor);
|
||||||
|
painter.drawText(QRectF(QPointF(0.0, 0.0), size),
|
||||||
|
Qt::AlignCenter, cursorFill);
|
||||||
|
|
||||||
|
painter.restore();
|
||||||
|
|
||||||
|
icon.addPixmap(pixmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QString StyleHelper::dpiSpecificImageFile(const QString &fileName)
|
QString StyleHelper::dpiSpecificImageFile(const QString &fileName)
|
||||||
{
|
{
|
||||||
// See QIcon::addFile()
|
// See QIcon::addFile()
|
||||||
|
@@ -125,6 +125,8 @@ public:
|
|||||||
static QIcon getIconFromIconFont(const QString &fontName, const QList<IconFontHelper> ¶meters);
|
static QIcon getIconFromIconFont(const QString &fontName, const QList<IconFontHelper> ¶meters);
|
||||||
static QIcon getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize, QColor color);
|
static QIcon getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize, QColor color);
|
||||||
static QIcon getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize);
|
static QIcon getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize);
|
||||||
|
static QIcon getCursorFromIconFont(const QString &fontname, const QString &cursorFill, const QString &cursorOutline,
|
||||||
|
int fontSize, int iconSize);
|
||||||
|
|
||||||
static QString dpiSpecificImageFile(const QString &fileName);
|
static QString dpiSpecificImageFile(const QString &fileName);
|
||||||
static QString imageFileWithResolution(const QString &fileName, int dpr);
|
static QString imageFileWithResolution(const QString &fileName, int dpr);
|
||||||
|
@@ -116,7 +116,8 @@ public:
|
|||||||
pin,
|
pin,
|
||||||
plus,
|
plus,
|
||||||
redo,
|
redo,
|
||||||
rotation,
|
rotationFill,
|
||||||
|
rotationOutline,
|
||||||
search,
|
search,
|
||||||
splitColumns,
|
splitColumns,
|
||||||
splitRows,
|
splitRows,
|
||||||
|
@@ -203,11 +203,11 @@ QCursor RotationController::getRotationCursor() const
|
|||||||
const QString fontName = "qtds_propertyIconFont.ttf";
|
const QString fontName = "qtds_propertyIconFont.ttf";
|
||||||
const int cursorSize = 32; //32 is cursor recommended size
|
const int cursorSize = 32; //32 is cursor recommended size
|
||||||
|
|
||||||
QIcon rotationIcon = Utils::StyleHelper::getIconFromIconFont(
|
QIcon rotationIcon = Utils::StyleHelper::getCursorFromIconFont(
|
||||||
fontName,
|
fontName,
|
||||||
Theme::getIconUnicode(Theme::rotation),
|
Theme::getIconUnicode(Theme::rotationFill),
|
||||||
cursorSize, cursorSize,
|
Theme::getIconUnicode(Theme::rotationOutline),
|
||||||
Qt::white);
|
cursorSize, cursorSize);
|
||||||
|
|
||||||
return QCursor(rotationIcon.pixmap(cursorSize, cursorSize));
|
return QCursor(rotationIcon.pixmap(cursorSize, cursorSize));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user