Files
federated-calendar/src/gui/gcal-window.ui
T
Georges Basile Stavracas Neto a527bbe5dc views: Sketch out new month view
Nothing really works here, this is very WIP. It doesn't even show
events. Let's build from here.
2023-08-11 15:13:44 -03:00

376 lines
17 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="width_request">360</property>
<property name="height_request">600</property>
<!-- Shortcuts -->
<child>
<object class="GtkShortcutController">
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Control&gt;t</property>
<property name="action">action(win.today)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Alt&gt;Down</property>
<property name="action">action(win.today)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">Home</property>
<property name="action">action(win.today)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Alt&gt;Left</property>
<property name="action">action(win.previous-date)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">Page_Up</property>
<property name="action">action(win.previous-date)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Alt&gt;Right</property>
<property name="action">action(win.next-date)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">Page_Down</property>
<property name="action">action(win.next-date)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Control&gt;Page_Down</property>
<property name="action">action(win.change-view)</property>
<property name="arguments">-1</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Control&gt;Page_Up</property>
<property name="action">action(win.change-view)</property>
<property name="arguments">-2</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Alt&gt;1</property>
<property name="action">action(win.change-view)</property>
<property name="arguments">0</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Alt&gt;2</property>
<property name="action">action(win.change-view)</property>
<property name="arguments">1</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Ctrl&gt;n</property>
<property name="action">action(win.new-event)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Control&gt;q</property>
<property name="action">action(app.quit)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Ctrl&gt;&lt;Alt&gt;m</property>
<property name="action">action(win.show-calendars)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">&lt;Ctrl&gt;r</property>
<property name="action">action(app.sync)</property>
</object>
</child>
<child>
<object class="GtkShortcut">
<property name="trigger">F5</property>
<property name="action">action(app.sync)</property>
</object>
</child>
</object>
</child>
<!-- Main Overlay -->
<child>
<object class="AdwToastOverlay" id="overlay">
<child>
<object class="AdwNavigationSplitView" id="split_view">
<!-- Sidebar -->
<property name="sidebar">
<object class="AdwNavigationPage">
<property name="title" translatable="yes">Calendar</property>
<property name="child">
<object class="AdwToolbarView">
<child type="top">
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="AdwHeaderBar">
<child type="start">
<object class="GcalSyncIndicator" id="sync_indicator" />
</child>
<property name="title-widget">
<object class="GcalCalendarButton" id="calendars_button" />
</property>
<child type="end">
<object class="GtkMenuButton" id="menu_button">
<property name="icon-name">open-menu-symbolic</property>
<property name="popover">win_menu</property>
<property name="tooltip-text" translatable="yes">Main Menu</property>
<property name="primary">True</property>
</object>
</child>
</object>
</child>
<child>
<object class="GcalDateChooser" id="date_chooser">
<property name="split-month-year">False</property>
<property name="vexpand">False</property>
<property name="active-date" bind-source="GcalWindow" bind-property="active-date" bind-flags="bidirectional"/>
<signal name="day-selected" handler="day_selected" object="GcalWindow" swapped="yes"/>
</object>
</child>
</object>
</child>
<property name="content">
<object class="GcalAgendaView" id="agenda_view">
<property name="vexpand">True</property>
<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>
<child type="bottom">
<object class="GtkActionBar" id="action_bar">
<property name="revealed">False</property>
<child type="start">
<object class="GtkButton">
<property name="action-name">win.today</property>
<property name="child">
<object class="AdwButtonContent">
<property name="label" translatable="yes">_Today</property>
<property name="use-underline">True</property>
<property name="icon-name">calendar-today-symbolic</property>
<property name="can-shrink">True</property>
</object>
</property>
</object>
</child>
<child type="end">
<object class="GcalToolbarEnd" id="sidebar_toolbar_end"/>
</child>
</object>
</child>
</object>
</property>
</object>
</property>
<!-- Main content -->
<property name="content">
<object class="AdwNavigationPage" id="content_page">
<binding name="title">
<closure type="gchararray" function="content_title">
<lookup type="GcalWindow" name="active-view"/>
</closure>
</binding>
<property name="child">
<object class="AdwToolbarView">
<style>
<class name="view" />
</style>
<child type="top">
<object class="AdwHeaderBar" id="header_bar">
<child>
<object class="GtkButton">
<property name="action-name">win.today</property>
<property name="child">
<object class="AdwButtonContent">
<property name="label" translatable="yes">_Today</property>
<property name="use-underline">True</property>
<property name="icon-name">calendar-today-symbolic</property>
<property name="can-shrink">True</property>
</object>
</property>
</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="GcalToolbarEnd" id="toolbar_end" />
</child>
</object>
</child>
<property name="content">
<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="use-underline">True</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="use-underline">True</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">dazzling-month</property>
<property name="title" translatable="yes">_Month</property>
<property name="use-underline">True</property>
<property name="icon_name">calendar-month-symbolic</property>
<property name="child">
<object class="GcalDazzlingMonthView" id="dazzling_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>
</object>
</child>
</object>
</property>
</object>
</property>
</object>
</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwBreakpoint">
<condition>max-width: 700sp</condition>
<setter object="split_view" property="collapsed">True</setter>
<setter object="action_bar" property="revealed">True</setter>
<!-- This needs to be set so that focus does not stay in the content pane when folding. -->
<setter object="content_page" property="sensitive">False</setter>
</object>
</child>
</template>
<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">_Date &amp; Time Settings…</attribute>
<attribute name="action">win.open-date-time-settings</attribute>
</item>
<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>