mirror of
https://github.com/danbulant/dots-hyprland
synced 2026-05-24 12:22:09 +00:00
52 lines
1.5 KiB
QML
52 lines
1.5 KiB
QML
import qs.modules.common
|
|
import qs.modules.common.widgets
|
|
import qs.services
|
|
import qs.modules.common.functions
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
import Quickshell.Hyprland
|
|
|
|
RippleButton {
|
|
id: root
|
|
property string query
|
|
|
|
implicitHeight: 30
|
|
leftPadding: 6
|
|
rightPadding: 10
|
|
buttonRadius: Appearance.rounding.verysmall
|
|
colBackground: Appearance.colors.colSurfaceContainerHighest
|
|
colBackgroundHover: Appearance.colors.colSurfaceContainerHighestHover
|
|
colRipple: Appearance.colors.colSurfaceContainerHighestActive
|
|
|
|
PointingHandInteraction {}
|
|
onClicked: {
|
|
let url = Config.options.search.engineBaseUrl + root.query;
|
|
for (let site of (Config?.options?.search.excludedSites ?? [])) {
|
|
url += ` -site:${site}`;
|
|
}
|
|
Qt.openUrlExternally(url);
|
|
Hyprland.dispatch("global quickshell:sidebarLeftClose")
|
|
}
|
|
|
|
contentItem: Item {
|
|
anchors.centerIn: parent
|
|
implicitWidth: rowLayout.implicitWidth
|
|
implicitHeight: rowLayout.implicitHeight
|
|
RowLayout {
|
|
id: rowLayout
|
|
anchors.centerIn: parent
|
|
spacing: 5
|
|
MaterialSymbol {
|
|
text: "search"
|
|
iconSize: 20
|
|
color: Appearance.m3colors.m3onSurface
|
|
}
|
|
StyledText {
|
|
id: text
|
|
horizontalAlignment: Text.AlignHCenter
|
|
text: root.query
|
|
color: Appearance.m3colors.m3onSurface
|
|
}
|
|
}
|
|
}
|
|
}
|