[Libreoffice-commits] core.git: vcl/inc vcl/qt5 vcl/unx
Jan-Marek Glogowski (via logerrit)
logerrit at kemper.freedesktop.org
Wed Apr 14 12:36:15 UTC 2021
vcl/inc/qt5/Qt5Instance.hxx | 2 ++
vcl/qt5/Qt5Instance.cxx | 16 ++++++++++++----
vcl/unx/kf5/KF5SalInstance.cxx | 2 +-
3 files changed, 15 insertions(+), 5 deletions(-)
New commits:
commit dbdc0475097210ec88f1e867b4464fdcd17a5d37
Author: Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Sun Apr 11 14:05:59 2021 +0200
Commit: Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Wed Apr 14 14:35:38 2021 +0200
Qt add additional info to ToolkitName
Adds the used font backend and the QPA platform name, so we don't
need to ask / verify all time (and less chance of wrong info).
Examples:
- qt5 (qfont+xcb) => QFont text rendering + X11 backend
- kf5 (cairo+wayland) => Cairo text rendering + Wayland backend
Change-Id: I1102dd6d83b0ed48318ac5c31c8ca09d4fdd73eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113945
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx
index 5dc2db898d29..111e86f0878a 100644
--- a/vcl/inc/qt5/Qt5Instance.hxx
+++ b/vcl/inc/qt5/Qt5Instance.hxx
@@ -84,6 +84,8 @@ protected:
createPicker(css::uno::Reference<css::uno::XComponentContext> const& context,
QFileDialog::FileMode);
bool useCairo() const { return m_bUseCairo; }
+ // encodes cairo usage and Qt platform name into the ToolkitName
+ OUString constructToolkitID(std::u16string_view sTKname);
public:
explicit Qt5Instance(std::unique_ptr<QApplication>& pQApp, bool bUseCairo = false);
diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx
index 5afbd8722418..3ea129b8aeea 100644
--- a/vcl/qt5/Qt5Instance.cxx
+++ b/vcl/qt5/Qt5Instance.cxx
@@ -196,6 +196,17 @@ void Qt5Instance::RunInMainThread(std::function<void()> func)
}
}
+OUString Qt5Instance::constructToolkitID(std::u16string_view sTKname)
+{
+ OUString sID(sTKname + OUStringLiteral(u" ("));
+ if (m_bUseCairo)
+ sID += OUStringLiteral(u"cairo+");
+ else
+ sID += OUStringLiteral(u"qfont+");
+ sID += toOUString(QGuiApplication::platformName()) + OUStringLiteral(u")");
+ return sID;
+}
+
Qt5Instance::Qt5Instance(std::unique_ptr<QApplication>& pQApp, bool bUseCairo)
: SalGenericInstance(std::make_unique<Qt5YieldMutex>())
, m_bUseCairo(bUseCairo)
@@ -206,10 +217,7 @@ Qt5Instance::Qt5Instance(std::unique_ptr<QApplication>& pQApp, bool bUseCairo)
, m_bUpdateFonts(false)
{
ImplSVData* pSVData = ImplGetSVData();
- if (bUseCairo)
- pSVData->maAppData.mxToolkitName = OUString("qt5+cairo");
- else
- pSVData->maAppData.mxToolkitName = OUString("qt5");
+ pSVData->maAppData.mxToolkitName = constructToolkitID(u"qt5");
// this one needs to be blocking, so that the handling in main thread
// is processed before the thread emitting the signal continues
diff --git a/vcl/unx/kf5/KF5SalInstance.cxx b/vcl/unx/kf5/KF5SalInstance.cxx
index 1335d4123a2e..608b5dccc4dc 100644
--- a/vcl/unx/kf5/KF5SalInstance.cxx
+++ b/vcl/unx/kf5/KF5SalInstance.cxx
@@ -37,7 +37,7 @@ KF5SalInstance::KF5SalInstance(std::unique_ptr<QApplication>& pQApp, bool bUseCa
: Qt5Instance(pQApp, bUseCairo)
{
ImplSVData* pSVData = ImplGetSVData();
- pSVData->maAppData.mxToolkitName = OUString("kf5");
+ pSVData->maAppData.mxToolkitName = constructToolkitID(u"kf5");
}
SalFrame* KF5SalInstance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle)
More information about the Libreoffice-commits
mailing list