gui: Port to Blueprint

This was mostly done with `blueprint-compiler port`.

Since Blueprint doesn't know about custom templates, I had to manually change some values from strings to literals.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/567>
This commit is contained in:
Jamie Gravendeel
2025-06-08 14:31:01 +02:00
parent 2aceaa816f
commit a509de8b1e
90 changed files with 3278 additions and 3867 deletions
+89
View File
@@ -0,0 +1,89 @@
using Gtk 4.0;
using Adw 1;
template $GcalEventWidget: Widget {
focusable: true;
overflow: hidden;
receives-default: true;
DragSource drag_source {
prepare => $on_drag_source_prepare_cb(template) not-swapped;
begin => $on_drag_source_begin_cb(template) not-swapped;
}
GestureClick {
button: 1;
pressed => $on_click_gesture_pressed_cb(template) not-swapped;
released => $on_click_gesture_release_cb(template) not-swapped;
}
Box main_widget {
hexpand: false;
Adw.Bin edge {
styles [
"edge",
]
}
$GcalOverflowBin {
hexpand: true;
request-mode: width-for-height;
styles [
"content",
]
Adw.Squeezer squeezer {
hexpand: false;
homogeneous: false;
orientation: vertical;
Box vertical_box {
visible: bind $get_vertical_enabled(template.event, template.orientation) as <bool>;
orientation: vertical;
$GcalOverflowBin {
request-mode: width-for-height;
Label {
label: bind timestamp_label.label no-sync-create;
xalign: 0.0;
styles [
"dim-label",
]
}
}
Inscription {
text: bind summary_inscription.text no-sync-create;
hexpand: true;
vexpand: true;
xalign: 0.0;
yalign: 0.0;
min-lines: 1;
text-overflow: ellipsize_end;
}
}
Box horizontal_box {
spacing: 4;
Inscription summary_inscription {
hexpand: true;
xalign: 0.0;
min-lines: 1;
text-overflow: ellipsize_end;
}
Label timestamp_label {
styles [
"dim-label",
]
}
}
}
}
}
}