The current implementation is deficient in many ways, the worst one being the it relying on GObject semi-synchronous property emission. This issue was exposed by the Week view code, where the active date was updated, but delayed to reach the Week header and some events were being added ~before~ the active date changed. With this work, I was also able to figure out a bunch of code that relied on this (i.e. luck) to work.
50 lines
1.9 KiB
XML
50 lines
1.9 KiB
XML
<?xml version="1.0"?>
|
|
<interface>
|
|
<template class="GcalWeekView" parent="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="orientation">vertical</property>
|
|
<style>
|
|
<class name="week-view" />
|
|
</style>
|
|
<child>
|
|
<object class="GcalWeekHeader" id="header">
|
|
<property name="visible">True</property>
|
|
<signal name="event-activated" handler="on_event_activated" object="GcalWeekView" swapped="yes" />
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="scrolled_window">
|
|
<property name="visible">True</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="vexpand">True</property>
|
|
<child>
|
|
<object class="GtkViewport">
|
|
<property name="visible">True</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="orientation">horizontal</property>
|
|
<child>
|
|
<object class="GtkDrawingArea" id="hours_bar">
|
|
<property name="visible">True</property>
|
|
<property name="height-request">2568</property>
|
|
<signal name="draw" handler="gcal_week_view_draw_hours" object="GcalWeekView" swapped="yes" />
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GcalWeekGrid" id="week_grid">
|
|
<property name="visible">True</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="vexpand">True</property>
|
|
<signal name="event-activated" handler="on_event_activated" object="GcalWeekView" swapped="yes" />
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</template>
|
|
</interface>
|