303 lines
13 KiB
XML
303 lines
13 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<template class="GcalNewCalendarPage" parent="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
|
|
<child>
|
|
<object class="AdwPreferencesPage">
|
|
|
|
<!-- Local calendar -->
|
|
<child>
|
|
<object class="AdwPreferencesGroup">
|
|
|
|
<!-- Calendar name -->
|
|
<child>
|
|
<object class="AdwActionRow">
|
|
<property name="title" translatable="yes">Calendar Name</property>
|
|
<property name="activatable-widget">local_calendar_name_entry</property>
|
|
|
|
<child>
|
|
<object class="GtkEntry" id="local_calendar_name_entry">
|
|
<property name="valign">center</property>
|
|
<property name="placeholder-text" translatable="yes">Calendar Name</property>
|
|
<signal name="notify::text" handler="on_local_calendar_name_entry_text_changed_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
</object>
|
|
</child>
|
|
|
|
</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="GtkColorButton" id="local_calendar_color_button">
|
|
<property name="valign">center</property>
|
|
<signal name="notify::color" handler="on_local_calendar_color_button_color_changed_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="AdwPreferencesGroup">
|
|
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="hexpand">True</property>
|
|
<property name="label" translatable="yes">Import a Calendar</property>
|
|
<property name="xalign">0.0</property>
|
|
<attributes>
|
|
<attribute name="scale" value="1.3" />
|
|
<attribute name="weight" value="bold" />
|
|
</attributes>
|
|
</object>
|
|
</child>
|
|
|
|
<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">Alternatively, enter the web address of an online calendar you want to import, or open a supported calendar file.</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>
|
|
<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>
|
|
|
|
<!-- File Chooser button -->
|
|
<child>
|
|
<object class="GcalFileChooserButton" id="calendar_file_chooser_button">
|
|
<property name="title" translatable="yes">Open a File</property>
|
|
<property name="filter">
|
|
<object class="GtkFileFilter">
|
|
<property name="name" translatable="yes">Calendar files</property>
|
|
<patterns>
|
|
<pattern>*.ical</pattern>
|
|
<pattern>*.icalendar</pattern>
|
|
<pattern>*.ics</pattern>
|
|
<pattern>*.ifb</pattern>
|
|
<pattern>*.vcs</pattern>
|
|
</patterns>
|
|
</object>
|
|
</property>
|
|
<signal name="notify::file" handler="on_file_chooser_button_file_changed_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
<layout>
|
|
<property name="column">1</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>
|
|
<attributes>
|
|
<attribute name="weight" value="bold" />
|
|
</attributes>
|
|
</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 <a href="GOA">online account settings</a>.</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>
|
|
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</template>
|
|
|
|
<!-- Credentials popover -->
|
|
<object class="GtkWindow" id="credentials_dialog">
|
|
<property name="title" translatable="yes">Credentials</property>
|
|
<property name="modal">True</property>
|
|
<property name="hide-on-close">True</property>
|
|
<property name="default-width">350</property>
|
|
<property name="default-height">150</property>
|
|
|
|
<child type="titlebar">
|
|
<object class="GtkHeaderBar">
|
|
<property name="show-title-buttons">False</property>
|
|
|
|
<child type="start">
|
|
<object class="GtkButton" id="credentials_cancel_button">
|
|
<property name="hexpand">True</property>
|
|
<property name="label" translatable="yes">Cancel</property>
|
|
<signal name="clicked" handler="on_credential_button_clicked_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
</object>
|
|
</child>
|
|
|
|
<child type="end">
|
|
<object class="GtkButton" id="credentials_connect_button">
|
|
<property name="hexpand">True</property>
|
|
<property name="label" translatable="yes">Connect</property>
|
|
<signal name="clicked" handler="on_credential_button_clicked_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
<style>
|
|
<class name="suggested-action" />
|
|
</style>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<property name="margin-top">12</property>
|
|
<property name="margin-bottom">12</property>
|
|
<property name="margin-start">12</property>
|
|
<property name="margin-end">12</property>
|
|
<child>
|
|
<object class="GtkGrid" id="credentials_grid">
|
|
<property name="hexpand">True</property>
|
|
<property name="margin-top">12</property>
|
|
<property name="margin-bottom">12</property>
|
|
<property name="margin-start">12</property>
|
|
<property name="margin-end">12</property>
|
|
<property name="row_spacing">6</property>
|
|
<property name="column_spacing">12</property>
|
|
<child>
|
|
<object class="GtkLabel" id="credentials_user_dim_label">
|
|
<property name="label" translatable="yes">User</property>
|
|
<property name="xalign">1</property>
|
|
<layout>
|
|
<property name="column">0</property>
|
|
<property name="row">0</property>
|
|
</layout>
|
|
<style>
|
|
<class name="dim-label" />
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="credentials_password_dim_label">
|
|
<property name="label" translatable="yes">Password</property>
|
|
<property name="xalign">1</property>
|
|
<layout>
|
|
<property name="column">0</property>
|
|
<property name="row">1</property>
|
|
</layout>
|
|
<style>
|
|
<class name="dim-label" />
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="credentials_user_entry">
|
|
<property name="hexpand">True</property>
|
|
<signal name="activate" handler="on_credential_entry_activate_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">0</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="credentials_password_entry">
|
|
<property name="hexpand">True</property>
|
|
<property name="visibility">False</property>
|
|
<signal name="activate" handler="on_credential_entry_activate_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">1</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
</object>
|
|
|
|
<!-- Headerbar buttons -->
|
|
<object class="GtkButton" id="cancel_button">
|
|
<property name="label" translatable="yes">Cancel</property>
|
|
<signal name="clicked" handler="on_cancel_button_clicked_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
</object>
|
|
<object class="GtkButton" id="add_button">
|
|
<property name="label" translatable="yes">Add</property>
|
|
<property name="sensitive">False</property>
|
|
<signal name="clicked" handler="on_add_button_clicked_cb" object="GcalNewCalendarPage" swapped="no" />
|
|
<style>
|
|
<class name="suggested-action"/>
|
|
</style>
|
|
</object>
|
|
</interface>
|