<?xml version="1.0" encoding="UTF-8"?>
<!-- 
Copyright (C) 2017-2024

This file is part of Bing Wallpaper extension preferences.

This extension is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This extension is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this extension.    If not, see <http://www.gnu.org/licenses/>.

Bing Wallpaper GNOME extension by: Michael Carroll
-->
<interface domain="BingWallpaper">
    <requires lib="gtk" version="4.0"/>
    <requires lib="libadwaita" version="1.0"/>
    <object class="AdwPreferencesPage" id="settings_page">
        <property name="icon-name">applications-system-symbolic</property>
        <property name="title" translatable="yes">Settings</property>
        <child>
            <object class="AdwPreferencesGroup" id="ui_group">
                <property name="title" translatable="yes">Indicator</property>
                <child>
                    <object class="AdwSwitchRow" id="hideSwitch">
                        <property name="title" translatable="yes">Hide Indicator</property>
                        <property name="subtitle" translatable="yes">Whether to hide the panel indicator</property>
                    </object>
                </child>
                <child>
                    <object class="AdwSwitchRow" id="notifySwitch">
                        <property name="title" translatable="yes">Desktop notifications</property>
                        <property name="subtitle" translatable="yes">Enable notifications on new images</property>
                    </object>
                </child>
                <child>
                    <object class="AdwSpinRow" id="iconEntry">
                        <property name="title" translatable="yes">Indicator icon</property>
                        <property name="subtitle" translatable="yes">Select from alternate tray icons</property>
                        <property name="adjustment">
                            <object class="GtkAdjustment" id="iconEntryAdjustment">
                                <property name="lower">1</property>
                                <property name="upper">5</property>
                                <property name="step_increment">1</property>
                            </object>
                        </property>
                    </object>
                </child>
                <child>
                    <object class="AdwActionRow" id="icon_image_row">
                        <!--
                        <property name="title" translatable="yes">Download folder</property>
                        <property name="subtitle" translatable="yes">Open or change wallpaper downloads folder</property>
                        -->
                        <child>
                            <object class="GtkImage" id="icon_image">
                                <property name="width_request">64</property>
                                <property name="height_request">64</property>
                                <property name="can_focus">0</property>
                                <property name="halign">end</property>
                                <property name="hexpand">1</property>
                                <property name="file">../icons/bing-symbolic.svg</property>
                                <property name="css_classes">icon_image_black_bg</property>
                            </object>
                        </child>
                    </object>
                </child>
            </object>
        </child>
        <child>
            <object class="AdwPreferencesGroup" id="wp_group">
                <property name="title" translatable="yes">Wallpaper</property>
                <child>
                    <object class="AdwSwitchRow" id="bgSwitch">
                        <property name="title" translatable="yes">Set wallpaper</property>
                        <property name="subtitle" translatable="yes">Whether to set wallpaper automatically</property>
                    </object>
                </child>
                <child>
                    <object class="AdwSwitchRow" id="shuffleSwitch">
                        <property name="title" translatable="yes">Shuffle wallpaper</property>
                        <property name="subtitle" translatable="yes">Randomly select wallpaper from collection</property>
                    </object>
                </child>
                <child>
                    <object class="AdwComboRow" id="shuffleInterval">
                        <property name="title" translatable="yes">Shuffle interval</property>
                        <property name="subtitle" translatable="yes">How frequently to shuffle wallpapers</property>
                    </object>
                </child>
            </object>
        </child>
        <child>
            <object class="AdwPreferencesGroup" id="dl_group">
                <property name="title" translatable="yes">Downloads</property>
                <child>
                    <object class="AdwActionRow" id="folderRow">
                        <property name="title" translatable="yes">Download folder</property>
                        <property name="subtitle" translatable="yes">Open or change wallpaper downloads folder</property>
                    </object>
                </child>
            </object>
        </child>
    </object>
    <object class="AdwPreferencesPage" id="debug_page">
        <property name="icon-name">preferences-other-symbolic</property>
        <property name="title" translatable="yes">Debug</property>
        <child>
            <object class="AdwPreferencesGroup" id="db_group">
                <property name="title" translatable="yes">Debug options</property>
                <child>
                    <object class="AdwSwitchRow" id="debug_switch">
                        <property name="title" translatable="yes">Debug logging</property>
                        <property name="subtitle" translatable="yes">Enable logging to system journal</property>
                    </object>
                </child>
            </object>
        </child>
        <child>
            <object class="AdwPreferencesGroup" id="adv_group">
                <property name="title" translatable="yes">Advanced options</property>
                <child>
                    <object class="AdwSwitchRow" id="revert_switch">
                        <property name="title" translatable="yes">Always show new images</property>
                        <property name="subtitle" translatable="yes">Switch to new images when available (unless on random mode)</property>
                    </object>
                </child>
                <child>
                    <object class="AdwSwitchRow" id="trash_purge_switch">
                        <property name="title" translatable="yes">Purge on trash</property>
                        <property name="subtitle" translatable="yes">Trashing an image will remove it from database and disk</property>
                    </object>
                </child>
                <child>
                    <object class="AdwComboRow" id="resolutionEntry">
                        <property name="title" translatable="yes">Screen resolution</property>
                        <property name="subtitle" translatable="yes">Override automatic resolution selection</property>
                    </object>
                </child>
                <child>
                    <object class="AdwSpinRow" id="entry_random_interval">
                        <property name="title" translatable="yes">Random interval</property>
                        <property name="subtitle" translatable="yes">Custom shuffle interval when enabled</property>
                        <property name="adjustment">
                            <object class="GtkAdjustment" id="adjustment_random_interval">
                                <property name="lower">300</property>
                                <property name="upper">604800</property>
                                <property name="page_increment">300</property>
                                <property name="step_increment">3600</property>
                            </object>
                        </property>
                    </object>
                </child>
                <child>
                    <object class="AdwSwitchRow" id="delete_previous_switch">
                        <property name="title" translatable="yes">Delete older images</property>
                        <property name="subtitle" translatable="yes">Automatically delete older images (excludes favourites)</property>
                    </object>
                </child>
                <child>
                    <object class="AdwSpinRow" id="delete_previous_entry">
                        <property name="title" translatable="yes">Number of days to keep images</property>
                        <property name="subtitle" translatable="yes">Keep images for this number of days (favourites are kept forever)</property>
                        <property name="adjustment">
                            <object class="GtkAdjustment" id="delete_previous_adjustment">
                                <property name="lower">1</property>
                                <property name="upper">90</property>
                                <property name="page_increment">5</property>
                                <property name="step_increment">1</property>
                            </object>
                        </property>
                    </object>
                </child>
            </object>
        </child>
        <child>
            <object class="AdwPreferencesGroup" id="js_group">
                <!-- <property name="title" translatable="yes">Presets</property> -->
                <child>
                    <object class="AdwSwitchRow" id="always_export_switch">
                        <property name="title" translatable="yes">Always export Bing data</property>
                        <property name="subtitle" translatable="yes">Export Bing JSON when image data changes</property>
                    </object>
                </child>
                <child>
                    <object class="AdwActionRow" id="json_actionrow">
                        <property name="title" translatable="yes">Bing JSON data</property>
                        <property name="subtitle" translatable="yes">Custom shuffle interval when enabled</property>
                    </object>
                </child>
            </object>
        </child>
    </object>
    <object class="AdwPreferencesPage" id="about_page">
        <property name="icon-name">user-info-symbolic</property>
        <property name="title" translatable="yes">About</property>
        <child>
          <object class="AdwPreferencesGroup" id="about_group">
            <!-- <property name="orientation">vertical</property>-->
            <child>
                <object class="GtkImage" id="app_icon_image">
                <property name="pixel-size">64</property>
                <property name="margin-bottom">8</property>
                <property name="accessible-role">presentation</property>
                <style>
                    <class name="icon-dropshadow"/>
                </style>
                </object>
            </child>
            <child>
                <object class="GtkLabel" id="app_name_label">
                <property name="wrap">True</property>
                <property name="justify">center</property>
                <property name="label" translatable="yes">Bing Wallpaper</property>
                <style>
                    <class name="title-1"/>
                </style>
                </object>
            </child>
            <child>
              <object class="GtkLabel" id="extension_description">
                <property name="can_focus">0</property>
                <property name="label" translatable="yes">New wallpaper images everyday from Bing</property>
                <property name="justify">center</property>
                <property name="wrap">1</property>
              </object>
            </child>
            
            <child>
                <object class="GtkLabel" id="developer_name_label">
                <property name="wrap">True</property>
                <property name="justify">center</property>
                <property name="label" translatable="yes">Maintained by Michael Carroll</property>
                </object>
            </child>
          </object>
        </child>
        <child>
          <object class="AdwPreferencesGroup" id="change_log_group">
            <child>
              <object class="AdwActionRow" id="version_row">
                <property name="title" translatable="yes">Version</property>
                <style>
                    <class name="property"/>
                </style>
              </object>
            </child>
            <child>
            <object class="AdwExpanderRow" id="expander_row">
                <property name="title" translatable="yes">Release notes</property>
                <child>
                    <object class="GtkLabel" id="change_log">
                        <property name="wrap">True</property>
                        <property name="justify">left</property>
                    </object>
                </child>
            </object>
            </child>
          </object>
        </child>
        <child>
          <object class="AdwPreferencesGroup" id="about_details_group">
            <child>
              <object class="GtkBox">
                <property name="orientation">vertical</property>
                <child>
                    <object class="AdwPreferencesGroup" id="details_group">
                    
                    <child>
                        <object class="AdwActionRow" id="extension_page_row">
                            <property name="title" translatable="yes">GNOME extensions page</property>
                            <property name="use-underline">True</property>
                            <property name="activatable">True</property>
                            <property name="activatable-widget">extension_page_linkbutton</property>
                            <child>
                                <object class="GtkLinkButton" id="extension_page_linkbutton">
                                    <property name="uri">https://extensions.gnome.org/extension/1262/bing-wallpaper-changer/</property>
                                    <property name="label">GNOME Extensions</property>
                                    <property name="valign">GTK_ALIGN_CENTER</property>
                                </object>
                            </child>
                            <child>
                                <object class="GtkImage">
                                    <property name="icon-name">adw-external-link-symbolic</property>
                                    <property name="accessible-role">presentation</property>
                                </object>
                            </child>
                        </object>
                    </child>
                    <child>
                        <object class="AdwActionRow" id="source_code_row">
                            <property name="title" translatable="yes">Source code</property>
                            <property name="use-underline">True</property>
                            <property name="activatable">True</property>
                            <property name="activatable-widget">source_code_linkbutton</property>
                            <child>
                                <object class="GtkLinkButton" id="source_code_linkbutton">
                                    <property name="uri">https://github.com/neffo/bing-wallpaper-gnome-extension</property>
                                    <property name="label">GitHub</property>
                                    <property name="valign">GTK_ALIGN_CENTER</property>
                                </object>
                            </child>
                            <child>
                                <object class="GtkImage">
                                    <property name="icon-name">adw-external-link-symbolic</property>
                                    <property name="accessible-role">presentation</property>
                                </object>
                            </child>
                        </object>
                    </child>
                    <child>
                        <object class="AdwActionRow" id="bug_report_row">
                            <property name="title" translatable="yes">Report an issue</property>
                            <property name="use-underline">True</property>
                            <property name="activatable">True</property>
                            <property name="activatable-widget">bug_report_linkbutton</property>
                            <child>
                                <object class="GtkLinkButton" id="bug_report_linkbutton">
                                    <property name="uri">https://github.com/neffo/bing-wallpaper-gnome-extension/issues</property>
                                    <property name="label">GitHub</property>
                                    <property name="valign">GTK_ALIGN_CENTER</property>
                                </object>
                            </child>
                            <child>
                                <object class="GtkImage">
                                    <property name="icon-name">adw-external-link-symbolic</property>
                                    <property name="accessible-role">presentation</property>
                                </object>
                            </child>
                        </object>
                    </child>
                    <child>
                        <object class="AdwActionRow" id="contributors_row">
                            <property name="title" translatable="yes">Contributors</property>
                            <property name="use-underline">True</property>
                            <property name="activatable">True</property>
                            <property name="activatable-widget">contributors_linkbutton</property>
                            <child>
                                <object class="GtkLinkButton" id="contributors_linkbutton">
                                    <property name="uri">https://github.com/neffo/bing-wallpaper-gnome-extension/graphs/contributors</property>
                                    <property name="label">GitHub</property>
                                    <property name="valign">GTK_ALIGN_CENTER</property>
                                </object>
                            </child>
                            <child>
                                <object class="GtkImage">
                                    <property name="icon-name">adw-external-link-symbolic</property>
                                    <property name="accessible-role">presentation</property>
                                </object>
                            </child>
                        </object>
                    </child>
                    <child>
                        <object class="AdwExpanderRow" id="license_expander">
                            <property name="title" translatable="yes">License</property>
                            <child>
                                <object class="GtkLabel" id="license">
                                    <property name="wrap">True</property>
                                    <property name="justify">left</property>
                                    <property name="label">This extension is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</property>
                                </object>
                            </child>
                        </object>
                    </child>
                    </object>
                </child>
              </object>
            </child>
          </object>
        </child>
    </object>
    <object class="GtkFileDialog" id="folderDialog">
        <property name="accept-label" translatable="yes">Change folder</property>
        <property name="modal">true</property>
        <property name="title" translatable="yes">Select new wallpaper download folder</property>
    </object>
</interface>

<!-- <signal name="clicked" handler="open_wp_folder" /> -->