<?xml version="1.0" encoding="UTF-8"?>
<interface domain="easyeffects">
    <template class="AppInfo" parent="GtkBox">
        <property name="hexpand">1</property>
        <property name="margin-start">3</property>
        <property name="margin-end">3</property>
        <property name="margin-top">3</property>
        <property name="margin-bottom">3</property>

        <style>
            <class name="card" />
        </style>

        <child>
            <object class="GtkBox">
                <property name="spacing">24</property>
                <!-- Application info section -->
                <child>
                    <object class="GtkBox">
                        <property name="hexpand">1</property>
                        <property name="halign">start</property>
                        <property name="valign">center</property>
                        <property name="spacing">6</property>
                        <property name="orientation">vertical</property>
                        <property name="margin-start">6</property>
                        <property name="margin-top">6</property>
                        <property name="margin-bottom">6</property>
                        <child>
                            <object class="GtkBox">
                                <property name="halign">start</property>
                                <property name="valign">center</property>
                                <property name="spacing">6</property>

                                <!-- Application icon -->
                                <child>
                                    <object class="GtkImage" id="app_icon">
                                        <property name="halign">start</property>
                                        <property name="valign">center</property>
                                        <property name="icon-size">large</property>
                                    </object>
                                </child>

                                <child>
                                    <object class="GtkBox">
                                        <property name="hexpand">1</property>
                                        <property name="halign">start</property>
                                        <property name="valign">center</property>
                                        <property name="spacing">6</property>
                                        <property name="orientation">vertical</property>
                                        <!-- Application name -->
                                        <child>
                                            <object class="GtkLabel" id="app_name">
                                                <property name="halign">start</property>
                                                <property name="xalign">0</property>
                                                <property name="valign">center</property>
                                                <property name="wrap">1</property>
                                                <property name="wrap-mode">word-char</property>
                                                <property name="label">App</property>
                                            </object>
                                        </child>

                                        <!-- Application description -->
                                        <child>
                                            <object class="GtkLabel" id="media_name">
                                                <property name="halign">start</property>
                                                <property name="xalign">0</property>
                                                <property name="valign">center</property>
                                                <property name="wrap">1</property>
                                                <property name="wrap-mode">word-char</property>
                                                <property name="label">Description</property>
                                                <style>
                                                    <class name="dim-label" />
                                                </style>
                                            </object>
                                        </child>

                                        <!-- Application stream data -->
                                        <child>
                                            <object class="GtkBox">
                                                <property name="halign">start</property>
                                                <property name="valign">center</property>
                                                <property name="spacing">3</property>
                                                <child>
                                                    <object class="GtkLabel" id="state">
                                                        <property name="halign">end</property>
                                                        <property name="label">s</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>

                                                <!-- Middle dot -->
                                                <child>
                                                    <object class="GtkLabel">
                                                        <property name="halign">start</property>
                                                        <property name="margin-start">4</property>
                                                        <property name="margin-end">4</property>
                                                        <property name="label">·</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>

                                                <child>
                                                    <object class="GtkLabel" id="format">
                                                        <property name="halign">end</property>
                                                        <property name="label">f</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>

                                                <!-- Middle dot -->
                                                <child>
                                                    <object class="GtkLabel">
                                                        <property name="halign">start</property>
                                                        <property name="margin-start">4</property>
                                                        <property name="margin-end">4</property>
                                                        <property name="label">·</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>

                                                <child>
                                                    <object class="GtkLabel" id="rate">
                                                        <property name="halign">end</property>
                                                        <property name="label">r</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>

                                                <!-- Middle dot -->
                                                <child>
                                                    <object class="GtkLabel">
                                                        <property name="halign">start</property>
                                                        <property name="margin-start">4</property>
                                                        <property name="margin-end">4</property>
                                                        <property name="label">·</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>

                                                <child>
                                                    <object class="GtkLabel" id="channels">
                                                        <property name="halign">end</property>
                                                        <property name="label">c</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>

                                                <!-- Middle dot -->
                                                <child>
                                                    <object class="GtkLabel">
                                                        <property name="halign">start</property>
                                                        <property name="margin-start">4</property>
                                                        <property name="margin-end">4</property>
                                                        <property name="label">·</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>

                                                <child>
                                                    <object class="GtkLabel" id="latency">
                                                        <property name="halign">end</property>
                                                        <property name="label">l</property>
                                                        <style>
                                                            <class name="dim-label" />
                                                        </style>
                                                    </object>
                                                </child>
                                            </object>
                                        </child>
                                    </object>
                                </child>
                            </object>
                        </child>
                    </object>
                </child>

                <child>
                    <object class="GtkBox">
                        <property name="halign">end</property>
                        <property name="valign">center</property>
                        <property name="spacing">12</property>
                        <property name="orientation">vertical</property>
                        <property name="margin-end">6</property>
                        <property name="margin-top">6</property>
                        <property name="margin-bottom">6</property>
                        <child>
                            <object class="GtkBox" id="enable_box">
                                <property name="halign">end</property>
                                <property name="valign">center</property>
                                <property name="spacing">8</property>
                                <!-- Enable section -->
                                <child>
                                    <object class="GtkCheckButton" id="enable">
                                        <property name="halign">end</property>
                                        <property name="valign">center</property>
                                        <property name="tooltip-text" translatable="yes">Enable/disable this application</property>
                                        <property name="label" translatable="yes">Enable</property>
                                        <accessibility>
                                            <relation name="labelled-by">app_name</relation>
                                        </accessibility>
                                    </object>
                                </child>

                                <!-- Exclude section -->
                                <child>
                                    <object class="GtkCheckButton" id="blocklist">
                                        <property name="halign">end</property>
                                        <property name="valign">center</property>
                                        <property name="tooltip-text" translatable="yes">Excluded App List: Add/remove this application</property>
                                        <property name="label" translatable="yes">Exclude</property>
                                        <accessibility>
                                            <relation name="labelled-by">app_name</relation>
                                        </accessibility>
                                    </object>
                                </child>
                            </object>
                        </child>

                        <!-- Volume section -->
                        <child>
                            <object class="GtkBox" id="volume_box">
                                <property name="halign">end</property>
                                <property name="valign">center</property>
                                <style>
                                    <class name="linked" />
                                </style>

                                <child>
                                    <object class="GtkToggleButton" id="mute">
                                        <property name="icon-name">audio-volume-high-symbolic</property>
                                        <property name="tooltip-text" translatable="yes">Mute Application</property>
                                        <accessibility>
                                            <property name="label" translatable="yes">Mute Application</property>
                                        </accessibility>
                                    </object>
                                </child>

                                <child>
                                    <object class="GtkSpinButton" id="volume">
                                        <property name="sensitive" bind-source="mute" bind-property="active" bind-flags="sync-create|invert-boolean" />
                                        <property name="hexpand">1</property>
                                        <property name="xalign">0.5</property>
                                        <property name="digits">0</property>
                                        <property name="update-policy">if-valid</property>
                                        <property name="adjustment">
                                            <object class="GtkAdjustment">
                                                <property name="lower">0</property>
                                                <property name="upper">100</property>
                                                <property name="value">100</property>
                                                <property name="step-increment">1</property>
                                                <property name="page-increment">10</property>
                                            </object>
                                        </property>
                                        <property name="tooltip-text" translatable="yes">Change the volume of this application</property>
                                        <accessibility>
                                            <property name="label" translatable="yes">Application Volume</property>
                                        </accessibility>
                                    </object>
                                </child>
                            </object>
                        </child>
                    </object>
                </child>
            </object>
        </child>
    </template>

    <object class="GtkSizeGroup">
        <property name="mode">horizontal</property>
        <widgets>
            <widget name="enable_box" />
            <widget name="volume_box" />
        </widgets>
    </object>
</interface>
