mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-11-14 13:19:27 +00:00
* Update buildroot-patches for 2020.11-rc1 buildroot * Update buildroot to 2020.11-rc1 Signed-off-by: Stefan Agner <stefan@agner.ch> * Don't rely on sfdisk --list-free output The --list-free (-F) argument does not allow machine readable mode. And it seems that the output format changes over time (different spacing, using size postfixes instead of raw blocks). Use sfdisk json output and calculate free partition space ourselfs. This works for 2.35 and 2.36 and is more robust since we rely on output which is meant for scripts to parse. * Migrate defconfigs for Buildroot 2020.11-rc1 In particular, rename BR2_TARGET_UBOOT_BOOT_SCRIPT(_SOURCE) to BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT(_SOURCE). * Rebase/remove systemd patches for systemd 246 * Drop apparmor/libapparmor from buildroot-external * hassos-persists: use /run as directory for lockfiles The U-Boot tools use /var/lock by default which is not created any more by systemd by default (it is under tmpfiles legacy.conf, which we no longer install). * Disable systemd-update-done.service The service is not suited for pure read-only systems. In particular the service needs to be able to write a file in /etc and /var. Remove the service. Note: This is a static service and cannot be removed using systemd-preset. * Disable apparmor.service for now The service loads all default profiles. Some might actually cause problems. E.g. the profile for ping seems not to match our setup for /etc/resolv.conf: [85503.634653] audit: type=1400 audit(1605286002.684:236): apparmor="DENIED" operation="open" profile="ping" name="/run/resolv.conf" pid=27585 comm="ping" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
134 lines
4.6 KiB
Diff
134 lines
4.6 KiB
Diff
From caacc9bc622238ca48674ea6f40d07466e4b97a5 Mon Sep 17 00:00:00 2001
|
|
From: Valentin Ochs <a@0au.de>
|
|
Date: Sat, 20 Jun 2020 16:01:27 +0200
|
|
Subject: [PATCH] Replace obsolete/deprecated Qt methods
|
|
|
|
[Thomas: Backport from upstream commit
|
|
ae726b70a7ada9a4be5808e00f0c951318479684, one conflict manually
|
|
resolved in pv/util.cpp.]
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
---
|
|
pv/util.cpp | 21 +++++++++++++++++++--
|
|
pv/util.hpp | 10 ++++++++++
|
|
pv/views/trace/decodetrace.cpp | 3 ++-
|
|
pv/views/trace/ruler.cpp | 2 +-
|
|
pv/widgets/timestampspinbox.cpp | 2 +-
|
|
5 files changed, 33 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/pv/util.cpp b/pv/util.cpp
|
|
index 49b9467c..2a63038d 100644
|
|
--- a/pv/util.cpp
|
|
+++ b/pv/util.cpp
|
|
@@ -137,7 +137,7 @@ QString format_time_si(const Timestamp& v, SIPrefix prefix,
|
|
QString s;
|
|
QTextStream ts(&s);
|
|
if (sign && !v.is_zero())
|
|
- ts << forcesign;
|
|
+ ts.setNumberFlags(ts.numberFlags() | QTextStream::ForceSign);
|
|
ts << qSetRealNumberPrecision(precision) << (v * multiplier) << ' '
|
|
<< prefix << unit;
|
|
|
|
@@ -171,7 +171,7 @@ QString format_value_si(double v, SIPrefix prefix, unsigned precision,
|
|
QString s;
|
|
QTextStream ts(&s);
|
|
if (sign && (v != 0))
|
|
- ts << forcesign;
|
|
+ ts.setNumberFlags(ts.numberFlags() | QTextStream::ForceSign);
|
|
ts.setRealNumberNotation(QTextStream::FixedNotation);
|
|
ts.setRealNumberPrecision(precision);
|
|
ts << (v * multiplier) << ' ' << prefix << unit;
|
|
@@ -281,5 +281,22 @@ vector<string> split_string(string text, string separator)
|
|
return result;
|
|
}
|
|
|
|
+/**
|
|
+ * Return the width of a string in a given font.
|
|
+ *
|
|
+ * @param[in] metric metrics of the font
|
|
+ * @param[in] string the string whose width should be determined
|
|
+ *
|
|
+ * @return width of the string in pixels
|
|
+ */
|
|
+std::streamsize text_width(const QFontMetrics &metric, const QString &string)
|
|
+{
|
|
+#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
|
|
+ return metric.horizontalAdvance(string);
|
|
+#else
|
|
+ return metric.width(string);
|
|
+#endif
|
|
+}
|
|
+
|
|
} // namespace util
|
|
} // namespace pv
|
|
diff --git a/pv/util.hpp b/pv/util.hpp
|
|
index dd7be222..ad904f85 100644
|
|
--- a/pv/util.hpp
|
|
+++ b/pv/util.hpp
|
|
@@ -30,6 +30,7 @@
|
|
|
|
#include <QMetaType>
|
|
#include <QString>
|
|
+#include <QFontMetrics>
|
|
|
|
using std::string;
|
|
using std::vector;
|
|
@@ -137,6 +138,15 @@ QString format_time_minutes(const Timestamp& t, signed precision = 0,
|
|
|
|
vector<string> split_string(string text, string separator);
|
|
|
|
+/**
|
|
+ * Return the width of a string in a given font.
|
|
+ * @param[in] metric metrics of the font
|
|
+ * @param[in] string the string whose width should be determined
|
|
+ *
|
|
+ * @return width of the string in pixels
|
|
+ */
|
|
+std::streamsize text_width(const QFontMetrics &metric, const QString &string);
|
|
+
|
|
} // namespace util
|
|
} // namespace pv
|
|
|
|
diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp
|
|
index 9c7196bf..1ee7ae9f 100644
|
|
--- a/pv/views/trace/decodetrace.cpp
|
|
+++ b/pv/views/trace/decodetrace.cpp
|
|
@@ -103,7 +103,8 @@ DecodeTrace::DecodeTrace(pv::Session &session,
|
|
|
|
// Determine shortest string we want to see displayed in full
|
|
QFontMetrics m(QApplication::font());
|
|
- min_useful_label_width_ = m.width("XX"); // e.g. two hex characters
|
|
+ // e.g. two hex characters
|
|
+ min_useful_label_width_ = util::text_width(m, "XX");
|
|
|
|
// For the base color, we want to start at a very different color for
|
|
// every decoder stack, so multiply the index with a number that is
|
|
diff --git a/pv/views/trace/ruler.cpp b/pv/views/trace/ruler.cpp
|
|
index acea8a36..68134966 100644
|
|
--- a/pv/views/trace/ruler.cpp
|
|
+++ b/pv/views/trace/ruler.cpp
|
|
@@ -218,7 +218,7 @@ void Ruler::paintEvent(QPaintEvent*)
|
|
const int rightedge = width();
|
|
const int x_tick = tick.first;
|
|
if ((x_tick > leftedge) && (x_tick < rightedge)) {
|
|
- const int x_left_bound = QFontMetrics(font()).width(tick.second) / 2;
|
|
+ const int x_left_bound = util::text_width(QFontMetrics(font()), tick.second) / 2;
|
|
const int x_right_bound = rightedge - x_left_bound;
|
|
const int x_legend = min(max(x_tick, x_left_bound), x_right_bound);
|
|
p.drawText(x_legend, ValueMargin, 0, text_height,
|
|
diff --git a/pv/widgets/timestampspinbox.cpp b/pv/widgets/timestampspinbox.cpp
|
|
index 21b3d0d7..383aed1f 100644
|
|
--- a/pv/widgets/timestampspinbox.cpp
|
|
+++ b/pv/widgets/timestampspinbox.cpp
|
|
@@ -75,7 +75,7 @@ QSize TimestampSpinBox::minimumSizeHint() const
|
|
{
|
|
const QFontMetrics fm(fontMetrics());
|
|
const int l = round(value_).str().size() + precision_ + 10;
|
|
- const int w = fm.width(QString(l, '0'));
|
|
+ const int w = util::text_width(fm, QString(l, '0'));
|
|
const int h = lineEdit()->minimumSizeHint().height();
|
|
return QSize(w, h);
|
|
}
|
|
--
|
|
2.26.2
|
|
|