Browse Source

patchcanvas: Fix ports text width calculation

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.2.0-RC1
falkTX 5 years ago
parent
commit
a1141bfea9
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 12 additions and 4 deletions
  1. +12
    -4
      source/frontend/patchcanvas/canvasbox.py

+ 12
- 4
source/frontend/patchcanvas/canvasbox.py View File

@@ -22,10 +22,18 @@
from sip import voidptr
from struct import pack

from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, Qt, QPointF, QRectF, QTimer
from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, QT_VERSION, Qt, QPointF, QRectF, QTimer
from PyQt5.QtGui import QCursor, QFont, QFontMetrics, QImage, QLinearGradient, QPainter, QPen
from PyQt5.QtWidgets import QGraphicsItem, QGraphicsObject, QMenu

# ------------------------------------------------------------------------------------------------------------
# Backwards-compatible horizontalAdvance/width call, depending on Qt version

def fontHorizontalAdvance(font, string):
if QT_VERSION >= 0x51100:
return QFontMetrics(font).horizontalAdvance(string)
return QFontMetrics(font).width(string)

# ------------------------------------------------------------------------------------------------------------
# Imports (Custom)

@@ -317,7 +325,7 @@ class CanvasBox(QGraphicsObject):
self.prepareGeometryChange()

# Check Text Name size
app_name_size = QFontMetrics(self.m_font_name).width(self.m_group_name) + 30
app_name_size = fontHorizontalAdvance(self.m_font_name, self.m_group_name) + 30
self.p_width = max(50, app_name_size)

# Get Port List
@@ -344,7 +352,7 @@ class CanvasBox(QGraphicsObject):
if port.port_type != port_type:
continue

size = QFontMetrics(self.m_font_port).width(port.port_name)
size = fontHorizontalAdvance(self.m_font_port, port.port_name)

if port.port_mode == PORT_MODE_INPUT:
max_in_width = max(max_in_width, size)
@@ -726,7 +734,7 @@ class CanvasBox(QGraphicsObject):
if canvas.theme.box_use_icon:
textPos = QPointF(25, canvas.theme.box_text_ypos)
else:
appNameSize = QFontMetrics(self.m_font_name).width(self.m_group_name)
appNameSize = fontHorizontalAdvance(self.m_font_name, self.m_group_name)
rem = self.p_width - appNameSize
textPos = QPointF(rem/2, canvas.theme.box_text_ypos)



Loading…
Cancel
Save