vcl/inc/qt5/QtClipboard.hxx | 3 +-- vcl/qt5/QtClipboard.cxx | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-)
New commits: commit 4452eb01754d6bc42092fbc1a91ab3ba7f29ba04 Author: Michael Weghorn <[email protected]> AuthorDate: Fri Feb 27 12:15:49 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Feb 28 09:15:05 2026 +0100 qt: Don't store clipboard name in QtClipboard So far, the QtClipboard was taking a string param for the clipboard name that it stored and it was returning that in QtClipboard::getName. The only two values actually passed were "CLIPBOARD" and "SELECTION", see QtClipboard::create and they each correspond to a clipboard mode. Stop storing the string, and return the two known strings for the corresponding modes in QtClipboard::getName instead. This will simplify an upcoming refactoring. Change-Id: Ifa77093ce43b70c6e048ed0cc8c083eacc1bec59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200615 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/inc/qt5/QtClipboard.hxx b/vcl/inc/qt5/QtClipboard.hxx index 2acd26f4354a..99afc47123bd 100644 --- a/vcl/inc/qt5/QtClipboard.hxx +++ b/vcl/inc/qt5/QtClipboard.hxx @@ -36,7 +36,6 @@ class QtClipboard final Q_OBJECT osl::Mutex m_aMutex; - const OUString m_aClipboardName; const QClipboard::Mode m_eClipboardMode; // has to be set, if LO changes the QClipboard itself, so it won't instantly lose // ownership by it's self-triggered QClipboard::changed handler @@ -53,7 +52,7 @@ class QtClipboard final bool isOwner(const QClipboard::Mode eMode); static bool isSupported(const QClipboard::Mode eMode); - explicit QtClipboard(OUString aModeString, const QClipboard::Mode eMode); + explicit QtClipboard(const QClipboard::Mode eMode); private Q_SLOTS: void handleChanged(QClipboard::Mode eMode); diff --git a/vcl/qt5/QtClipboard.cxx b/vcl/qt5/QtClipboard.cxx index 329d06eb0e42..2c451ec3bc5e 100644 --- a/vcl/qt5/QtClipboard.cxx +++ b/vcl/qt5/QtClipboard.cxx @@ -29,11 +29,10 @@ #include <emscripten.h> #endif -QtClipboard::QtClipboard(OUString aModeString, const QClipboard::Mode eMode) +QtClipboard::QtClipboard(const QClipboard::Mode eMode) : cppu::WeakComponentImplHelper<css::datatransfer::clipboard::XSystemClipboard, css::datatransfer::clipboard::XFlushableClipboard, XServiceInfo>(m_aMutex) - , m_aClipboardName(std::move(aModeString)) , m_eClipboardMode(eMode) , m_bOwnClipboardChange(false) , m_bDoClear(false) @@ -58,7 +57,7 @@ QtClipboard::create(const OUString& aModeString) auto iter = aNameToClipboardMap.find(aModeString); if (iter != aNameToClipboardMap.end() && isSupported(iter->second)) - return new QtClipboard(aModeString, iter->second); + return new QtClipboard(iter->second); SAL_WARN("vcl.qt", "Ignoring unrecognized clipboard type: '" << aModeString << "'"); return nullptr; } @@ -262,7 +261,19 @@ sal_Bool QtClipboard::supportsService(const OUString& ServiceName) return cppu::supportsService(this, ServiceName); } -OUString QtClipboard::getName() { return m_aClipboardName; } +OUString QtClipboard::getName() +{ + switch (m_eClipboardMode) + { + case QClipboard::Clipboard: + return u"CLIPBOARD"_ustr; + case QClipboard::Selection: + return u"PRIMARY"_ustr; + default: + assert(false && "unexpected clipboard mode"); + return OUString(); + } +} sal_Int8 QtClipboard::getRenderingCapabilities() { return 0; }
