Files
federated-calendar/src/gui/calendar-management/gcal-new-calendar-page.ui
T
2025-06-08 12:47:12 +02:00

216 lines
9.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GcalNewCalendarPage" parent="AdwNavigationPage">
<property name="title" translatable="yes">New Calendar</property>
<property name="tag">new-calendar</property>
<property name="child">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar">
<property name="show-end-title-buttons">False</property>
<property name="show-start-title-buttons">False</property>
</object>
</child>
<property name="content">
<object class="AdwPreferencesPage">
<!-- Local calendar -->
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Create a Local Calendar</property>
<!-- Calendar name -->
<child>
<object class="AdwEntryRow" id="local_calendar_name_row">
<property name="title" translatable="yes">Calendar Name</property>
<signal name="notify::text" handler="on_local_calendar_name_row_text_changed_cb" object="GcalNewCalendarPage" swapped="no" />
</object>
</child>
<!-- Color -->
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Color</property>
<property name="activatable-widget">local_calendar_color_button</property>
<child>
<object class="GtkColorDialogButton" id="local_calendar_color_button">
<property name="valign">center</property>
<property name="dialog">
<object class="GtkColorDialog">
<property name="modal">True</property>
<property name="with-alpha">False</property>
</object>
</property>
<signal name="notify::rgba" handler="on_local_calendar_color_button_rgba_changed_cb" object="GcalNewCalendarPage" swapped="no" />
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Connect to an Online Calendar</property>
<child>
<object class="GtkGrid">
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<!-- Online Accounts reference label-->
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">HTTPS, CalDAV, or Webcal URLs are supported. Online calendars that can only be updated by the provider will be added as read-only.</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<layout>
<property name="column">0</property>
<property name="row">0</property>
<property name="column-span">2</property>
</layout>
</object>
</child>
<!-- URL entry -->
<child>
<object class="GtkEntry" id="calendar_address_entry">
<property name="hexpand">True</property>
<property name="placeholder-text">https://example.com/calendar.ics</property>
<property name="input-purpose">url</property>
<signal name="notify::text" handler="on_url_entry_text_changed_cb" object="GcalNewCalendarPage" swapped="no" />
<signal name="activate" handler="on_calendar_address_activated_cb" object="GcalNewCalendarPage" swapped="no" />
<layout>
<property name="column">0</property>
<property name="row">1</property>
</layout>
</object>
</child>
<child>
<object class="GtkRevealer" id="web_sources_revealer">
<property name="transition_type">slide-down</property>
<property name="transition_duration">200</property>
<layout>
<property name="column">0</property>
<property name="row">2</property>
<property name="column-span">2</property>
</layout>
<child>
<object class="GtkBox" id="web_sources_listbox_box">
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="web_sources_calendar_label">
<property name="label" translatable="yes">Calendars</property>
<property name="xalign">0</property>
<style>
<class name="heading" />
</style>
</object>
</child>
<child>
<object class="GtkListBox" id="web_sources_listbox">
<property name="activate_on_single_click">False</property>
<property name="selection_mode">none</property>
<style>
<class name="calendar-list" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<!-- Online Accounts reference label-->
<child>
<object class="GtkLabel" id="web_description_label">
<property name="label" translatable="yes">If the calendar belongs to one of your online accounts, you can add it through the &lt;a href=&quot;GOA&quot;&gt;online account settings&lt;/a&gt;.</property>
<property name="use_markup">True</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<signal name="activate-link" handler="on_web_description_label_link_activated_cb" object="GcalNewCalendarPage" swapped="no" />
<layout>
<property name="column">0</property>
<property name="row">3</property>
<property name="column-span">2</property>
</layout>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<child>
<object class="GtkButton" id="add_button">
<property name="halign">center</property>
<property name="label" translatable="yes" context="button">Add Calendar</property>
<property name="sensitive">False</property>
<signal name="clicked" handler="on_add_button_clicked_cb" object="GcalNewCalendarPage" swapped="no" />
<style>
<class name="pill"/>
<class name="suggested-action"/>
</style>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</property>
</template>
<!-- Credentials popover -->
<object class="AdwMessageDialog" id="credentials_dialog">
<property name="heading" translatable="true">Credentials</property>
<property name="hide-on-close">True</property>
<property name="extra-child">
<object class="AdwClamp">
<child>
<object class="GtkListBox">
<child>
<object class="AdwEntryRow" id="credentials_user_entry">
<property name="title" translatable="true">User</property>
</object>
</child>
<child>
<object class="AdwPasswordEntryRow" id="credentials_password_entry">
<property name="title" translatable="true">Password</property>
</object>
</child>
<style>
<class name="boxed-list"/>
</style>
</object>
</child>
</object>
</property>
<responses>
<response id="cancel" translatable="yes">_Cancel</response>
<response id="connect" translatable="yes" appearance="suggested">_Connect</response>
</responses>
<property name="default-response">connect</property>
<property name="close-response">cancel</property>
<signal name="response" handler="on_credentials_dialog_response_cb" object="GcalNewCalendarPage" swapped="no"/>
</object>
</interface>