Subclass AdwWindow. Adjust the API to return GtkHeaderBar instead of HdyHeaderBar.
280 lines
12 KiB
XML
280 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<template class="GcalWindow" parent="AdwApplicationWindow">
|
|
<property name="title" translatable="yes">Calendar</property>
|
|
<property name="default_width">800</property>
|
|
<property name="default_height">600</property>
|
|
<property name="height_request">600</property>
|
|
|
|
<!-- Shortcuts -->
|
|
<child>
|
|
<object class='GtkShortcutController'>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Ctrl>t</property>
|
|
<property name='action'>win.today</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Alt>Down</property>
|
|
<property name='action'>win.today</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'>Home</property>
|
|
<property name='action'>win.today</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Alt>Left</property>
|
|
<property name='action'>win.previous-date</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'>Page_Up</property>
|
|
<property name='action'>win.previous-date</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Alt>Right</property>
|
|
<property name='action'>win.next-date</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'>Page_Down</property>
|
|
<property name='action'>win.next-date</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Control>Page_Down</property>
|
|
<property name='action'>win.change-view(-1)</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Control>Page_Up</property>
|
|
<property name='action'>win.change-view(-2)</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Control>1</property>
|
|
<property name='action'>win.change-view(0)</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Control>2</property>
|
|
<property name='action'>win.change-view(1)</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Ctrl>n</property>
|
|
<property name='action'>win.new-event</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class='GtkShortcut'>
|
|
<property name='trigger'><Control>q</property>
|
|
<property name='action'>app.quit</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkHeaderBar" id="header_bar">
|
|
<property name="show-title-buttons">True</property>
|
|
<child>
|
|
<object class="GtkButton" id="new_event_button">
|
|
<property name="icon-name">list-add-symbolic</property>
|
|
<property name="action-name">win.new-event</property>
|
|
<property name="tooltip_text" translatable="yes" context="tooltip">Add a new event</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="today_button">
|
|
<property name="label" translatable="yes">Today</property>
|
|
<property name="action-name">win.today</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="button_box">
|
|
<child>
|
|
<object class="GtkButton" id="back_button">
|
|
<property name="icon_name">go-previous-symbolic</property>
|
|
<property name="action-name">win.previous-date</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="forward_button">
|
|
<property name="icon_name">go-next-symbolic</property>
|
|
<property name="action-name">win.next-date</property>
|
|
</object>
|
|
</child>
|
|
<style>
|
|
<class name="linked"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child type="title">
|
|
<object class="AdwViewSwitcher" id="views_switcher">
|
|
<property name="stack">views_stack</property>
|
|
<property name="policy">wide</property>
|
|
</object>
|
|
</child>
|
|
<child type="end">
|
|
<object class="GtkMenuButton" id="menu_button">
|
|
<property name="icon-name">open-menu-symbolic</property>
|
|
<property name="popover">win_menu</property>
|
|
</object>
|
|
</child>
|
|
<child type="end">
|
|
<object class="GtkMenuButton" id="calendars_button">
|
|
<property name="popover">calendar_popover</property>
|
|
<property name="tooltip_text" translatable="yes">Manage your calendars</property>
|
|
<style>
|
|
<class name="image-button"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child type="end">
|
|
<object class="GcalSearchButton" id="search_button">
|
|
<property name="tooltip_text" translatable="yes" context="tooltip">Search for events</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
<!-- Main Overlay -->
|
|
<child>
|
|
<object class="AdwToastOverlay" id="overlay">
|
|
<child>
|
|
<object class="GtkBox" id="main_box">
|
|
<property name="hexpand">True</property>
|
|
<property name="vexpand">True</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="AdwViewStack" id="views_stack">
|
|
<property name="hexpand">True</property>
|
|
<property name="vexpand">True</property>
|
|
<signal name="notify::visible-child" handler="view_changed" object="GcalWindow" swapped="no"/>
|
|
<style>
|
|
<class name="view"/>
|
|
</style>
|
|
<child>
|
|
<object class="AdwViewStackPage">
|
|
<property name="name">week</property>
|
|
<property name="title" translatable="yes">Week</property>
|
|
<property name="icon_name">calendar-week-symbolic</property>
|
|
<property name="child">
|
|
<object class="GcalWeekView" id="week_view">
|
|
<property name="active-date" bind-source="GcalWindow" bind-property="active-date" bind-flags="bidirectional"/>
|
|
<signal name="create-event" handler="show_new_event_widget" object="GcalWindow" swapped="no"/>
|
|
<signal name="event-activated" handler="event_activated" object="GcalWindow" swapped="no"/>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwViewStackPage">
|
|
<property name="name">month</property>
|
|
<property name="title" translatable="yes">Month</property>
|
|
<property name="icon_name">calendar-month-symbolic</property>
|
|
<property name="child">
|
|
<object class="GcalMonthView" id="month_view">
|
|
<property name="active-date" bind-source="GcalWindow" bind-property="active-date" bind-flags="bidirectional"/>
|
|
<signal name="create-event" handler="show_new_event_widget" object="GcalWindow" swapped="no"/>
|
|
<signal name="create-event-detailed" handler="create_event_detailed_cb" object="GcalWindow" swapped="no"/>
|
|
<signal name="event-activated" handler="event_activated" object="GcalWindow" swapped="no"/>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwViewStackPage">
|
|
<property name="name">year</property>
|
|
<property name="title" translatable="yes">Year</property>
|
|
<property name="icon_name">calendar-year-symbolic</property>
|
|
<property name="child">
|
|
<object class="GcalYearView" id="year_view">
|
|
<property name="active-date" bind-source="GcalWindow" bind-property="active-date" bind-flags="bidirectional"/>
|
|
<signal name="create-event" handler="show_new_event_widget" object="GcalWindow" swapped="no"/>
|
|
<signal name="create-event-detailed" handler="create_event_detailed_cb" object="GcalWindow" swapped="no"/>
|
|
<signal name="event-activated" handler="event_activated" object="GcalWindow" swapped="no"/>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
</template>
|
|
<object class="GcalCalendarPopover" id="calendar_popover" />
|
|
<object class="GcalQuickAddPopover" id="quick_add_popover">
|
|
<signal name="edit-event" handler="edit_event" object="GcalWindow" swapped="no"/>
|
|
<signal name="closed" handler="close_new_event_widget" object="GcalWindow" swapped="no"/>
|
|
</object>
|
|
<object class="GcalCalendarManagementDialog" id="calendar_management_dialog">
|
|
<property name="visible">False</property>
|
|
<property name="transient_for">GcalWindow</property>
|
|
</object>
|
|
<object class="GcalEventEditorDialog" id="event_editor">
|
|
<property name="visible">False</property>
|
|
<property name="transient_for">GcalWindow</property>
|
|
<signal name="remove-event" handler="on_event_editor_dialog_remove_event_cb" object="GcalWindow" swapped="no"/>
|
|
</object>
|
|
|
|
<menu id='menu'>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Online Accounts…</attribute>
|
|
<attribute name="action">win.open-online-accounts</attribute>
|
|
</item>
|
|
<submenu>
|
|
<attribute name="label" translatable="yes">Weather</attribute>
|
|
<item>
|
|
<attribute name="custom">weather</attribute>
|
|
</item>
|
|
</submenu>
|
|
</section>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute>
|
|
<attribute name="action">win.show-help-overlay</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_About Calendar</attribute>
|
|
<attribute name="action">app.about</attribute>
|
|
</item>
|
|
</section>
|
|
</menu>
|
|
|
|
<object class="GtkPopoverMenu" id="win_menu">
|
|
<property name="menu-model">menu</property>
|
|
|
|
<!-- Weather submenu -->
|
|
<child type="weather">
|
|
<object class="GcalWeatherSettings" id="weather_settings" />
|
|
</child>
|
|
|
|
</object>
|
|
</interface>
|