Warning, /frameworks/kirigami/src/controls/UrlButton.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez <aleixpol@blue-systems.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 0008 import org.kde.kirigami as Kirigami 0009 import org.kde.kirigami.private as KirigamiPrivate 0010 import QtQuick.Controls as QQC2 0011 0012 /** 0013 * @brief A link button that contains a URL. 0014 * 0015 * It will open the url by default, allow to copy it if triggered with the 0016 * secondary mouse button. 0017 * 0018 * @since 5.63 0019 * @since org.kde.kirigami 2.6 0020 * @inherit QtQuick.LinkButton 0021 */ 0022 Kirigami.LinkButton { 0023 id: button 0024 0025 property string url 0026 0027 text: url 0028 enabled: url.length > 0 0029 visible: text.length > 0 0030 acceptedButtons: Qt.LeftButton | Qt.RightButton 0031 0032 Accessible.name: text 0033 Accessible.description: text !== url 0034 ? qsTr("Open link %1", "@info:whatsthis").arg(url) 0035 : qsTr("Open link", "@info:whatsthis") 0036 0037 onPressed: mouse => { 0038 if (mouse.button === Qt.RightButton) { 0039 menu.popup(); 0040 } 0041 } 0042 0043 onClicked: mouse => { 0044 if (mouse.button !== Qt.RightButton) { 0045 Qt.openUrlExternally(url); 0046 } 0047 } 0048 0049 QQC2.ToolTip { 0050 // If button's text has been overridden, show a tooltip to expose the raw URL 0051 visible: button.text !== button.url && button.mouseArea.containsMouse 0052 text: button.url 0053 } 0054 0055 QQC2.Menu { 0056 id: menu 0057 QQC2.MenuItem { 0058 text: qsTr("Copy Link to Clipboard") 0059 icon.name: "edit-copy" 0060 onClicked: KirigamiPrivate.CopyHelperPrivate.copyTextToClipboard(button.url) 0061 } 0062 } 0063 }