Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions simple-notes/BarWidget.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import QtQuick
import QtQuick.Layouts
import Quickshell
import qs.Commons
import qs.Widgets

Rectangle {
id: root

property var pluginApi: null
property ShellScreen screen
property string widgetId: ""
property string section: ""

// Standard capsule dimensions
implicitWidth: barIsVertical ? Style.capsuleHeight : contentRow.implicitWidth + Style.marginM * 2
implicitHeight: Style.capsuleHeight

readonly property string barPosition: Settings.data.bar.position || "top"
readonly property bool barIsVertical: barPosition === "left" || barPosition === "right"

// Settings
readonly property bool showCount: pluginApi?.pluginSettings?.showCountInBar ?? true

function getIntValue(value, defaultValue) {
return (typeof value === 'number') ? Math.floor(value) : defaultValue;
}

readonly property int noteCount: getIntValue(pluginApi?.pluginSettings?.count, 0)

color: Style.capsuleColor
radius: Style.radiusL

RowLayout {
id: contentRow
anchors.centerIn: parent
spacing: Style.marginS

NIcon {
icon: "paperclip"
applyUiScale: false
color: mouseArea.containsMouse ? Color.mOnHover : Color.mOnSurface
}

NText {
visible: !barIsVertical && root.showCount
text: root.noteCount.toString()
color: mouseArea.containsMouse ? Color.mOnHover : Color.mOnSurface
font.pointSize: Style.fontSizeS
font.weight: Font.Medium
}
}

MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor

onEntered: {
root.color = Color.mHover;
}

onExited: {
root.color = Style.capsuleColor;
}

onClicked: {
if (pluginApi) {
pluginApi.openPanel(root.screen);
}
}
}
}
25 changes: 25 additions & 0 deletions simple-notes/Main.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import QtQuick
import Quickshell.Io
import qs.Services.UI

Item {
property var pluginApi: null

Component.onCompleted: {
if (pluginApi) {
// Initialize settings if they don't exist
if (!pluginApi.pluginSettings.notes) {
pluginApi.pluginSettings.notes = [];
pluginApi.saveSettings();
}
if (pluginApi.pluginSettings.showCountInBar === undefined) {
pluginApi.pluginSettings.showCountInBar = true;
pluginApi.saveSettings();
}
if (pluginApi.pluginSettings.count === undefined) {
pluginApi.pluginSettings.count = 0;
pluginApi.saveSettings();
}
}
}
}
Loading