month-view: Port to GTK4

This commit is contained in:
Georges Basile Stavracas Neto
2022-02-12 13:08:50 -03:00
parent b31b16da17
commit 1cbce60c4a
13 changed files with 957 additions and 1610 deletions
+16 -47
View File
@@ -1,28 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GcalMonthCell" parent="GtkEventBox">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="expand">True</property>
<signal name="enter-notify-event" handler="enter_notify_event_cb" object="GcalMonthCell" swapped="no" />
<signal name="leave-notify-event" handler="leave_notify_event_cb" object="GcalMonthCell" swapped="no" />
<template class="GcalMonthCell" parent="AdwBin">
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="focusable">True</property>
<child>
<object class="GtkOverlay" id="overlay">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child type="overlay">
<object class="GtkBox" id="header_box">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="spacing">6</property>
<property name="margin">6</property>
<property name="margin-bottom">0</property>
<property name="margin-top">6</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<child>
<object class="GtkLabel" id="day_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<style>
<class name="day-label" />
</style>
@@ -32,8 +25,6 @@
<!-- Weather forecast -->
<child>
<object class="GtkImage" id="weather_icon">
<property name="can-focus">False</property>
<property name="visible">True</property>
<property name="pixel_size">16</property>
<property name="margin-start">12</property>
<style>
@@ -44,8 +35,6 @@
<child>
<object class="GtkLabel" id="temp_label">
<property name="visible">True</property>
<property name="can-focus">True</property>
<style>
<class name="dim-label" />
<class name="temp-label" />
@@ -55,38 +44,18 @@
</object>
</child>
<!-- HACK: in Gtk3, insensitive widgets receive no events. We "fix" this
limitation by adding an always-sensitive GtkEventBox above the event,
and when the event is insensitive, the event box's event window is
above it -->
<child type="overlay">
<object class="GtkEventBox" id="button_event_box">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="above-child" bind-source="overflow_button" bind-property="sensitive" bind-flags="default|invert-boolean|sync-create" />
<signal name="enter-notify-event" handler="enter_notify_event_cb" object="GcalMonthCell" swapped="no" />
<signal name="leave-notify-event" handler="leave_notify_event_cb" object="GcalMonthCell" swapped="no" />
<object class="GtkButton" id="overflow_button">
<property name="valign">end</property>
<signal name="clicked" handler="overflow_button_clicked_cb" object="GcalMonthCell" swapped="no" />
<style>
<class name="flat" />
</style>
<child>
<object class="GtkButton" id="overflow_button">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="valign">end</property>
<property name="receives-default">True</property>
<signal name="clicked" handler="overflow_button_clicked_cb" object="GcalMonthCell" swapped="no" />
<style>
<class name="flat" />
</style>
<object class="GtkBox">
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="overflow_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="ellipsize">end</property>
</object>
</child>
<object class="GtkLabel" id="overflow_label">
<property name="ellipsize">end</property>
</object>
</child>
</object>