340 lines
15 KiB
XML
340 lines
15 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<requires lib="gtk+" version="4.8"/>
|
|
<requires lib="adw" version="1.2" />
|
|
<object class="GtkAdjustment" id="grid_adjustment">
|
|
<property name="lower">100</property>
|
|
<property name="upper">1000</property>
|
|
<property name="value">150</property>
|
|
<property name="step-increment">1</property>
|
|
<property name="page-increment">10</property>
|
|
</object>
|
|
<object class="GtkPopover" id="toolbar_popover">
|
|
<property name="can-focus">False</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<property name="halign">end</property>
|
|
<child>
|
|
<object class="GtkScale" id="grid_scale">
|
|
<property name="width-request">350</property>
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">True</property>
|
|
<property name="adjustment">grid_adjustment</property>
|
|
<property name="restrict-to-fill-level">False</property>
|
|
<property name="fill-level">-1</property>
|
|
<property name="round-digits">0</property>
|
|
<property name="digits">0</property>
|
|
<property name="has-origin">False</property>
|
|
<signal name="value-changed" handler="on_grid_scale_changed" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="library-toolbar-update">
|
|
<property name="label" translatable="yes">update library</property>
|
|
<signal name="clicked" handler="on_update_clicked" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="library-toolbar-sort">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkSeparator">
|
|
<property name="orientation">vertical</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes">Sort</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="sort_artist">
|
|
<property name="label" translatable="yes">sort by artist</property>
|
|
<property name="receives-default">False</property>
|
|
<property name="group">sort_year</property>
|
|
<signal name="toggled" handler="on_sort_toggled" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="sort_title">
|
|
<property name="label" translatable="yes">sort by title</property>
|
|
<property name="receives-default">False</property>
|
|
<property name="group">sort_year</property>
|
|
<signal name="toggled" handler="on_sort_toggled" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="sort_year">
|
|
<property name="label" translatable="yes">sort by year</property>
|
|
<property name="receives-default">False</property>
|
|
<signal name="toggled" handler="on_sort_toggled" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="sort_modified">
|
|
<property name="label" translatable="yes">sort by modification</property>
|
|
<property name="receives-default">False</property>
|
|
<property name="group">sort_year</property>
|
|
<signal name="toggled" handler="on_sort_toggled" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="toolbar_sort_order_button">
|
|
<property name="label" translatable="yes">sort library descending</property>
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">True</property>
|
|
<property name="receives-default">False</property>
|
|
<property name="active">True</property>
|
|
<signal name="toggled" handler="on_sort_order_toggled" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
|
|
<object class="GtkBox" id="toolbar">
|
|
<property name="orientation">horizontal</property>
|
|
<property name="halign">end</property>
|
|
<property name="spacing">6</property>
|
|
<child>
|
|
<object class="GtkToggleButton" id="toolbar_search_bar">
|
|
<property name="receives-default">True</property>
|
|
<property name="tooltip-text" translatable="yes">Search the library</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon-name">system-search-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<!--
|
|
<accelerator key="f" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
|
-->
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkToggleButton" id="select_button">
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">True</property>
|
|
<property name="receives-default">True</property>
|
|
<property name="tooltip-text" translatable="yes">Select multiple albums</property>
|
|
<signal name="toggled" handler="on_select_toggled" swapped="no"/>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon-name">object-select-symbolic</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkMenuButton">
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">True</property>
|
|
<property name="receives-default">True</property>
|
|
<property name="tooltip-text" translatable="yes">Settings and actions</property>
|
|
<property name="popover">toolbar_popover</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">False</property>
|
|
<property name="icon-name">open-menu-symbolic</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
|
|
<template class="McgLibraryPanel" parent="AdwBin">
|
|
<child>
|
|
<object class="GtkStack" id="library_stack">
|
|
<property name="transition-type">slide-left-right</property>
|
|
<child>
|
|
<object class="GtkBox" id="panel_normal">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkSearchBar" id="filter_bar">
|
|
<property name="search-mode-enabled" bind-source="toolbar_search_bar" bind-property="active" bind-flags="sync-create"/>
|
|
<child>
|
|
<object class="GtkSearchEntry" id="filter_entry">
|
|
<property name="placeholder-text" translatable="yes">search library</property>
|
|
<signal name="search-changed" handler="on_filter_entry_changed" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStack" id="stack">
|
|
<property name="transition-type">crossfade</property>
|
|
<child>
|
|
<object class="GtkBox" id="progress_box">
|
|
<property name="orientation">vertical</property>
|
|
<property name="valign">center</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="halign">center</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">10</property>
|
|
<child>
|
|
<object class="GtkImage" id="progress_image">
|
|
<property name="icon-size">large</property>
|
|
<property name="icon-name">image-x-generic-symbolic</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkProgressBar" id="progress_bar">
|
|
<property name="width-request">200</property>
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">False</property>
|
|
<property name="pulse-step">0</property>
|
|
<property name="show-text">True</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="scroll">
|
|
<property name="vexpand">true</property>
|
|
<child>
|
|
<object class="GtkGridView" id="library_grid">
|
|
<property name="orientation">vertical</property>
|
|
<property name="single_click_activate">true</property>
|
|
<signal name="activate" handler="on_library_grid_clicked"/>
|
|
<style>
|
|
<class name="no-bg"/>
|
|
</style>
|
|
<property name="factory">
|
|
<object class="GtkBuilderListItemFactory">
|
|
<property name="bytes">
|
|
<![CDATA[
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<template class="GtkListItem">
|
|
<property name="activatable">true</property>
|
|
<property name="child">
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkPicture">
|
|
<property name="content-fit">contain</property>
|
|
<property name="can-shrink">false</property>
|
|
<binding name="tooltip-markup">
|
|
<lookup name="tooltip" type="GridItem">
|
|
<lookup name="item">GtkListItem</lookup>
|
|
</lookup>
|
|
</binding>
|
|
<binding name="paintable">
|
|
<lookup name="cover" type="GridItem">
|
|
<lookup name="item">GtkListItem</lookup>
|
|
</lookup>
|
|
</binding>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</property>
|
|
</template>
|
|
</interface>
|
|
]]>
|
|
</property>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
<style>
|
|
<class name="no-bg"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkRevealer" id="actionbar_revealer">
|
|
<property name="transition-type">slide-up</property>
|
|
<child>
|
|
<object class="GtkActionBar" id="actionbar">
|
|
<child type="end">
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">cancel</property>
|
|
<property name="receives-default">True</property>
|
|
<signal name="clicked" handler="on_selection_cancel_clicked" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child type="end">
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">queue</property>
|
|
<property name="receives-default">True</property>
|
|
<signal name="clicked" handler="on_selection_add_clicked" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="panel_standalone">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkStack" id="standalone_stack">
|
|
<property name="vexpand">true</property>
|
|
<property name="transition-type">crossfade</property>
|
|
<child>
|
|
<object class="GtkSpinner" id="standalone_spinner">
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">False</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="standalone_scroll">
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">True</property>
|
|
<property name="kinetic-scrolling">False</property>
|
|
<property name="overlay-scrolling">False</property>
|
|
<child>
|
|
<object class="GtkViewport">
|
|
<property name="visible">True</property>
|
|
<property name="can-focus">False</property>
|
|
<child>
|
|
<object class="GtkImage" id="standalone_image">
|
|
<property name="icon-name">gtk-missing-image</property>
|
|
<property name="icon-size">large</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkActionBar" id="actionbar_standalone">
|
|
<child type="end">
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">play</property>
|
|
<property name="receives-default">True</property>
|
|
<signal name="clicked" handler="on_standalone_play_clicked" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child type="end">
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">queue</property>
|
|
<property name="receives-default">True</property>
|
|
<signal name="clicked" handler="on_standalone_queue_clicked" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</template>
|
|
</interface>
|