Conditional (based on Qt version) use of 'horizontalAdvance' to provide better UI...
authorDominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
Sun, 8 Sep 2019 17:37:56 +0000 (19:37 +0200)
committerDominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
Sun, 8 Sep 2019 17:37:56 +0000 (19:37 +0200)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
src/gui/activityitemdelegate.cpp
src/gui/wizard/slideshow.cpp

index 84b207f64ae44da563605319240c97bc75d448b9..1d49af7d7e5e634c797712f9c779039e7078c970 100644 (file)
@@ -26,6 +26,8 @@
 #include <QPainter>
 #include <QApplication>
 
+#define HASQT5_11 (QT_VERSION >= QT_VERSION_CHECK(5,11,0))
+
 namespace OCC {
 
 int ActivityItemDelegate::_iconHeight = 0;
@@ -106,7 +108,11 @@ void ActivityItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
 
     // subject text rect
     QRect actionTextBox = actionIconRect;
+#if (HASQT5_11)
     int actionTextBoxWidth = fm.horizontalAdvance(actionText);
+#else
+    int actionTextBoxWidth = fm.width(actionText);
+#endif
     actionTextBox.setTop(option.rect.top() + margin + offset/2);
     actionTextBox.setHeight(fm.height());
     actionTextBox.setLeft(actionIconRect.right() + margin);
@@ -114,7 +120,11 @@ void ActivityItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
 
     // message text rect
     QRect messageTextBox = actionTextBox;
+#if (HASQT5_11)
     int messageTextWidth = fm.horizontalAdvance(messageText);
+#else
+    int messageTextWidth = fm.width(messageText);
+#endif
     int messageTextTop = option.rect.top() + fm.height() + margin;
     if(actionText.isEmpty()) messageTextTop = option.rect.top() + margin + offset/2;
     messageTextBox.setTop(messageTextTop);
@@ -129,7 +139,11 @@ void ActivityItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
     // time box rect
     QRect timeBox = messageTextBox;
     QString timeStr = tr("%1").arg(timeText);
+#if (HASQT5_11)
     int timeTextWidth = fm.horizontalAdvance(timeStr);
+#else
+    int timeTextWidth = fm.width(timeStr);
+#endif
     int timeTop = option.rect.top() + fm.height() + fm.height() + margin + offset/2;
     if(messageText.isEmpty() || actionText.isEmpty())
         timeTop = option.rect.top() + fm.height() + margin;
@@ -180,7 +194,11 @@ void ActivityItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
         if(objectType == _remote_share) primaryButton.text = tr("Accept");
         if(objectType == _call) primaryButton.text = tr("Join");
 
+#if (HASQT5_11)
         primaryButton.rect.setLeft(left - margin * 2 - fm.horizontalAdvance(primaryButton.text));
+#else
+        primaryButton.rect.setLeft(left - margin * 2 - fm.width(primaryButton.text));
+#endif
 
         // save info to be able to filter mouse clicks
         _buttonHeight = buttonSize;
@@ -196,7 +214,12 @@ void ActivityItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
 
         // Primary button will be 'open browser'
         primaryButton.text = tr("Open Browser");
+
+#if (HASQT5_11)
         primaryButton.rect.setLeft(left - margin * 2 - fm.horizontalAdvance(primaryButton.text));
+#else
+        primaryButton.rect.setLeft(left - margin * 2 - fm.width(primaryButton.text));
+#endif
 
         // save info to be able to filter mouse clicks
         _buttonHeight = buttonSize;
index e4c3b5f9b1deb2b3c66e94cab32244dead84e1b8..7d9f3f38bfdb867fc002a3c76cee61c974e54429 100644 (file)
@@ -19,6 +19,8 @@
 #include <QStyle>
 #include <QStyleHints>
 
+#define HASQT5_11 (QT_VERSION >= QT_VERSION_CHECK(5,11,0))
+
 namespace OCC {
 
 static const int Spacing = 6;
@@ -88,7 +90,11 @@ QSize SlideShow::sizeHint() const
     QFontMetrics fm = fontMetrics();
     QSize labelSize(0, fm.height());
     for (const QString &label : _labels) {
+#if (HASQT5_11)
         labelSize.setWidth(std::max(fm.horizontalAdvance(label), labelSize.width()));
+#else
+        labelSize.setWidth(std::max(fm.width(label), labelSize.width()));
+#endif
     }
     QSize pixmapSize;
     for (const QPixmap &pixmap : _pixmaps) {