chore: Unused PopupMenu removed

This commit is contained in:
Michał Cieślak 2024-10-16 10:12:17 +02:00 committed by Michał
parent 3623807f62
commit affaf6099f
2 changed files with 0 additions and 164 deletions

View File

@ -1,163 +0,0 @@
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtGraphicalEffects 1.13
import utils 1.0
import "../"
import "../panels"
Menu {
// This is to add icons to submenu items. QML doesn't have a way to add icons to those sadly so this is a workaround
property var subMenuIcons: []
property int paddingSize: 8
property bool hasArrow: true
closePolicy: Popup.CloseOnPressOutside | Popup.CloseOnReleaseOutside | Popup.CloseOnEscape
id: popupMenu
topPadding: paddingSize
bottomPadding: paddingSize
property string overrideTextColor: ""
delegate: MenuItem {
property color textColor: popupMenu.overrideTextColor !== "" ? popupMenu.overrideTextColor : (this.action.icon.color.toString() !== "#00000000" ? this.action.icon.color : Style.current.textColor)
property color hoverColor: popupMenuItem.action.icon.color === Style.current.danger ? Style.current.buttonWarnBackgroundColor : Style.current.backgroundHover
property int subMenuIndex: {
if (!this.subMenu) {
return -1
}
let child;
let index = 0;
for (let i = 0; i < popupMenu.count; i++) {
child = popupMenu.itemAt(i)
if (child.subMenu) {
if (child === this) {
return index
} else {
index++;
}
}
}
return index
}
enabled: {
if (this.subMenu) {
return this.subMenu.enabled
}
return this.action.enabled
}
action: Action{} // Meant to be overwritten
id: popupMenuItem
implicitWidth: 200
implicitHeight: 34
font.pixelSize: 13
font.weight: checked ? Font.Medium : Font.Normal
icon.color: ((popupMenuItem.action.assetSettings !== undefined) && (popupMenuItem.action.assetSettings.color !== "#00000000")) ? popupMenuItem.action.assetSettings.color : Style.current.blue
icon.source: this.subMenu ? subMenuIcons[subMenuIndex].source : popupMenuItem.action.icon.source
icon.width: this.subMenu ? subMenuIcons[subMenuIndex].width : popupMenuItem.action.icon.width
icon.height: this.subMenu ? subMenuIcons[subMenuIndex].height : popupMenuItem.action.icon.height
visible: enabled
height: visible ? popupMenuItem.implicitHeight : 0
arrow: SVGImage {
source: Style.svg("caret")
rotation: -90
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 12
width: 9
fillMode: Image.PreserveAspectFit
visible: popupMenuItem.subMenu && popupMenuItem.subMenu.enabled
ColorOverlay {
anchors.fill: parent
source: parent
color: popupMenuItem.textColor
}
}
// FIXME the icons looks very pixelated on Linux for some reason. Using smooth, mipmap, etc doesn't fix it
indicator: Item {
visible: !!popupMenuItem.icon.source.toString()
width: !isNaN(popupMenuItem.icon.width) ? popupMenuItem.icon.width : 25
height: !isNaN(popupMenuItem.icon.height) ? popupMenuItem.icon.height : 25
anchors.left: parent.left
anchors.leftMargin: Style.current.padding
anchors.verticalCenter: parent.verticalCenter
Image {
id: menuIcon
source: popupMenuItem.icon.source
visible: false
width: parent.width
height: parent.width
sourceSize.width: width
sourceSize.height: height
}
ColorOverlay {
anchors.fill: menuIcon
source: menuIcon
smooth: true
color: (popupMenuItem.action.icon.color != "#00000000" ? popupMenuItem.action.icon.color : Style.current.primaryMenuItemHover)
}
}
contentItem: StyledText {
anchors.left: popupMenuItem.indicator.right
anchors.leftMargin: popupMenu.paddingSize
text: popupMenuItem.text
font: popupMenuItem.font
color: popupMenuItem.textColor
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
opacity: enabled ? 1.0 : 0.3
elide: Text.ElideRight
}
background: Rectangle {
implicitWidth: 220
implicitHeight: enabled ? 24 : 0
color: popupMenuItem.hovered ? popupMenuItem.hoverColor : "transparent"
}
MouseArea {
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
onPressed: mouse.accepted = false
}
}
background: Item {
id: bgPopupMenu
implicitWidth: 220
Rectangle {
id: bgPopupMenuContent
implicitWidth: bgPopupMenu.width
implicitHeight: bgPopupMenu.height
color: Style.current.modalBackground
radius: 8
layer.enabled: true
layer.effect: DropShadow{
width: bgPopupMenuContent.width
height: bgPopupMenuContent.height
x: bgPopupMenuContent.x
visible: bgPopupMenuContent.visible
source: bgPopupMenuContent
horizontalOffset: 0
verticalOffset: 4
radius: 12
samples: 25
spread: 0.2
color: "#22000000"
}
}
}
}
/*##^##
Designer {
D{i:0;autoSize:true;height:480;width:640}
}
##^##*/

View File

@ -21,7 +21,6 @@ ModalPopup 1.0 ModalPopup.qml
NicknamePopup 1.0 NicknamePopup.qml NicknamePopup 1.0 NicknamePopup.qml
NoPermissionsToJoinPopup 1.0 NoPermissionsToJoinPopup.qml NoPermissionsToJoinPopup 1.0 NoPermissionsToJoinPopup.qml
OutgoingContactVerificationRequestPopup 1.0 OutgoingContactVerificationRequestPopup.qml OutgoingContactVerificationRequestPopup 1.0 OutgoingContactVerificationRequestPopup.qml
PopupMenu 1.0 PopupMenu.qml
ProfileDialog 1.0 ProfileDialog.qml ProfileDialog 1.0 ProfileDialog.qml
RemoveAccountConfirmationPopup 1.0 RemoveAccountConfirmationPopup.qml RemoveAccountConfirmationPopup 1.0 RemoveAccountConfirmationPopup.qml
RemoveContactPopup 1.0 RemoveContactPopup.qml RemoveContactPopup 1.0 RemoveContactPopup.qml