diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:39:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:39:48 +0000 |
commit | 3ade071f273aaa973e44bf95d6b1d4913a18f03b (patch) | |
tree | e2f99d267ae18427645404f215b984afbe73098d /src/resources | |
parent | Initial commit. (diff) | |
download | nautilus-3ade071f273aaa973e44bf95d6b1d4913a18f03b.tar.xz nautilus-3ade071f273aaa973e44bf95d6b1d4913a18f03b.zip |
Adding upstream version 43.2.upstream/43.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/resources')
35 files changed, 4673 insertions, 0 deletions
diff --git a/src/resources/Checkerboard.png b/src/resources/Checkerboard.png Binary files differnew file mode 100644 index 0000000..3e43acd --- /dev/null +++ b/src/resources/Checkerboard.png diff --git a/src/resources/gtk/help-overlay.ui b/src/resources/gtk/help-overlay.ui new file mode 100644 index 0000000..42bad9f --- /dev/null +++ b/src/resources/gtk/help-overlay.ui @@ -0,0 +1,406 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <object class="GtkShortcutsWindow" id="help_overlay"> + <property name="modal">True</property> + <child> + <object class="GtkShortcutsSection"> + <property name="visible">True</property> + <property name="section-name">shortcuts</property> + <property name="max-height">12</property> + <child> + <object class="GtkShortcutsGroup"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">General</property> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">New window</property> + <property name="accelerator"><Primary>N</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Close window or tab</property> + <property name="accelerator"><Primary>W</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Quit</property> + <property name="accelerator"><Primary>Q</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Search</property> + <property name="accelerator"><Primary>F</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Bookmark current location</property> + <property name="accelerator"><Primary>D</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Show help</property> + <property name="accelerator">F1</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Shortcuts</property> + <property name="accelerator"><Primary>question</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Undo</property> + <property name="accelerator"><Primary>z</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Redo</property> + <property name="accelerator"><shift><Primary>z</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkShortcutsGroup"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Opening</property> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Open</property> + <property name="accelerator">Return <Primary>O</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Open in new tab</property> + <property name="accelerator"><Primary>Return</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Open in new window</property> + <property name="accelerator"><shift>Return</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Open item location (search and recent only)</property> + <property name="accelerator"><alt><Primary>O</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Open with default application</property> + <property name="accelerator"><Primary>O <alt>Down</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkShortcutsGroup"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Tabs</property> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">New tab</property> + <property name="accelerator"><Primary>T</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Go to previous tab</property> + <property name="accelerator"><Primary>Page_Up</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Go to next tab</property> + <property name="accelerator"><Primary>Page_Down</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Open tab</property> + <property name="accelerator"><alt>0...8</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Move tab left</property> + <property name="accelerator"><shift><Primary>Page_Up</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Move tab right</property> + <property name="accelerator"><shift><Primary>Page_Down</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Restore tab</property> + <property name="accelerator"><shift><Primary>T</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkShortcutsGroup"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Navigation</property> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Go back</property> + <property name="accelerator"><alt>Left</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Go forward</property> + <property name="accelerator"><alt>Right</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Go up</property> + <property name="accelerator"><alt>Up</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Go down</property> + <property name="accelerator"><alt>Down</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Go to home folder</property> + <property name="accelerator"><alt>Home</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Enter location</property> + <property name="accelerator"><Primary>L</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Location bar with root location</property> + <property name="accelerator">slash</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Location bar with home location</property> + <property name="accelerator">asciitilde</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkShortcutsGroup"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">View</property> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Zoom in</property> + <property name="accelerator"><Primary>plus</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Zoom out</property> + <property name="accelerator"><Primary>minus</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Reset zoom</property> + <property name="accelerator"><Primary>0</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Refresh view</property> + <property name="accelerator">F5 <Primary>R</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Show/hide hidden files</property> + <property name="accelerator"><Primary>H</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Show/hide sidebar</property> + <property name="accelerator">F9</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Show/hide action menu</property> + <property name="accelerator">F10</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">List view</property> + <property name="accelerator"><Primary>1</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Grid view</property> + <property name="accelerator"><Primary>2</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkShortcutsGroup"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Editing</property> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Create folder</property> + <property name="accelerator"><shift><Primary>N</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Rename</property> + <property name="accelerator">F2</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Move to trash</property> + <property name="accelerator">Delete</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Delete permanently</property> + <property name="accelerator"><shift>Delete</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Create link to copied item</property> + <property name="accelerator"><Primary>M</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Create link to selected item</property> + <property name="accelerator"><Primary><shift>M</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Cut</property> + <property name="accelerator"><Primary>X</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Copy</property> + <property name="accelerator"><Primary>C</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Paste</property> + <property name="accelerator"><Primary>V</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Select all</property> + <property name="accelerator"><Primary>A</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Invert selection</property> + <property name="accelerator"><shift><Primary>I</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Select items matching</property> + <property name="accelerator"><Primary>S</property> + </object> + </child> + <child> + <object class="GtkShortcutsShortcut"> + <property name="visible">True</property> + <property name="title" translatable="yes" context="shortcut window">Show item properties</property> + <property name="accelerator"><Primary>I <alt>Return</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> +</interface> diff --git a/src/resources/icons/external-link-symbolic.svg b/src/resources/icons/external-link-symbolic.svg new file mode 100644 index 0000000..a24ed4b --- /dev/null +++ b/src/resources/icons/external-link-symbolic.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#2e3436"><path d="m 2 3 v 11 h 11 v -4 h -2 v 2 h -7 v -7 h 2 v -2 z m 0 0"/><path d="m 9 2 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 h 3 v 3 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 v -4 c 0 -0.550781 -0.449219 -1 -1 -1 z m 0 0"/><path d="m 13 2 h 1 v 1 h -1 z m 0 0"/><path d="m 12.292969 2.289062 l -4.5 4.46875 c -0.390625 0.390626 -0.390625 1.027344 0 1.414063 c 0.390625 0.394531 1.023437 0.394531 1.414062 0.007813 l 4.5 -4.46875 c 0.390625 -0.390626 0.390625 -1.027344 0 -1.414063 c -0.386719 -0.394531 -1.019531 -0.394531 -1.414062 -0.007813 z m 0 0"/><path d="m 13 7 h 1 v 1 h -1 z m 0 0"/><path d="m 8 2 h 1 v 1 h -1 z m 0 0"/></g></svg> diff --git a/src/resources/icons/funnel-symbolic.svg b/src/resources/icons/funnel-symbolic.svg new file mode 100644 index 0000000..6e01001 --- /dev/null +++ b/src/resources/icons/funnel-symbolic.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 0 1.007812 h 15 l -6 7 v 6 l -3 2 v -8 z m 0 0" fill="#222222"/></svg> diff --git a/src/resources/icons/quotation-symbolic.svg b/src/resources/icons/quotation-symbolic.svg new file mode 100644 index 0000000..cc92cdd --- /dev/null +++ b/src/resources/icons/quotation-symbolic.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 1 3 l -1 3 v 2.5 c 0 0.277344 0.222656 0.5 0.5 0.5 h 2 c 0.277344 0 0.5 -0.222656 0.5 -0.5 v -2 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 h -0.5 l 1 -3 z m 4 0 l -1 3 v 2.5 c 0 0.277344 0.222656 0.5 0.5 0.5 h 2 c 0.277344 0 0.5 -0.222656 0.5 -0.5 v -2 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 h -0.5 l 1 -3 z m 4.5 4 c -0.277344 0 -0.5 0.222656 -0.5 0.5 v 2 c 0 0.277344 0.222656 0.5 0.5 0.5 h 0.5 l -1 3 h 2 l 1 -3 v -2.5 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 z m 4 0 c -0.277344 0 -0.5 0.222656 -0.5 0.5 v 2 c 0 0.277344 0.222656 0.5 0.5 0.5 h 0.5 l -1 3 h 2 l 1 -3 v -2.5 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 z m 0 0" fill="#222222"/></svg> diff --git a/src/resources/nautilus.gresource.xml b/src/resources/nautilus.gresource.xml new file mode 100644 index 0000000..bfe8b2b --- /dev/null +++ b/src/resources/nautilus.gresource.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/org/gnome/nautilus"> + <file compressed="true">ui/nautilus-preferences-window.ui</file> + <file compressed="true">ui/nautilus-search-popover.ui</file> + <file>ui/nautilus-app-chooser.ui</file> + <file>ui/nautilus-pathbar-context-menu.ui</file> + <file>ui/nautilus-toolbar.ui</file> + <file>ui/nautilus-history-controls.ui</file> + <file>ui/nautilus-progress-indicator.ui</file> + <file>ui/nautilus-view-controls.ui</file> + <file>ui/nautilus-toolbar-view-menu.ui</file> + <file>ui/nautilus-column-chooser.ui</file> + <file>ui/nautilus-list-view-column-editor.ui</file> + <file>ui/nautilus-create-folder-dialog.ui</file> + <file>ui/nautilus-compress-dialog.ui</file> + <file>ui/nautilus-rename-file-popover.ui</file> + <file>ui/nautilus-files-view-context-menus.ui</file> + <file>ui/nautilus-progress-info-widget.ui</file> + <file>ui/nautilus-window.ui</file> + <file>gtk/help-overlay.ui</file> + <file>ui/nautilus-batch-rename-dialog.ui</file> + <file>ui/nautilus-properties-window.ui</file> + <file>ui/nautilus-file-properties-change-permissions.ui</file> + <file>ui/nautilus-file-conflict-dialog.ui</file> + <file>ui/nautilus-files-view-select-items.ui</file> + <file>ui/nautilus-files-view.ui</file> + <file>ui/nautilus-operations-ui-manager-request-passphrase.ui</file> + <file>ui/nautilus-grid-cell.ui</file> + <file>ui/nautilus-name-cell.ui</file> + <file alias="gtk/ui/nautilusgtksidebarrow.ui">../gtk/nautilusgtksidebarrow.ui</file> + <file alias="gtk/ui/nautilusgtkplacesview.ui">../gtk/nautilusgtkplacesview.ui</file> + <file alias="gtk/ui/nautilusgtkplacesviewrow.ui">../gtk/nautilusgtkplacesviewrow.ui</file> + <file alias="icons/filmholes.png">../../icons/filmholes.png</file> + <file>style.css</file> + <file>style-hc.css</file> + <file>text-x-preview.png</file> + <file>Checkerboard.png</file> + </gresource> + <gresource prefix="/org/gnome/nautilus/icons/scalable/actions/"> + <file alias="quotation-symbolic.svg" preprocess="xml-stripblanks">icons/quotation-symbolic.svg</file> + <file alias="funnel-symbolic.svg" preprocess="xml-stripblanks">icons/funnel-symbolic.svg</file> + <file alias="external-link-symbolic.svg" preprocess="xml-stripblanks">icons/external-link-symbolic.svg</file> + </gresource> +</gresources> diff --git a/src/resources/style-hc.css b/src/resources/style-hc.css new file mode 100644 index 0000000..54e2cff --- /dev/null +++ b/src/resources/style-hc.css @@ -0,0 +1,16 @@ +#NautilusPathBar { + box-shadow: inset 0 0 0 1px @borders; +} + +#NautilusPathButton:not(:hover):not(:drop(active)), +#NautilusPathButton.current-dir:not(:drop(active)) { + box-shadow: none; +} + +#NautilusQueryEditorTag { + box-shadow: inset 0 0 0 1px @borders; +} + +.disk-space-free { + color: alpha(currentColor, 0.3); +} diff --git a/src/resources/style.css b/src/resources/style.css new file mode 100644 index 0000000..54cf229 --- /dev/null +++ b/src/resources/style.css @@ -0,0 +1,301 @@ +/* Toolbar */ + +@keyframes needs_attention_keyframes { + 0% { } + 10% { background-color: @accent_bg_color; border-radius: 999999px; } + 100% { } +} + +.nautilus-operations-button-needs-attention { + animation: needs_attention_keyframes 2s ease-in-out; +} +.nautilus-operations-button-needs-attention-multiple { + animation: needs_attention_keyframes 3s ease-in-out; + animation-iteration-count: 3; +} + +/* Remove white background and highlight on hover which GTK adds by default + * to GtkListBox. TODO: Switch to GtkListView and drop this CSS hack. */ +.operations-list, +.operations-list > :hover { + background: none; +} + +/* Path bar */ + +#NautilusPathBar { + background-color: alpha(currentColor, 0.1); + border-radius: 6px; +} +#NautilusPathBar > menubutton { + margin: 0px; +} + +#NautilusPathBar > scrolledwindow undershoot.left { + background: linear-gradient(to right, @headerbar_shade_color 6px, alpha(@headerbar_shade_color, 0) 24px); + border-left: solid 1px @borders; +} +#NautilusPathBar > scrolledwindow undershoot.right { + background: linear-gradient(to left, @headerbar_shade_color 6px, alpha(@headerbar_shade_color, 0) 24px); + border-right: solid 1px @borders; +} + +/* Match sidebar's rounded corners on the "start" side. */ +#NautilusPathBar > scrolledwindow:dir(ltr) undershoot.left { + border-radius: 6px 0px 0px 6px; +} +#NautilusPathBar > scrolledwindow:dir(rtl) undershoot.right { + border-radius: 0px 6px 6px 0px; +} + +#NautilusPathButton { + margin: 3px; + border-radius: 4px; + padding-top: 0px; + padding-bottom: 0px; +} + +#NautilusPathButton:not(:hover), +#NautilusPathButton.current-dir +{ + background: none; +} + +#NautilusPathButton:not(.current-dir):not(:backdrop):hover label, +#NautilusPathButton:not(.current-dir):not(:backdrop):hover image { + opacity: 1; +} + +/* Search bar */ + +#NautilusQueryEditor > * { + margin-top: 5px; + margin-bottom: 5px; +} + +#NautilusQueryEditorTag > button, +#NautilusQueryEditor > menubutton > button { + min-width: 24px; + min-height: 24px; + margin: 0px; +} + +#NautilusQueryEditorTag { + background-color: alpha(currentColor, 0.1); + border-radius: 100px; +} + +/* Mimic the style of GtkEntry icons, but keep button background if pressed. */ +#NautilusQueryEditor > menubutton > button:not(:checked) { + background: none; +} +#NautilusQueryEditor > menubutton > button:not(:hover):not(:checked) { + opacity: 0.7; +} + +/* Floating status bar */ +.floating-bar { + padding: 3px; + background-color: @view_bg_color; + box-shadow: 0 0 0 1px @borders; + border-radius: 8px 0 0 0; +} + +.floating-bar.bottom.left { /* axes left border and border radius */ + border-top-left-radius: 0; +} +.floating-bar.bottom.right { /* axes right border and border radius */ + border-top-right-radius: 0; +} + +.floating-bar:backdrop { + background-color: @view_bg_color; + border-color: @unfocused_borders; +} + +.floating-bar button { + padding: 0px; +} + +.disk-space-free { + color: alpha(currentColor, 0.15); +} +.disk-space-used { + color: @accent_bg_color; +} + +.search-information { + background-color: @accent_bg_color; + color:white; + padding:2px; +} + +.batch-rename-preview { + border-top: solid @borders 1px; +} +.conflict-row { + background: @warning_bg_color; + color: @warning_fg_color; +} + +/* Grid view */ +.nautilus-grid-view gridview { + padding: 15px; +} + +.nautilus-grid-view gridview > child { + padding: 0px; + border-radius: 12px; +} +.nautilus-grid-view #NautilusViewCell { + padding: 6px; + border-radius: 12px; +} + +/* Column view */ + +/* Setup padding on the list. Horizontal padding must be set on the columnview + * for it to calculate column widths correctly. */ +.nautilus-list-view columnview { + padding-left: 24px; + padding-right: 24px; +} +.nautilus-list-view columnview > listview { + padding-top: 12px; + padding-bottom: 24px; +} + +/* Use negative margins to extend rubberbanding area into the columnview's + * padding, then apply positive margin on rows to reestablish positioning. */ +.nautilus-list-view columnview > listview { + margin-left: -24px; + margin-right: -24px; +} +.nautilus-list-view columnview > listview > row { + margin-left: 24px; + margin-right: 24px; +} + +.nautilus-list-view columnview > listview > row { + border-radius: 6px; + margin-top: 4px; + margin-bottom: 4px; +} + +.nautilus-list-view.compact columnview > listview > row { + margin-top: 2px; + margin-bottom: 2px; +} + +/* GTK unconditionally sets padding on GtkColumnViewCell, even with .data-table. + * We don't want this to hpappen because we have event controllers on the child, + * which should thus cover the whole area of the row. */ +.nautilus-list-view columnview > listview > row > cell { + padding: 0px; +} + +.nautilus-list-view #NautilusViewCell { + padding: 6px; +} + +/* We want drop feedback on the whole row. Disable per-cell feedback */ +.nautilus-list-view #NautilusViewCell:drop(active) { + box-shadow: none; +} + +.nautilus-list-view.compact #NautilusViewCell { + padding-top: 3px; + padding-bottom: 3px; +} + +.nautilus-list-view:not(.compact) image.star { + padding: 6px; +} + +.nautilus-list-view menubutton.fts-snippet > button { + border-radius: 100px; + padding-top: 2px; + padding-bottom: 2px; + padding-left: 12px; + padding-right: 12px; +} +.nautilus-list-view menubutton.fts-snippet > popover > * { + padding: 18px; +} + +/* Both views */ +.nautilus-list-view:drop(active), +.nautilus-grid-view:drop(active) { + box-shadow: none; +} + +.nautilus-list-view columnview > listview > row.activatable:hover, +.nautilus-grid-view gridview > child.activatable:hover { + background-color: alpha(currentColor, .04); +} + +.nautilus-list-view columnview > listview > row.activatable:active, +.nautilus-grid-view gridview > child.activatable:active { + background-color: alpha(currentColor, .08); +} + +.nautilus-list-view columnview > listview > row:selected, +.nautilus-grid-view gridview > child:selected { + background-color: alpha(@accent_bg_color, .15); +} + +.nautilus-list-view columnview > listview > row.activatable:selected:hover, +.nautilus-grid-view gridview > child.activatable:selected:hover { + background-color: alpha(@accent_bg_color, .20); +} + +.nautilus-list-view columnview > listview > row.activatable:selected:active, +.nautilus-grid-view gridview > child.activatable:selected:active { + background-color: alpha(@accent_bg_color, .25); +} + +.view .thumbnail { + background: url('/org/gnome/nautilus/Checkerboard.png') repeat; + border-radius: 2px; + /* Draw a shin and outline to meld better with full-color icons */ + box-shadow: 0px 0px 0px 1px @shade_color, + 0px 2px 0px 0px @shade_color; +} + +.view picture { + filter: drop-shadow(0px 1px 1px rgba(0,0,0,0.3)); +} + +.view statuspage { + opacity: 0.50; +} + +.view .cut { + opacity: 0.55; +} + +.view image.star:hover { + opacity: 1; +} + +@keyframes rotate_star { + from { -gtk-icon-transform: rotate(-72deg); } + to {} +} + +.view image.star.added { + animation: rotate_star 0.4s ease; +} + +#NautilusAppChooser treeview { + min-height: 36px; + -gtk-icon-size: 32px; +} + +label.encrypted_zip { + background-image: -gtk-icontheme('system-lock-screen-symbolic'); + background-position: right center; + background-repeat: no-repeat; + background-size: 16px 16px; + padding-right: 22px; +} diff --git a/src/resources/text-x-preview.png b/src/resources/text-x-preview.png Binary files differnew file mode 100644 index 0000000..0d45ff9 --- /dev/null +++ b/src/resources/text-x-preview.png diff --git a/src/resources/ui/nautilus-app-chooser.ui b/src/resources/ui/nautilus-app-chooser.ui new file mode 100644 index 0000000..e30beac --- /dev/null +++ b/src/resources/ui/nautilus-app-chooser.ui @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <template class="NautilusAppChooser" parent="GtkDialog"> + <property name="title" translatable="yes">Open File</property> + <property name="focusable">False</property> + <property name="destroy-with-parent">True</property> + <property name="modal">True</property> + <property name="default-width">420</property> + <property name="default-height">560</property> + <child internal-child="content_area"> + <object class="GtkBox" id="content_area"> + <property name="orientation">vertical</property> + <child> + <object class="GtkStack"> + <property name="hexpand">True</property> + <child> + <object class="GtkStackPage"> + <property name="name">list</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vscrollbar-policy">never</property> + <property name="vexpand">true</property> + <style> + <class name="background"/> + </style> + <property name="child"> + <object class="AdwClamp"> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <property name="margin-start">18</property> + <property name="margin-end">18</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkLabel" id="label_description"> + <property name="wrap">True</property> + <property name="wrap-mode">PANGO_WRAP_WORD_CHAR</property> + <property name="justify">center</property> + <property name="label" translatable="yes">Choose an application to open the selected files.</property> + </object> + </child> + <child> + <object class="GtkBox" id="app_chooser_widget_box"> + <property name="halign">center</property> + <property name="vexpand">True</property> + </object> + </child> + </object> + </property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkBox" id="set_default_box"> + <property name="orientation">vertical</property> + <style> + <class name="background"/> + </style> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkListBox"> + <style> + <class name="background"/> + </style> + <child> + <object class="AdwActionRow" id="set_default_row"> + <property name="hexpand">true</property> + <property name="selectable">false</property> + <property name="activatable-widget">set_as_default_switch</property> + <property name="title" translatable="yes">Always use for this file type</property> + <child> + <object class="GtkSwitch" id="set_as_default_switch"> + <property name="halign">end</property> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_button"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">True</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="ok_button"> + <property name="label" translatable="yes">_Open</property> + <property name="use-underline">True</property> + <property name="sensitive">False</property> + <signal name="clicked" object="NautilusAppChooser" handler="open_cb" swapped="yes"/> + </object> + </child> + <action-widgets> + <action-widget response="ok" default="true">ok_button</action-widget> + <action-widget response="cancel">cancel_button</action-widget> + </action-widgets> + </template> +</interface> diff --git a/src/resources/ui/nautilus-batch-rename-dialog.ui b/src/resources/ui/nautilus-batch-rename-dialog.ui new file mode 100644 index 0000000..7da1e95 --- /dev/null +++ b/src/resources/ui/nautilus-batch-rename-dialog.ui @@ -0,0 +1,395 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <menu id="add_tag_menu"> + <section> + <attribute name="label" translatable="yes">Automatic Numbers</attribute> + <item> + <attribute name="label" translatable="yes">1, 2, 3, 4</attribute> + <attribute name="action">dialog.add-numbering-no-zero-pad-tag</attribute> + </item> + <item> + <attribute name="label" translatable="yes">01, 02, 03, 04</attribute> + <attribute name="action">dialog.add-numbering-one-zero-pad-tag</attribute> + </item> + <item> + <attribute name="label" translatable="yes">001, 002, 003, 004</attribute> + <attribute name="action">dialog.add-numbering-two-zero-pad-tag</attribute> + </item> + </section> + <section> + <attribute name="label" translatable="yes">Metadata</attribute> + <item> + <attribute name="label" translatable="yes">Creation Date</attribute> + <attribute name="action">dialog.add-creation-date-tag</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Camera Model</attribute> + <attribute name="action">dialog.add-equipment-tag</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Season Number</attribute> + <attribute name="action">dialog.add-season-tag</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Episode Number</attribute> + <attribute name="action">dialog.add-episode-tag</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Track Number</attribute> + <attribute name="action">dialog.add-track-number-tag</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Artist Name</attribute> + <attribute name="action">dialog.add-artist-name-tag</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Title</attribute> + <attribute name="action">dialog.add-title-tag</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Album Name</attribute> + <attribute name="action">dialog.add-album-name-tag</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Original File Name</attribute> + <attribute name="action">dialog.add-original-file-name-tag</attribute> + </item> + </section> + </menu> + <menu id="numbering_order_menu"> + <section> + <item> + <attribute name="label" translatable="yes">Original Name (Ascending)</attribute> + <attribute name="action">dialog.numbering-order-changed</attribute> + <attribute name="target">name-ascending</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Original Name (Descending)</attribute> + <attribute name="action">dialog.numbering-order-changed</attribute> + <attribute name="target">name-descending</attribute> + </item> + <item> + <attribute name="label" translatable="yes">First Modified</attribute> + <attribute name="action">dialog.numbering-order-changed</attribute> + <attribute name="target">first-modified</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Last Modified</attribute> + <attribute name="action">dialog.numbering-order-changed</attribute> + <attribute name="target">last-modified</attribute> + </item> + </section> + </menu> + <template class="NautilusBatchRenameDialog" parent="GtkDialog"> + <property name="modal">True</property> + <property name="height-request">563</property> + <property name="destroy_with_parent">True</property> + <signal name="response" handler="batch_rename_dialog_on_response"/> + <child type="action"> + <object class="GtkButton" id="cancel_button"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use_underline">True</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="rename_button"> + <property name="label" translatable="yes">_Rename</property> + <property name="use_underline">True</property> + <style> + <class name="suggested-action"/> + </style> + </object> + </child> + <action-widgets> + <action-widget response="ok" default="true">rename_button</action-widget> + <action-widget response="cancel">cancel_button</action-widget> + </action-widgets> + <child internal-child="content_area"> + <object class="GtkBox" id="content_area"> + <child> + <object class="GtkGrid" id="grid"> + <property name="row-spacing">6</property> + <property name="column-spacing">6</property> + <property name="hexpand">True</property> + <child> + <object class="GtkBox"> + <property name="spacing">15</property> + <property name="hexpand">True</property> + <property name="halign">center</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <child> + <object class="GtkCheckButton" id="format_mode_button"> + <property name="label" translatable="yes">Rename _using a template</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <signal name="toggled" handler="batch_rename_dialog_mode_changed" swapped="yes" /> + </object> + </child> + <child> + <object class="GtkCheckButton" id="replace_mode_button"> + <property name="label" translatable="yes">Find and replace _text</property> + <property name="use_underline">True</property> + <property name="group">format_mode_button</property> + <signal name="toggled" handler="batch_rename_dialog_mode_changed" swapped="yes"/> + </object> + </child> + <layout> + <property name="column">3</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkStack" id="mode_stack"> + <property name="vhomogeneous">False</property> + <property name="hhomogeneous">True</property> + <property name="transition_type">crossfade</property> + <property name="transition_duration">100</property> + <child> + <object class="GtkStackPage"> + <property name="name">format</property> + <property name="title" translatable="yes" comments="Translators: This is a noun, not a verb">Format</property> + <property name="child"> + <object class="GtkGrid" id="format_stack_child"> + <property name="margin-start">40</property> + <property name="margin-end">40</property> + <property name="margin-bottom">10</property> + <property name="row-spacing">15</property> + <property name="column-spacing">6</property> + <child> + <object class="GtkBox"> + <property name="halign">center</property> + <child> + <object class="GtkEntry" id="name_entry"> + <property name="width_request">400</property> + <property name="hexpand">True</property> + <property name="activates-default">True</property> + <signal name="activate" handler="file_names_widget_on_activate" swapped="yes"/> + </object> + </child> + <child> + <object class="GtkMenuButton"> + <property name="menu_model">add_tag_menu</property> + <property name="child"> + <object class="AdwButtonContent"> + <property name="icon-name">list-add-symbolic</property> + <property name="label" translatable="yes">Add</property> + </object> + </property> + </object> + </child> + <style> + <class name="linked"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">0</property> + <property name="column-span">5</property> + </layout> + </object> + </child> + <child> + <object class="GtkRevealer" id="numbering_revealer"> + <property name="halign">center</property> + <property name="child"> + <object class="GtkBox" id="numbering_box"> + <property name="spacing">10</property> + <child> + <object class="GtkLabel" id="numbering_label"> + <property name="label" translatable="yes">Automatic Numbering Order</property> + </object> + </child> + <child> + <object class="GtkMenuButton" id="numbering_order_button"> + <property name="menu-model">numbering_order_menu</property> + <property name="always-show-arrow">True</property> + </object> + </child> + </object> + </property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + <property name="column-span">5</property> + </layout> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">replace</property> + <property name="title" translatable="yes" context="title">Replace</property> + <property name="child"> + <object class="GtkGrid" id="replace_stack_child"> + <property name="margin-start">40</property> + <property name="margin-end">40</property> + <property name="margin-bottom">10</property> + <property name="hexpand">True</property> + <property name="halign">center</property> + <property name="row-spacing">15</property> + <property name="column-spacing">6</property> + <child> + <object class="GtkLabel" id="existing_text_label"> + <property name="label" translatable="yes">Existing Text</property> + <property name="sensitive">False</property> + <layout> + <property name="column">0</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="find_entry"> + <property name="width_request">375</property> + <property name="activates-default">True</property> + <signal name="changed" handler="file_names_widget_entry_on_changed" swapped="yes"/> + <signal name="activate" handler="file_names_widget_on_activate" swapped="yes"/> + <layout> + <property name="column">1</property> + <property name="row">0</property> + <property name="column-span">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel" id="replace_label"> + <property name="label" translatable="yes">Replace With</property> + <property name="sensitive">False</property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="replace_entry"> + <property name="width_request">375</property> + <signal name="changed" handler="file_names_widget_entry_on_changed" swapped="yes"/> + <signal name="activate" handler="file_names_widget_on_activate" swapped="yes"/> + <layout> + <property name="column">1</property> + <property name="row">1</property> + <property name="column-span">3</property> + </layout> + </object> + </child> + </object> + </property> + </object> + </child> + <layout> + <property name="column">0</property> + <property name="row">1</property> + <property name="column-span">8</property> + </layout> + </object> + </child> + <child> + <object class="GtkScrolledWindow" id="scrolled_window"> + <property name="hexpand">False</property> + <property name="vexpand">True</property> + <property name="max-content-height">250</property> + <property name="min-content-height">250</property> + <property name="max-content-width">600</property> + <property name="min-content-width">600</property> + <style> + <class name="batch-rename-preview"/> + </style> + <property name="child"> + <object class="GtkViewport"> + <property name="child"> + <object class="GtkBox" id="a_box"> + <child> + <object class="GtkListBox" id="original_name_listbox"> + <property name="hexpand">True</property> + <property name="selection_mode">GTK_SELECTION_NONE</property> + </object> + </child> + <child> + <object class="GtkListBox" id="arrow_listbox"> + <property name="selection_mode">GTK_SELECTION_NONE</property> + </object> + </child> + <child> + <object class="GtkListBox" id="result_listbox"> + <property name="hexpand">True</property> + <property name="selection_mode">GTK_SELECTION_NONE</property> + </object> + </child> + </object> + </property> + </object> + </property> + <layout> + <property name="column">0</property> + <property name="row">2</property> + <property name="column-span">8</property> + </layout> + </object> + </child> + <child> + <object class="GtkBox" id="conflict_box"> + <property name="spacing">6</property> + <property name="visible">False</property> + <property name="margin-start">6</property> + <child> + <object class="GtkLabel" id="conflict_label"> + <property name="hexpand">True</property> + <property name="xalign">0</property> + </object> + </child> + <child> + <object class="GtkBox"> + <child> + <object class="GtkButton" id="conflict_down"> + <property name="icon-name">go-down-symbolic</property> + <signal name="clicked" handler="select_next_conflict_down" swapped="yes"/> + <style> + <class name="flat"/> + </style> + </object> + </child> + <child> + <object class="GtkButton" id="conflict_up"> + <property name="icon-name">go-up-symbolic</property> + <signal name="clicked" handler="select_next_conflict_up" swapped="yes"/> + <style> + <class name="flat"/> + </style> + </object> + </child> + </object> + </child> + <layout> + <property name="column">0</property> + <property name="row">3</property> + <property name="column-span">8</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + </template> + <object class="GtkImage" id="done_image"> + <property name="icon_name">object-select-symbolic</property> + </object> +</interface> diff --git a/src/resources/ui/nautilus-column-chooser.ui b/src/resources/ui/nautilus-column-chooser.ui new file mode 100644 index 0000000..24cce3d --- /dev/null +++ b/src/resources/ui/nautilus-column-chooser.ui @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="GtkListStore" id="store"> + <columns> + <!-- column-name COLUMN_VISIBLE --> + <column type="gboolean"/> + <!-- column-name COLUMN_LABEL --> + <column type="gchararray"/> + <!-- column-name COLUMN_NAME --> + <column type="gchararray"/> + <!-- column-name COLUMN_SENSITIVE --> + <column type="gboolean"/> + </columns> + </object> + <template class="NautilusColumnChooser" parent="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkScrolledWindow"> + <property name="child"> + <object class="GtkTreeView" id="view"> + <property name="vexpand">True</property> + <property name="model">store</property> + <property name="headers-visible">False</property> + <property name="reorderable">True</property> + <signal name="row-activated" handler="view_row_activated_callback" swapped="no"/> + <child internal-child="selection"> + <object class="GtkTreeSelection"> + <signal name="changed" handler="selection_changed_callback" swapped="no"/> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="visible-column"> + <child> + <object class="GtkCellRendererToggle"> + <signal name="toggled" handler="visible_toggled_callback" swapped="no"/> + </object> + <attributes> + <attribute name="sensitive">3</attribute> + <attribute name="active">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="label-column"> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="sensitive">3</attribute> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> + </child> + </object> + </property> + <style> + <class name="frame"/> + </style> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">12</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkButton" id="move_up_button"> + <property name="sensitive">False</property> + <property name="icon-name">go-up-symbolic</property> + <signal name="clicked" handler="move_up_clicked_callback" swapped="no"/> + </object> + </child> + <child> + <object class="GtkButton" id="move_down_button"> + <property name="sensitive">False</property> + <property name="icon-name">go-down-symbolic</property> + <signal name="clicked" handler="move_down_clicked_callback" swapped="no"/> + </object> + </child> + <style> + <class name="linked"/> + </style> + </object> + </child> + <child> + <object class="GtkBox"> + <child> + <object class="GtkButton" id="use_default_button"> + <property name="hexpand">true</property> + <property name="halign">end</property> + <property name="label" translatable="yes">Reset to De_fault</property> + <property name="tooltip-text" translatable="yes">Replace the current List Columns settings with the default settings</property> + <property name="use-underline">True</property> + <signal name="clicked" handler="use_default_clicked_callback" swapped="no"/> + </object> + </child> + </object> + </child> + </object> + </child> + </template> +</interface> diff --git a/src/resources/ui/nautilus-compress-dialog.ui b/src/resources/ui/nautilus-compress-dialog.ui new file mode 100644 index 0000000..732afee --- /dev/null +++ b/src/resources/ui/nautilus-compress-dialog.ui @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="GtkDialog" id="compress_dialog"> + <property name="title" translatable="yes">Create Compressed Archive</property> + <property name="resizable">False</property> + <property name="modal">True</property> + <property name="destroy_with_parent">True</property> + <property name="use-header-bar">1</property> + <property name="default-width">500</property> + <property name="default-height">210</property> + <child internal-child="content_area"> + <object class="GtkBox" id="content_area"> + <property name="orientation">vertical</property> + <property name="margin-top">30</property> + <property name="margin-bottom">30</property> + <property name="margin-start">30</property> + <property name="margin-end">30</property> + <property name="width-request">390</property> + <property name="halign">center</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="name_label"> + <property name="label" translatable="yes">Archive name</property> + <property name="xalign">0</property> + <attributes> + <attribute name="weight" value="bold"></attribute> + </attributes> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">12</property> + <child> + <object class="GtkEntry" id="name_entry"> + <accessibility> + <relation name="labelled-by">name_label</relation> + </accessibility> + <property name="hexpand">True</property> + <property name="width-chars">30</property> + </object> + </child> + <child> + <object class="GtkDropDown" id="extension_dropdown"/> + </child> + </object> + </child> + <child> + <object class="GtkRevealer" id="error_revealer"> + <property name="child"> + <object class="GtkLabel" id="error_label"> + <property name="margin_top">4</property> + <property name="margin_bottom">4</property> + <property name="xalign">0</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkLabel" id="passphrase_label"> + <property name="visible">False</property> + <property name="label" translatable="yes">Password</property> + <property name="margin-top">6</property> + <property name="xalign">0</property> + </object> + </child> + <child> + <object class="GtkEntry" id="passphrase_entry"> + <accessibility> + <relation name="labelled-by">passphrase_label</relation> + </accessibility> + <property name="visible">False</property> + <property name="placeholder-text" translatable="yes">Enter a password here.</property> + <property name="input-purpose">password</property> + <property name="visibility">False</property> + <property name="secondary-icon-name">view-conceal</property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_button"> + <property name="label" translatable="yes">Cancel</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="activate_button"> + <property name="label" translatable="yes">Create</property> + <property name="sensitive">False</property> + </object> + </child> + <action-widgets> + <action-widget response="ok" default="true">activate_button</action-widget> + <action-widget response="cancel">cancel_button</action-widget> + </action-widgets> + </object> + <object class="GtkSizeGroup" id="extension_sizegroup"/> +</interface> diff --git a/src/resources/ui/nautilus-create-folder-dialog.ui b/src/resources/ui/nautilus-create-folder-dialog.ui new file mode 100644 index 0000000..699180d --- /dev/null +++ b/src/resources/ui/nautilus-create-folder-dialog.ui @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="GtkDialog" id="create_folder_dialog"> + <property name="resizable">False</property> + <property name="modal">True</property> + <property name="destroy_with_parent">True</property> + <property name="use-header-bar">1</property> + <property name="width_request">450</property> + <child internal-child="content_area"> + <object class="GtkBox" id="content_area"> + <property name="orientation">vertical</property> + <property name="margin_top">18</property> + <property name="margin_bottom">12</property> + <property name="margin_start">18</property> + <property name="margin_end">18</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="name_label"> + <property name="xalign">0</property> + </object> + </child> + <child> + <object class="GtkEntry" id="name_entry"> + <accessibility> + <relation name="labelled-by">name_label</relation> + </accessibility> + </object> + </child> + <child> + <object class="GtkRevealer" id="error_revealer"> + <property name="child"> + <object class="GtkLabel" id="error_label"> + <property name="margin_top">4</property> + <property name="margin_bottom">4</property> + <property name="xalign">0</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_button"> + <property name="label" translatable="yes">Cancel</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="ok_button"> + <property name="sensitive">False</property> + </object> + </child> + <action-widgets> + <action-widget response="ok" default="true">ok_button</action-widget> + <action-widget response="cancel">cancel_button</action-widget> + </action-widgets> + </object> +</interface> diff --git a/src/resources/ui/nautilus-file-conflict-dialog.ui b/src/resources/ui/nautilus-file-conflict-dialog.ui new file mode 100644 index 0000000..8993fb6 --- /dev/null +++ b/src/resources/ui/nautilus-file-conflict-dialog.ui @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <template class="NautilusFileConflictDialog" parent="GtkDialog"> + <property name="modal">True</property> + <property name="resizable">False</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <property name="margin-start">18</property> + <property name="margin-end">18</property> + <property name="spacing">12</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkLabel" id="primary_label"> + <property name="justify">center</property> + <property name="halign">center</property> + <property name="max-width-chars">50</property> + <property name="wrap">True</property> + <property name="wrap-mode">word-char</property> + <style> + <class name="title-2"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="secondary_label"> + <property name="justify">center</property> + <property name="halign">center</property> + <property name="max-width-chars">50</property> + <property name="wrap">True</property> + <property name="wrap-mode">word-char</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="halign">start</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkBox"> + <property name="spacing">12</property> + <child> + <object class="GtkPicture" id="dest_icon"/> + </child> + <child> + <object class="GtkLabel" id="dest_label"/> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">12</property> + <child> + <object class="GtkPicture" id="src_icon"/> + </child> + <child> + <object class="GtkLabel" id="src_label"/> + </child> + </object> + </child> + <child> + <object class="GtkExpander" id="expander"> + <property name="label" translatable="yes">_Select a new name for the destination</property> + <property name="use-underline">True</property> + <signal name="notify::expanded" handler="on_expanded_notify"/> + <child> + <object class="GtkBox"> + <property name="margin-top">6</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkEntry" id="entry"> + <property name="activates-default">True</property> + <property name="hexpand">True</property> + <signal name="changed" handler="entry_text_changed_cb"/> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">_Reset</property> + <property name="use-underline">True</property> + <signal name="clicked" handler="reset_button_clicked_cb"/> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbox"> + <signal name="toggled" handler="checkbox_toggled_cb"/> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Apply this action to all files and folders</property> + <property name="use-underline">True</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_button"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">True</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="rename_button"> + <property name="visible">False</property> + <property name="label" translatable="yes">Re_name</property> + <property name="use-underline">True</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="replace_button"> + <property name="label" translatable="yes">Re_place</property> + <property name="use-underline">True</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="skip_button"> + <property name="label" translatable="yes">_Skip</property> + <property name="use-underline">True</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_button</action-widget> + <!-- 3 is CONFLICT_RESPONSE_RENAME --> + <action-widget response="3">rename_button</action-widget> + <!-- 2 is CONFLICT_RESPONSE_REPLACE --> + <action-widget response="2" default="true">replace_button</action-widget> + <!-- 1 is CONFLICT_RESPONSE_SKIP --> + <action-widget response="1">skip_button</action-widget> + </action-widgets> + </template> +</interface> diff --git a/src/resources/ui/nautilus-file-properties-change-permissions.ui b/src/resources/ui/nautilus-file-properties-change-permissions.ui new file mode 100644 index 0000000..623b7db --- /dev/null +++ b/src/resources/ui/nautilus-file-properties-change-permissions.ui @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="GtkDialog" id="change_permissions_dialog"> + <property name="title" translatable="yes">Change Permissions for Enclosed Files</property> + <property name="modal">True</property> + <property name="destroy_with_parent">True</property> + <property name="use-header-bar">1</property> + <child type="action"> + <object class="GtkButton" id="cancel"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use_underline">True</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="change"> + <property name="label" translatable="yes">C_hange</property> + <property name="use_underline">True</property> + </object> + </child> + <child internal-child="content_area"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <style> + <class name="view"/> + </style> + <child> + <object class="GtkGrid" id="change_permissions_grid"> + <property name="halign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="orientation">vertical</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Files</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">1</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Folders</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">2</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Owner</property> + <property name="xalign">1</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkComboBox" id="file_owner_combo"> + <layout> + <property name="column">1</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkComboBox" id="folder_owner_combo"> + <layout> + <property name="column">2</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Group</property> + <property name="xalign">1</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkComboBox" id="file_group_combo"> + <layout> + <property name="column">1</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkComboBox" id="folder_group_combo"> + <layout> + <property name="column">2</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkComboBox" id="file_other_combo"> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkComboBox" id="folder_other_combo"> + <layout> + <property name="column">2</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Others</property> + <property name="xalign">1</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">3</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel</action-widget> + <action-widget response="ok">change</action-widget> + </action-widgets> + </object> +</interface> diff --git a/src/resources/ui/nautilus-files-view-context-menus.ui b/src/resources/ui/nautilus-files-view-context-menus.ui new file mode 100644 index 0000000..87f0c41 --- /dev/null +++ b/src/resources/ui/nautilus-files-view-context-menus.ui @@ -0,0 +1,260 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <menu id="background-menu"> + <item> + <attribute name="label" translatable="yes">New _Folder…</attribute> + <attribute name="action">view.new-folder</attribute> + </item> + <item> + <attribute name="label" translatable="yes">New _Document</attribute> + <attribute name="nautilus-menu-item">templates-submenu</attribute> + <link name="submenu" id="templates-submenu"/> + </item> + <item> + <attribute name="label" translatable="yes">Open _With…</attribute> + <attribute name="action">view.open-current-directory-with-other-application</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open in Consol_e</attribute> + <attribute name="action">view.current-directory-console</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <section> + <item> + <attribute name="label" translatable="yes">_Paste</attribute> + <attribute name="action">view.paste</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Paste as _Link</attribute> + <attribute name="action">view.create-link</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Select _All</attribute> + <attribute name="action">view.select-all</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Visible Columns…</attribute> + <attribute name="action">view.visible-columns</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Empty _Trash</attribute> + <attribute name="action">view.empty-trash</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + <section id="background-extensions-section"/> + <section> + <item> + <attribute name="label" translatable="yes">P_roperties</attribute> + <attribute name="action">view.current-directory-properties</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + </menu> + <menu id="selection-menu"> + <section id="new-folder-with-selection-section"/> + <section id="open-with-application-section"> + <item> + <attribute name="label" translatable="yes">_Extract</attribute> + <attribute name="action">view.extract-here</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">E_xtract to…</attribute> + <attribute name="action">view.extract-to</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open _With…</attribute> + <attribute name="action">view.open-with-other-application</attribute> + <attribute name="hidden-when">action-disabled</attribute> + <attribute name="nautilus-menu-item">open_with_in_main_menu</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Run as a Program</attribute> + <attribute name="action">view.run-in-terminal</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Open</attribute> + <attribute name="nautilus-menu-item">open_in_view_submenu</attribute> + <link name="submenu"> + <section> + <item> + <attribute name="label" translatable="yes">Open</attribute> + <attribute name="action">view.open-with-default-application</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open In New _Tab</attribute> + <attribute name="action">view.open-item-new-tab</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open In New _Window</attribute> + <attribute name="action">view.open-item-new-window</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Open _With…</attribute> + <attribute name="action">view.open-with-other-application</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open in Consol_e</attribute> + <attribute name="action">view.console</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + </link> + </item> + <item> + <attribute name="label" translatable="yes">_Open Item Location</attribute> + <attribute name="action">view.open-item-location</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <submenu> + <attribute name="label" translatable="yes">_Scripts</attribute> + <attribute name="nautilus-menu-item">scripts-submenu</attribute> + <section id="scripts-submenu-section"/> + <section> + <item> + <attribute name="label" translatable="yes">_Open Scripts Folder</attribute> + <attribute name="action">view.open-scripts-folder</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + </submenu> + </section> + <section id="drive-section"> + <item> + <attribute name="label" translatable="yes">_Mount</attribute> + <attribute name="action">view.mount-volume</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Unmount</attribute> + <attribute name="action">view.unmount-volume</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Eject</attribute> + <attribute name="action">view.eject-volume</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Start</attribute> + <attribute name="action">view.start-volume</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Stop</attribute> + <attribute name="action">view.stop-volume</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Detect Media</attribute> + <attribute name="action">view.detect-media</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Cu_t</attribute> + <attribute name="action">view.cut</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Copy</attribute> + <attribute name="action">view.copy</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Move to…</attribute> + <attribute name="action">view.move-to</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Copy to…</attribute> + <attribute name="action">view.copy-to</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Rena_me…</attribute> + <attribute name="action">view.rename</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Paste Into Folder</attribute> + <attribute name="action">view.paste-into</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Create _Link</attribute> + <attribute name="action">view.create-link-in-place</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">C_ompress…</attribute> + <attribute name="action">view.compress</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Set as Background…</attribute> + <attribute name="action">view.set-as-wallpaper</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes" comments="Translators: This is the transitive verb meaning 'to send via email' (e.g. 'email this document to Angela).">Email…</attribute> + <attribute name="action">view.send-email</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Mo_ve to Trash</attribute> + <attribute name="action">view.move-to-trash</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Delete from Trash</attribute> + <attribute name="action">view.delete-from-trash</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Delete Permanently…</attribute> + <attribute name="action">view.delete-permanently-menu-item</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Delete Permanently…</attribute> + <attribute name="action">view.permanent-delete-permanently-menu-item</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Restore From Trash</attribute> + <attribute name="action">view.restore-from-trash</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Remove from Recent</attribute> + <attribute name="action">view.remove-from-recent</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes" comments="Unmarks a file as starred (starred)">Unstar</attribute> + <attribute name="action">view.unstar</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + <section id="selection-extensions-section"/> + <section> + <item> + <attribute name="label" translatable="yes">P_roperties</attribute> + <attribute name="action">view.properties</attribute> + </item> + </section> + </menu> +</interface> diff --git a/src/resources/ui/nautilus-files-view-select-items.ui b/src/resources/ui/nautilus-files-view-select-items.ui new file mode 100644 index 0000000..614ed2a --- /dev/null +++ b/src/resources/ui/nautilus-files-view-select-items.ui @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="GtkDialog" id="select_items_dialog"> + <property name="title" translatable="yes">Select Items Matching</property> + <property name="modal">True</property> + <property name="use-header-bar">1</property> + <child type="action"> + <object class="GtkButton" id="cancel"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">True</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="select"> + <property name="label" translatable="yes">_Select</property> + <property name="use-underline">True</property> + </object> + </child> + <child internal-child="content_area"> + <object class="GtkBox"> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <property name="margin-start">18</property> + <property name="margin-end">18</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel"> + <property name="halign">start</property> + <property name="label" translatable="yes">Pattern</property> + <attributes> + <attribute name="weight" value="bold"></attribute> + </attributes> + </object> + </child> + <child> + <object class="GtkEntry" id="pattern_entry"> + <property name="hexpand">True</property> + <property name="activates_default">True</property> + </object> + </child> + <child> + <object class="GtkLabel" id="example"> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel</action-widget> + <action-widget response="ok" default="true">select</action-widget> + </action-widgets> + </object> +</interface> diff --git a/src/resources/ui/nautilus-files-view.ui b/src/resources/ui/nautilus-files-view.ui new file mode 100644 index 0000000..eab5bdd --- /dev/null +++ b/src/resources/ui/nautilus-files-view.ui @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <template class="NautilusFilesView" parent="AdwBin"> + <accessibility> + <property name="label" translatable="yes">Content View</property> + <property name="description" translatable="yes">View of the current folder</property> + </accessibility> + <child> + <object class="GtkOverlay" id="overlay"> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child> + <object class="GtkStack" id="stack"> + <property name="hexpand">True</property> + <child> + <object class="GtkStackPage"> + <property name="child"> + <object class="AdwStatusPage" id="empty_view_page"/> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="child"> + <object class="GtkScrolledWindow" id="scrolled_window"/> + </property> + </object> + </child> + </object> + </child> + <child type="overlay"> + <object class="NautilusFloatingBar" id="floating_bar"> + <property name="halign">end</property> + <property name="valign">end</property> + <property name="spacing">8</property> + </object> + </child> + </object> + </child> + </template> +</interface> diff --git a/src/resources/ui/nautilus-grid-cell.ui b/src/resources/ui/nautilus-grid-cell.ui new file mode 100644 index 0000000..1a92040 --- /dev/null +++ b/src/resources/ui/nautilus-grid-cell.ui @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <template class="NautilusGridCell" parent="NautilusViewCell"> + <property name="valign">start</property> + <accessibility> + <relation name="labelled-by">label</relation> + </accessibility> + <child> + <object class="AdwClamp"> + <property name="maximum-size">0</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkBox" id="fixed_height_box"> + <property name="orientation">horizontal</property> + <property name="halign">center</property> + <property name="margin-start">18</property> + <child> + <object class="AdwClamp"> + <property name="maximum-size">0</property> + <property name="child"> + <object class="GtkPicture" id="icon"> + <property name="halign">center</property> + <property name="hexpand">True</property> + <property name="valign">center</property> + <property name="vexpand">True</property> + <property name="can-shrink">False</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkBox" id="emblems_box"> + <property name="orientation">vertical</property> + <property name="halign">end</property> + <property name="spacing">6</property> + <property name="margin-start">2</property> + <property name="width-request">16</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <style> + <class name="icon-ui-labels-box"/> + </style> + <child> + <object class="GtkLabel" id="label"> + <property name="has-tooltip">true</property> + <property name="ellipsize">middle</property> + <property name="justify">center</property> + <property name="lines">3</property> + <property name="wrap">True</property> + <property name="wrap-mode">word-char</property> + <attributes> + <attribute name="insert-hyphens" value="false"></attribute> + </attributes> + </object> + </child> + <child> + <object class="GtkLabel" id="first_caption"> + <property name="ellipsize">end</property> + <property name="justify">center</property> + <property name="lines">2</property> + <property name="wrap">True</property> + <property name="wrap-mode">word-char</property> + <property name="valign">start</property> + <style> + <class name="caption"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="second_caption"> + <property name="ellipsize">end</property> + <property name="justify">center</property> + <property name="lines">2</property> + <property name="wrap">True</property> + <property name="wrap-mode">word-char</property> + <style> + <class name="caption"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="third_caption"> + <property name="ellipsize">end</property> + <property name="justify">center</property> + <property name="lines">2</property> + <property name="wrap">True</property> + <property name="wrap-mode">word-char</property> + <style> + <class name="caption"/> + </style> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + </template> +</interface> diff --git a/src/resources/ui/nautilus-history-controls.ui b/src/resources/ui/nautilus-history-controls.ui new file mode 100644 index 0000000..0fd0ce5 --- /dev/null +++ b/src/resources/ui/nautilus-history-controls.ui @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <object class="GtkPopoverMenu" id="back_menu"/> + <object class="GtkPopoverMenu" id="forward_menu"/> + <template class="NautilusHistoryControls" parent="AdwBin"> + <property name="child"> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkButton" id="back_button"> + <property name="tooltip_text" translatable="yes">Back</property> + <property name="valign">center</property> + <property name="action_name">win.back</property> + <property name="icon_name">go-previous-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="forward_button"> + <property name="tooltip_text" translatable="yes">Forward</property> + <property name="valign">center</property> + <property name="action_name">win.forward</property> + <property name="icon_name">go-next-symbolic</property> + </object> + </child> + </object> + </property> + </template> +</interface> diff --git a/src/resources/ui/nautilus-list-view-column-editor.ui b/src/resources/ui/nautilus-list-view-column-editor.ui new file mode 100644 index 0000000..c4cab58 --- /dev/null +++ b/src/resources/ui/nautilus-list-view-column-editor.ui @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="AdwWindow" id="window"> + <property name="modal">True</property> + <property name="default-width">360</property> + <property name="default-height">440</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="AdwHeaderBar"> + <child type="title"> + <object class="AdwWindowTitle" id="window_title"> + <property name="title" translatable="true">Visible Columns</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box"> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <property name="margin-start">18</property> + <property name="margin-end">18</property> + <property name="orientation">vertical</property> + <property name="spacing">18</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Choose the order of information to appear in this folder:</property> + <property name="xalign">0</property> + <property name="yalign">0</property> + <property name="wrap">True</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> +</interface> diff --git a/src/resources/ui/nautilus-name-cell.ui b/src/resources/ui/nautilus-name-cell.ui new file mode 100644 index 0000000..246aa3a --- /dev/null +++ b/src/resources/ui/nautilus-name-cell.ui @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <template class="NautilusNameCell" parent="NautilusViewCell"> + <accessibility> + <relation name="labelled-by">label</relation> + </accessibility> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <property name="orientation">horizontal</property> + <property name="halign">fill</property> + <property name="valign">center</property> + <child> + <object class="GtkBox" id="fixed_height_box"> + <property name="orientation">vertical</property> + <property name="halign">center</property> + <property name="height-request">16</property> + <property name="valign">center</property> + <child> + <object class="GtkPicture" id="icon"> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="can-shrink">False</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="halign">fill</property> + <property name="hexpand">True</property> + <property name="valign">center</property> + <style> + <class name="column-name-labels-box"/> + </style> + <child> + <object class="GtkBox"> + <property name="orientation">horizontal</property> + <property name="halign">fill</property> + <property name="hexpand">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="label"> + <property name="ellipsize">middle</property> + <property name="lines">1</property> + <property name="max-width-chars">-1</property> + <property name="wrap">False</property> + <property name="wrap-mode">word-char</property> + <property name="halign">start</property> + <attributes> + <attribute name="insert-hyphens" value="false"></attribute> + </attributes> + </object> + </child> + <child> + <object class="GtkBox" id="emblems_box"> + <property name="orientation">horizontal</property> + <property name="halign">start</property> + <property name="spacing">6</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkLabel" id="path"> + <property name="visible">False</property> + <property name="ellipsize">start</property> + <property name="justify">left</property> + <property name="halign">fill</property> + <property name="xalign">0.0</property> + <attributes> + <attribute name="insert-hyphens" value="false"></attribute> + </attributes> + <style> + <class name="caption"/> + <class name="dim-label"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkMenuButton" id="snippet_button"> + <property name="tooltip-text" translatable="yes">Full text match</property> + <property name="visible">False</property> + <property name="icon-name">quotation-symbolic</property> + <property name="valign">center</property> + <style> + <class name="fts-snippet"/> + </style> + <property name="popover"> + <object class="GtkPopover"> + <child> + <object class="GtkLabel" id="snippet"> + <property name="ellipsize">none</property> + <property name="justify">left</property> + <property name="max-width-chars">65</property> + <property name="lines">10</property> + <property name="wrap">True</property> + <property name="wrap-mode">word</property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </template> +</interface> diff --git a/src/resources/ui/nautilus-operations-ui-manager-request-passphrase.ui b/src/resources/ui/nautilus-operations-ui-manager-request-passphrase.ui new file mode 100644 index 0000000..8c87ed1 --- /dev/null +++ b/src/resources/ui/nautilus-operations-ui-manager-request-passphrase.ui @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="GtkDialog" id="request_passphrase_dialog"> + <property name="title" translatable="yes">Password Required</property> + <property name="modal">True</property> + <property name="destroy-with-parent">True</property> + <property name="use-header-bar">1</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <child> + <object class="GtkLabel" id="label"> + <property name="max-width-chars">60</property> + <property name="wrap">True</property> + </object> + </child> + <child> + <object class="GtkEntry" id="entry"> + <property name="activates-default">True</property> + <property name="valign">end</property> + <property name="vexpand">True</property> + <property name="placeholder-text" translatable="yes">Enter password…</property> + <property name="visibility">False</property> + <property name="input-purpose">password</property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_button"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">True</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="extract_button"> + <property name="label" translatable="yes">Extract</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_button</action-widget> + <action-widget response="ok" default="true">extract_button</action-widget> + </action-widgets> + </object> +</interface> diff --git a/src/resources/ui/nautilus-pathbar-context-menu.ui b/src/resources/ui/nautilus-pathbar-context-menu.ui new file mode 100644 index 0000000..c1f9a2c --- /dev/null +++ b/src/resources/ui/nautilus-pathbar-context-menu.ui @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <menu id="button-menu"> + <item> + <attribute name="label" translatable="yes">Open in New _Window</attribute> + <attribute name="action">pathbar.open-item-new-window</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open in New _Tab</attribute> + <attribute name="action">pathbar.open-item-new-tab</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Properties</attribute> + <attribute name="action">pathbar.properties</attribute> + </item> + </menu> + <menu id="current-view-menu"> + <item> + <attribute name="label" translatable="yes">New _Folder…</attribute> + <attribute name="action">view.new-folder</attribute> + </item> + <item> + <attribute name="label" translatable="yes">New _Document</attribute> + <attribute name="nautilus-menu-item">templates-submenu</attribute> + <link name="submenu" id="templates-submenu"/> + </item> + <item> + <attribute name="label" translatable="yes">Open _With…</attribute> + <attribute name="action">view.open-current-directory-with-other-application</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open in Consol_e</attribute> + <attribute name="action">view.current-directory-console</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <section> + <item> + <attribute name="label" translatable="yes">R_eload</attribute> + <attribute name="action">win.reload</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">St_op</attribute> + <attribute name="action">win.stop</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Add to _Bookmarks</attribute> + <attribute name="action">win.bookmark-current-location</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Copy Location</attribute> + <attribute name="action">view.copy-current-location</attribute> + </item> + </section> + <section id="background-extensions-section"/> + <section> + <item> + <attribute name="label" translatable="yes">Empty _Trash</attribute> + <attribute name="action">view.empty-trash</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">P_roperties</attribute> + <attribute name="action">view.current-directory-properties</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + </section> + </menu> +</interface> diff --git a/src/resources/ui/nautilus-preferences-window.ui b/src/resources/ui/nautilus-preferences-window.ui new file mode 100644 index 0000000..abee4f2 --- /dev/null +++ b/src/resources/ui/nautilus-preferences-window.ui @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="AdwPreferencesWindow" id="preferences_window"> + <property name="search_enabled">False</property> + <property name="hide_on_close">True</property> + <child> + <object class="AdwPreferencesPage"> + <property name="title" translatable="yes">General</property> + <property name="visible">True</property> + <child> + <object class="AdwPreferencesGroup"> + <property name="title" translatable="yes">General</property> + <property name="visible">True</property> + <child> + <object class="AdwActionRow"> + <property name="activatable_widget">sort_folders_first_switch</property> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes">Sort _Folders Before Files</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + <child> + <object class="GtkSwitch" id="sort_folders_first_switch"> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + <child> + <object class="AdwActionRow"> + <property name="activatable_widget">use_tree_view_switch</property> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes">_Expandable Folders in List View</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">False</property> + <child> + <object class="GtkSwitch" id="use_tree_view_switch"> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + <child> + <object class="AdwComboRow" id="open_action_row"> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes">Action to Open Items</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + </object> + </child> + </object> + </child> + <child> + <object class="AdwPreferencesGroup"> + <property name="title" translatable="yes">Optional Context Menu Actions</property> + <property name="description" translatable="yes">Show more actions in the menus. Keyboard shortcuts can be used even if the actions are not shown.</property> + <property name="visible">True</property> + <child> + <object class="AdwActionRow"> + <property name="activatable_widget">show_create_link_switch</property> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes">Create _Link</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + <child> + <object class="GtkSwitch" id="show_create_link_switch"> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + <child> + <object class="AdwActionRow"> + <property name="activatable_widget">show_delete_permanently_switch</property> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes">_Delete Permanently</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + <child> + <object class="GtkSwitch" id="show_delete_permanently_switch"> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="AdwPreferencesGroup"> + <property name="title" translatable="yes">Performance</property> + <property name="description" translatable="yes">These features may cause slowdowns and excess network usage, especially when browsing files outside this computer, such as on a remote server.</property> + <property name="visible">True</property> + <child> + <object class="AdwComboRow" id="search_recursive_row"> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes">Search in Subfolders</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="thumbnails_row"> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes">Show Thumbnails</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="count_row"> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes">Count Number of Files in Folders</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + </object> + </child> + </object> + </child> + <child> + <object class="AdwPreferencesGroup"> + <property name="description" translatable="yes">Add information to be displayed beneath file and folder names. More information will appear when zooming closer.</property> + <property name="title" translatable="yes">Grid View Captions</property> + <property name="visible">True</property> + <child> + <object class="AdwComboRow" id="captions_0_comborow"> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes" context="the n-th position of an icon caption" comments="Translators: This is an ordinal number">First</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="captions_1_comborow"> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes" context="the n-th position of an icon caption" comments="Translators: This is an ordinal number">Second</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="captions_2_comborow"> + <property name="subtitle_lines">0</property> + <property name="title" translatable="yes" context="the n-th position of an icon caption" comments="Translators: This is an ordinal number">Third</property> + <property name="title_lines">0</property> + <property name="use_underline">True</property> + <property name="visible">True</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> +</interface> diff --git a/src/resources/ui/nautilus-progress-indicator.ui b/src/resources/ui/nautilus-progress-indicator.ui new file mode 100644 index 0000000..a44f8d1 --- /dev/null +++ b/src/resources/ui/nautilus-progress-indicator.ui @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <menu id="view_menu"> + <section> + <attribute name="label" translatable="yes" context="menu item" comments="Translators: a menu item in a group of sorting options in a toolbar menu, with criterions such as "A-Z" or "Last Modified".">Sort</attribute> + <!-- + Sort section. + + The toolbar code assumes this is the second item of this menu model. + Its contents is provided by the view. + --> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Visible Columns…</attribute> + <attribute name="action">view.visible-columns</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + </menu> + <object class="GtkPopover" id="operations_popover"> + <property name="child"> + <object class="GtkScrolledWindow"> + <property name="hscrollbar_policy">never</property> + <property name="max_content_height">270</property> + <property name="propagate_natural_height">True</property> + <property name="child"> + <object class="GtkListBox" id="operations_list"> + <property name="margin_start">6</property> + <property name="margin_end">6</property> + <property name="margin_top">6</property> + <property name="margin_bottom">6</property> + <property name="selection-mode">none</property> + <property name="activate-on-single-click">False</property> + <style> + <class name="operations-list"/> + </style> + </object> + </property> + </object> + </property> + <signal name="notify::visible" handler="on_operations_popover_notify_visible" object="NautilusProgressIndicator" swapped="yes"/> + </object> + <template class="NautilusProgressIndicator" parent="AdwBin"> + <property name="child"> + <object class="GtkRevealer" id="operations_revealer"> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="transition_type">slide-right</property> + <property name="child"> + <object class="GtkMenuButton" id="operations_button"> + <property name="tooltip_text" translatable="yes">Show operations</property> + <property name="popover">operations_popover</property> + <child> + <object class="GtkDrawingArea" id="operations_icon"> + <property name="width_request">16</property> + <property name="height_request">16</property> + <property name="halign">center</property> + <property name="valign">center</property> + </object> + </child> + <style> + <class name="image-button"/> + </style> + </object> + </property> + </object> + </property> + </template> +</interface> diff --git a/src/resources/ui/nautilus-progress-info-widget.ui b/src/resources/ui/nautilus-progress-info-widget.ui new file mode 100644 index 0000000..db18d99 --- /dev/null +++ b/src/resources/ui/nautilus-progress-info-widget.ui @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="GtkImage" id="cancel_image"> + <property name="icon_name">window-close-symbolic</property> + </object> + <template class="NautilusProgressInfoWidget" parent="GtkGrid"> + <property name="margin_start">6</property> + <property name="margin_end">6</property> + <property name="margin_top">6</property> + <property name="margin_bottom">6</property> + <child> + <object class="GtkLabel" id="status"> + <property name="width_request">300</property> + <property name="margin_bottom">6</property> + <property name="hexpand">True</property> + <property name="label">status</property> + <property name="ellipsize">middle</property> + <property name="max_width_chars">40</property> + <property name="xalign">0</property> + <layout> + <property name="column">0</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progress_bar"> + <property name="valign">center</property> + <property name="margin_start">2</property> + <property name="margin_bottom">4</property> + <property name="hexpand">True</property> + <property name="pulse_step">0.050000000000000003</property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkButton" id="button"> + <property name="valign">center</property> + <property name="margin_start">20</property> + <property name="icon-name">window-close-symbolic</property> + <style> + <class name="circular"/> + </style> + <layout> + <property name="column">1</property> + <property name="row">0</property> + <property name="row-span">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel" id="details"> + <property name="label">label</property> + <property name="wrap">True</property> + <property name="wrap_mode">word-char</property> + <property name="ellipsize">end</property> + <property name="xalign">0</property> + <style> + <class name="dim-label"/> + </style> + <attributes> + <attribute name="font-features" value="tnum"></attribute> + </attributes> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + </template> +</interface> diff --git a/src/resources/ui/nautilus-properties-window.ui b/src/resources/ui/nautilus-properties-window.ui new file mode 100644 index 0000000..b72fae9 --- /dev/null +++ b/src/resources/ui/nautilus-properties-window.ui @@ -0,0 +1,913 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <template class="NautilusPropertiesWindow" parent="AdwWindow"> + <property name="title" translatable="yes">Properties</property> + <property name="focusable">False</property> + <property name="modal">True</property> + <property name="default-width">480</property> + <child> + <object class="GtkStack" id="page_stack"> + <property name="hexpand">True</property> + <property name="transition-type">over-left-right</property> + <child> + <object class="GtkStackPage"> + <property name="name">main</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkHeaderBar"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vexpand">true</property> + <property name="min-content-height">480</property> + <property name="propagate-natural-height">true</property> + <property name="child"> + <object class="AdwClamp"> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <property name="margin-start">18</property> + <property name="margin-end">18</property> + <style> + <class name="background"/> + </style> + <property name="child"> + <object class="GtkBox" id="basic_box"> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkCenterBox"> + <child type="center"> + <object class="GtkStack" id="icon_stack"> + <property name="halign">center</property> + <property name="valign">start</property> + <child> + <object class="GtkStackPage"> + <property name="name">icon_image</property> + <property name="child"> + <object class="GtkImage" id="icon_image"> + <property name="icon-name">image-missing</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">icon_button</property> + <property name="child"> + <object class="GtkButton" id="icon_button"> + <property name="focusable">True</property> + <property name="receives_default">True</property> + <child> + <object class="GtkImage" id="icon_button_image"> + <property name="icon-name">image-missing</property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + <child type="end"> + <object class="GtkButton" id="star_button"> + <property name="visible">false</property> + <property name="valign">start</property> + <signal name="clicked" handler="star_clicked" swapped="yes"/> + <style> + <class name="circular"/> + <class name="flat"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="name_value_label"> + <property name="selectable">True</property> + <property name="ellipsize">end</property> + <property name="max-width-chars">24</property> + <property name="wrap">true</property> + <property name="wrap-mode">PANGO_WRAP_WORD_CHAR</property> + <property name="lines">3</property> + <property name="justify">center</property> + <style> + <class name="title-3"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="type_value_label"> + <property name="ellipsize">end</property> + <property name="max-width-chars">24</property> + <property name="selectable">True</property> + <property name="visible">False</property> + </object> + </child> + <child> + <object class="GtkLabel" id="type_file_system_label"> + <property name="ellipsize">end</property> + <property name="label" translatable="yes">Unknown Filesystem</property> + <property name="max-width-chars">24</property> + <property name="selectable">True</property> + <property name="visible">False</property> + </object> + </child> + <child> + <object class="GtkLabel" id="size_value_label"> + <property name="visible">False</property> + <property name="selectable">True</property> + <property name="ellipsize">end</property> + <property name="max-width-chars">40</property> + <style> + <class name="caption"/> + </style> + </object> + </child> + <child> + <object class="GtkBox" id="contents_box"> + <property name="halign">center</property> + <property name="visible">False</property> + <property name="spacing">12</property> + <child> + <object class="GtkLabel" id="contents_value_label"> + <property name="selectable">True</property> + <property name="ellipsize">end</property> + <property name="justify">center</property> + <property name="max-width-chars">40</property> + </object> + </child> + <child> + <object class="GtkSpinner" id="contents_spinner"> + <property name="visible">False</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkLabel" id="free_space_value_label"> + <property name="visible">False</property> + <property name="selectable">True</property> + <property name="ellipsize">end</property> + <property name="max-width-chars">24</property> + <style> + <class name="caption"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBox" id="disk_list_box"> + <property name="selection-mode">none</property> + <property name="visible">False</property> + <signal name="row-activated" handler="open_in_disks" object="NautilusPropertiesWindow" swapped="yes"/> + <child> + <object class="GtkListBoxRow"> + <property name="activatable">False</property> + <property name="selectable">False</property> + <child> + <object class="GtkBox"> + <property name="margin-bottom">12</property> + <property name="margin-end">12</property> + <property name="margin-start">12</property> + <property name="margin-top">18</property> + <property name="spacing">12</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLevelBar" id="disk_space_level_bar"> + <property name="hexpand">True</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">12</property> + <property name="halign">center</property> + <child> + <object class="GtkBox"> + <property name="spacing">3</property> + <child> + <object class="GtkLabel" id="disk_space_capacity_value"> + <style> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">total</property> + <style> + <class name="dim-label"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">3</property> + <child> + <object class="GtkLabel"> + <property name="label">●</property> + <style> + <class name="disk-space-used"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="disk_space_used_value"> + <style> + <class name="caption-style"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes" comments="Refers to the capacity of the filesystem">used</property> + <style> + <class name="caption-style"/> + <class name="dim-label"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">3</property> + <child> + <object class="GtkLabel"> + <property name="label">●</property> + <style> + <class name="disk-space-free"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="disk_space_free_value"> + <style> + <class name="caption-style"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes" comments="Refers to the capacity of the filesystem">free</property> + <style> + <class name="caption-style"/> + <class name="dim-label"/> + </style> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow"> + <property name="activatable">True</property> + <property name="selectable">False</property> + <child> + <object class="GtkBox"> + <property name="margin-bottom">12</property> + <property name="margin-end">12</property> + <property name="margin-start">12</property> + <property name="margin-top">12</property> + <property name="halign">center</property> + <property name="spacing">12</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes" comments="Disks refers to GNOME Disks.">Open in Disks</property> + </object> + </child> + <child> + <object class="GtkImage"> + <property name="icon-name">external-link-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="locations_list_box"> + <property name="visible">False</property> + <property name="selection-mode">none</property> + <child> + <object class="AdwActionRow" id="link_target_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="selectable">False</property> + <child type="prefix"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Link Target</property> + <property name="hexpand">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="caption"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="link_target_value_label"> + <property name="hexpand">True</property> + <property name="selectable">True</property> + <property name="ellipsize">start</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + <child type="suffix"> + <object class="GtkButton"> + <property name="icon-name">folder-open-symbolic</property> + <property name="valign">center</property> + <signal name="clicked" handler="open_link_target" swapped="yes"/> + <style> + <class name="flat"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="AdwActionRow" id="parent_folder_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="selectable">False</property> + <child type="prefix"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Parent Folder</property> + <property name="hexpand">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="caption"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="parent_folder_value_label"> + <property name="hexpand">True</property> + <property name="selectable">True</property> + <property name="ellipsize">start</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + <child type="suffix"> + <object class="GtkButton"> + <property name="icon-name">folder-open-symbolic</property> + <property name="valign">center</property> + <signal name="clicked" handler="open_parent_folder" swapped="yes"/> + <style> + <class name="flat"/> + </style> + </object> + </child> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="trashed_list_box"> + <property name="selection-mode">none</property> + <property name="visible">False</property> + <child> + <object class="AdwActionRow"> + <property name="activatable">False</property> + <property name="selectable">False</property> + <child type="prefix"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Original Folder</property> + <property name="hexpand">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="caption"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="original_folder_value_label"> + <property name="hexpand">True</property> + <property name="selectable">True</property> + <property name="ellipsize">start</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="AdwActionRow"> + <property name="activatable">False</property> + <property name="selectable">False</property> + <child type="prefix"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Trashed on</property> + <property name="hexpand">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="caption"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="trashed_on_value_label"> + <property name="hexpand">True</property> + <property name="selectable">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="numeric"/> + </style> + </object> + </child> + </object> + </child> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="times_list_box"> + <property name="selection-mode">none</property> + <property name="visible">False</property> + <child> + <object class="AdwActionRow" id="accessed_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="selectable">False</property> + <child type="prefix"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Accessed</property> + <property name="hexpand">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="caption"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="accessed_value_label"> + <property name="hexpand">True</property> + <property name="selectable">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="numeric"/> + </style> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="AdwActionRow" id="modified_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="selectable">False</property> + <child type="prefix"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Modified</property> + <property name="hexpand">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="caption"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="modified_value_label"> + <property name="hexpand">True</property> + <property name="selectable">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="numeric"/> + </style> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="AdwActionRow" id="created_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="selectable">False</property> + <child type="prefix"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Created</property> + <property name="hexpand">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="caption"/> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkLabel" id="created_value_label"> + <property name="hexpand">True</property> + <property name="selectable">True</property> + <property name="ellipsize">end</property> + <property name="halign">start</property> + <style> + <class name="numeric"/> + </style> + </object> + </child> + </object> + </child> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="permissions_list_box"> + <property name="selection-mode">none</property> + <child> + <object class="AdwActionRow" id="permissions_navigation_row"> + <property name="activatable">True</property> + <property name="selectable">False</property> + <property name="title" translatable="yes">_Permissions</property> + <property name="use-underline">True</property> + <signal name="activated" handler="navigate_permissions_page" object="NautilusPropertiesWindow" swapped="yes"/> + <child> + <object class="GtkLabel" id="permissions_value_label"> + <property name="ellipsize">end</property> + <style> + <class name="dim-label"/> + </style> + </object> + </child> + <child> + <object class="GtkImage"> + <property name="icon-name">go-next-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="AdwActionRow" id="execution_row"> + <property name="visible">False</property> + <property name="activatable">True</property> + <property name="title" translatable="yes">_Executable as Program</property> + <property name="use-underline">True</property> + <child> + <object class="GtkSwitch" id="execution_switch"> + <property name="halign">center</property> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="extension_models_list_box"> + <property name="selection-mode">none</property> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + </object> + </property> + </object> + </property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">permissions</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <style> + <class name="background"/> + </style> + <child> + <object class="GtkHeaderBar"> + <property name="title-widget"> + <object class="AdwWindowTitle"> + <property name="title" translatable="yes">Set Custom Permissions</property> + </object> + </property> + <child type="start"> + <object class="GtkButton"> + <property name="icon-name">go-previous-symbolic</property> + <signal name="clicked" handler="navigate_main_page" object="NautilusPropertiesWindow" swapped="yes"/> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vexpand">true</property> + <property name="child"> + <object class="AdwClamp"> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <property name="margin-start">18</property> + <property name="margin-end">18</property> + <property name="child"> + <object class="GtkStack" id="permissions_stack"> + <child> + <object class="GtkStackPage"> + <property name="name">permission-indeterminable</property> + <property name="child"> + <object class="AdwStatusPage" id="unknown_permissions_page"> + <property name="icon-name">dialog-error-symbolic</property> + <property name="title" translatable="yes">Unknown Permissions</property> + <property name="description" translatable="yes">The permissions of the selected files could not be determined.</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">permissions-box</property> + <property name="child"> + <object class="GtkBox" id="permissions_box"> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkLabel" id="not_the_owner_label"> + <property name="visible">False</property> + <property name="label" translatable="yes">You are not the owner, so you cannot change these permissions.</property> + <property name="justify">center</property> + <property name="wrap">1</property> + <property name="max_width_chars">40</property> + </object> + </child> + <child> + <object class="GtkSeparator" id="bottom_prompt_seperator"> + <property name="visible">False</property> + <property name="margin-top">12</property> + <property name="margin-bottom">12</property> + </object> + </child> + <child> + <object class="GtkLabel" id="permission_indeterminable_label"> + <property name="visible">False</property> + <property name="label" translatable="yes">The permissions of the selected file could not be determined.</property> + <property name="justify">center</property> + <property name="wrap">1</property> + <property name="max_width_chars">40</property> + </object> + </child> + <child> + <object class="GtkListBox" id="owner_list_box"> + <property name="selection-mode">none</property> + <child> + <object class="AdwComboRow" id="owner_row"> + <property name="sensitive">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">_Owner</property> + <property name="use-underline">True</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="owner_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="owner_folder_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Folder Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="owner_file_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">File Access</property> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="group_list_box"> + <property name="selection-mode">none</property> + <child> + <object class="AdwComboRow" id="group_row"> + <property name="sensitive">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">_Group</property> + <property name="use-underline">True</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="group_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="group_folder_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Folder Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="group_file_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">File Access</property> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="others_list_box"> + <property name="selection-mode">none</property> + <child> + <object class="AdwComboRow" id="others_row"> + <property name="activatable">False</property> + <property name="title" translatable="yes">Others</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="others_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="others_folder_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Folder Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="others_file_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">File Access</property> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="security_context_list_box"> + <property name="visible">False</property> + <child> + <object class="AdwActionRow"> + <property name="title" translatable="yes">Security Context</property> + <child> + <object class="GtkLabel" id="security_context_value_label"> + <property name="selectable">True</property> + <property name="max-width-chars">24</property> + <property name="xalign">1</property> + </object> + </child> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkBox" id="change_permissions_button_box"> + <property name="visible">False</property> + <property name="margin_top">12</property> + <child> + <object class="GtkButton" id="change_permissions_button"> + <property name="label" translatable="yes">Change Permissions for Enclosed Files…</property> + <property name="focusable">True</property> + <property name="receives_default">True</property> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </property> + </object> + </property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </template> +</interface> diff --git a/src/resources/ui/nautilus-rename-file-popover.ui b/src/resources/ui/nautilus-rename-file-popover.ui new file mode 100644 index 0000000..205a85c --- /dev/null +++ b/src/resources/ui/nautilus-rename-file-popover.ui @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <object class="GtkPopover" id="rename_file_popover"> + <property name="child"> + <object class="GtkBox"> + <property name="margin-start">18</property> + <property name="margin-end">18</property> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="title_label"> + <property name="margin-bottom">12</property> + <style> + <class name="title-2"/> + </style> + </object> + </child> + <child> + <object class="GtkEntry" id="name_entry"> + <accessibility> + <property name="label" translatable="yes">New Filename</property> + </accessibility> + <property name="margin-bottom">12</property> + </object> + </child> + <child> + <object class="GtkRevealer" id="error_revealer"> + <property name="child"> + <object class="GtkLabel" id="error_label"> + <property name="margin-bottom">12</property> + <property name="max-width-chars">0</property> + <property name="wrap">True</property> + <property name="xalign">0</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkButton" id="rename_button"> + <property name="label" translatable="yes">_Rename</property> + <property name="sensitive">False</property> + <property name="halign">end</property> + <property name="use-underline">True</property> + <style> + <class name="suggested-action"/> + </style> + </object> + </child> + </object> + </property> + </object> +</interface> diff --git a/src/resources/ui/nautilus-search-popover.ui b/src/resources/ui/nautilus-search-popover.ui new file mode 100644 index 0000000..08ce86a --- /dev/null +++ b/src/resources/ui/nautilus-search-popover.ui @@ -0,0 +1,336 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <template class="NautilusSearchPopover" parent="GtkPopover"> + <property name="child"> + <object class="GtkGrid"> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="row_spacing">8</property> + <property name="column_spacing">18</property> + <child> + <object class="GtkLabel" id="when_dim_label"> + <property name="label" translatable="yes">When</property> + <property name="xalign">0</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">0</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkStack" id="date_stack"> + <property name="transition_type">crossfade</property> + <property name="transition_duration">250</property> + <child> + <object class="GtkStackPage"> + <property name="name">date-button</property> + <property name="child"> + <object class="GtkBox"> + <child> + <object class="GtkButton" id="select_date_button"> + <property name="tooltip_text" translatable="yes">Select a date</property> + <property name="hexpand">True</property> + <child> + <object class="GtkLabel" id="select_date_button_label"> + <property name="label" translatable="yes">Select Dates…</property> + <property name="xalign">0</property> + </object> + </child> + <signal name="clicked" handler="select_date_button_clicked" object="NautilusSearchPopover" swapped="no"/> + </object> + </child> + <child> + <object class="GtkButton" id="clear_date_button"> + <property name="visible">False</property> + <property name="tooltip_text" translatable="yes">Clear the currently selected date</property> + <property name="icon_name">edit-clear-symbolic</property> + <signal name="clicked" handler="clear_date_button_clicked" object="NautilusSearchPopover" swapped="no"/> + </object> + </child> + <style> + <class name="linked"/> + </style> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">date-entry</property> + <property name="child"> + <object class="GtkEntry" id="date_entry"> + <property name="secondary_icon_name">x-office-calendar-symbolic</property> + <property name="secondary_icon_tooltip_text" translatable="yes">Show a calendar to select the date</property> + <signal name="icon-release" handler="toggle_calendar_icon_clicked" object="NautilusSearchPopover" swapped="no"/> + <signal name="activate" handler="date_entry_activate" object="NautilusSearchPopover" swapped="no"/> + </object> + </property> + </object> + </child> + <layout> + <property name="column">0</property> + <property name="row">1</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkRevealer" id="around_revealer"> + <property name="child"> + <object class="GtkGrid"> + <property name="row_spacing">8</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkLabel" id="around_dim_label"> + <property name="margin_top">10</property> + <property name="label" translatable="yes">Since…</property> + <property name="xalign">0</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">0</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkStack" id="around_stack"> + <property name="vhomogeneous">False</property> + <property name="transition_type">crossfade</property> + <property name="transition_duration">250</property> + <child> + <object class="GtkStackPage"> + <property name="name">date-list</property> + <property name="child"> + <object class="GtkScrolledWindow"> + <property name="height_request">200</property> + <property name="hexpand">True</property> + <property name="child"> + <object class="GtkViewport"> + <property name="child"> + <object class="GtkListBox" id="dates_listbox"> + <property name="selection_mode">none</property> + <signal name="row-activated" handler="dates_listbox_row_activated" object="NautilusSearchPopover" swapped="no"/> + </object> + </property> + </object> + </property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">date-calendar</property> + <property name="child"> + <object class="GtkCalendar" id="calendar"> + <property name="valign">start</property> + <property name="show_week_numbers">True</property> + <signal name="day-selected" handler="calendar_day_selected" object="NautilusSearchPopover" swapped="no" /> + </object> + </property> + </object> + </child> + <layout> + <property name="column">0</property> + <property name="row">1</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="last_modified_button"> + <property name="label" translatable="yes">Last _modified</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <signal name="toggled" handler="search_time_type_changed" object="NautilusSearchPopover" swapped="no"/> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="last_used_button"> + <property name="label" translatable="yes">Last _used</property> + <property name="use_underline">True</property> + <property name="group">last_modified_button</property> + <signal name="toggled" handler="search_time_type_changed" object="NautilusSearchPopover" swapped="no"/> + <layout> + <property name="column">0</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="created_button"> + <property name="label" translatable="yes">Created</property> + <property name="use-underline">True</property> + <property name="group">last_modified_button</property> + <signal name="toggled" handler="search_time_type_changed" object="NautilusSearchPopover" swapped="no"/> + <layout> + <property name="column">0</property> + <property name="row">4</property> + </layout> + </object> + </child> + </object> + </property> + <layout> + <property name="column">0</property> + <property name="row">2</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel" id="what_dim_label"> + <property name="margin_top">10</property> + <property name="label" translatable="yes">What</property> + <property name="xalign">0</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">3</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkStack" id="type_stack"> + <property name="vhomogeneous">False</property> + <property name="transition_type">crossfade</property> + <property name="transition_duration">250</property> + <child> + <object class="GtkStackPage"> + <property name="name">type-button</property> + <property name="child"> + <object class="GtkButton" id="select_type_button"> + <property name="tooltip_text" translatable="yes">Which file types will be searched</property> + <signal name="clicked" handler="select_type_button_clicked" object="NautilusSearchPopover" swapped="no"/> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel" id="type_label"> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Anything</property> + <property name="width_chars">30</property> + <property name="xalign">0</property> + </object> + </child> + <child> + <object class="GtkImage"> + <property name="icon_name">pan-down-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">type-list</property> + <property name="child"> + <object class="GtkScrolledWindow"> + <property name="height_request">250</property> + <property name="child"> + <object class="GtkViewport"> + <property name="child"> + <object class="GtkListBox" id="type_listbox"> + <signal name="row-activated" handler="types_listbox_row_activated" object="NautilusSearchPopover" swapped="no"/> + </object> + </property> + </object> + </property> + </object> + </property> + </object> + </child> + <layout> + <property name="column">0</property> + <property name="row">4</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel" id="search_dim_label"> + <property name="margin_top">10</property> + <property name="label" translatable="yes">Search</property> + <property name="xalign">0</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">5</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="hexpand">True</property> + <child> + <object class="GtkToggleButton" id="full_text_search_button"> + <property name="label" translatable="yes">Full Text</property> + <property name="tooltip_text" translatable="yes">Search on the file content and name</property> + <property name="hexpand">True</property> + <property name="active">True</property> + <signal name="toggled" handler="search_fts_mode_changed" object="NautilusSearchPopover" swapped="no" /> + </object> + </child> + <child> + <object class="GtkToggleButton" id="filename_search_button"> + <property name="label" translatable="yes">File Name</property> + <property name="tooltip_text" translatable="yes">Search only on the file name</property> + <property name="hexpand">True</property> + <property name="group">full_text_search_button</property> + <property name="active">True</property> + <signal name="toggled" handler="search_fts_mode_changed" object="NautilusSearchPopover" swapped="no"/> + </object> + </child> + <style> + <class name="linked"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">6</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + </object> + </property> + </template> + <object class="GtkSizeGroup"> + <property name="mode">vertical</property> + <widgets> + <widget name="full_text_search_button"/> + <widget name="filename_search_button"/> + <widget name="select_date_button"/> + <widget name="clear_date_button"/> + </widgets> + </object> + <object class="GtkSizeGroup"> + <widgets> + <widget name="search_dim_label"/> + <widget name="when_dim_label"/> + <widget name="around_dim_label"/> + <widget name="what_dim_label"/> + </widgets> + </object> +</interface> diff --git a/src/resources/ui/nautilus-toolbar-view-menu.ui b/src/resources/ui/nautilus-toolbar-view-menu.ui new file mode 100644 index 0000000..ffdd3ac --- /dev/null +++ b/src/resources/ui/nautilus-toolbar-view-menu.ui @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <menu id="sort_section"> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('name',false)</attribute> + <attribute name="label" translatable="yes" context="Sort Criterion" comments="This is used to sort by name in the toolbar view menu">_A-Z</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('name',true)</attribute> + <attribute name="label" translatable="yes" context="Sort Criterion" comments="This is used to sort by name, in descending order in the toolbar view menu">_Z-A</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('date_modified',true)</attribute> + <attribute name="label" translatable="yes">Last _Modified</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('date_modified',false)</attribute> + <attribute name="label" translatable="yes">_First Modified</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('size',true)</attribute> + <attribute name="label" translatable="yes">_Size</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('type',false)</attribute> + <attribute name="label" translatable="yes">_Type</attribute> + <attribute name="hidden-when">action-disabled</attribute> + </item> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('trashed_on',true)</attribute> + <attribute name="label" translatable="yes">Last _Trashed</attribute> + <attribute name="hidden-when">action-disabled</attribute> + <attribute name="nautilus-menu-item">last_trashed</attribute> + </item> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('recency',true)</attribute> + <attribute name="label" translatable="yes">Recency</attribute> + <attribute name="hidden-when">action-disabled</attribute> + <attribute name="nautilus-menu-item">recency</attribute> + </item> + <item> + <attribute name="action">view.sort</attribute> + <attribute name="target" type="(sb)">('search_relevance',true)</attribute> + <attribute name="label" translatable="yes">Relevance</attribute> + <attribute name="hidden-when">action-disabled</attribute> + <attribute name="nautilus-menu-item">relevance</attribute> + </item> + </menu> +</interface> diff --git a/src/resources/ui/nautilus-toolbar.ui b/src/resources/ui/nautilus-toolbar.ui new file mode 100644 index 0000000..cdccb89 --- /dev/null +++ b/src/resources/ui/nautilus-toolbar.ui @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <menu id="app_menu"> + <section> + <item> + <attribute name="label" translatable="yes">New Window</attribute> + <attribute name="action">app.clone-window</attribute> + <attribute name="verb-icon">window-new-symbolic</attribute> + </item> + <item> + <attribute name="label" translatable="yes">New Tab</attribute> + <attribute name="action">win.new-tab</attribute> + <attribute name="verb-icon">tab-new-symbolic</attribute> + </item> + </section> + <section> + <attribute name="label" translatable="yes">Icon Size</attribute> + <attribute name="display-hint">inline-buttons</attribute> + <item> + <attribute name="custom">zoom-out</attribute> + </item> + <item> + <attribute name="custom">zoom-in</attribute> + </item> + </section> + <section id="undo_redo_section"> + <!-- Note: This section is often recreated by undo_manager_changed() to + change the labels of the actions. If you change anything here, + remember to change in the code as well. --> + <item> + <attribute name="label" translatable="yes">_Undo</attribute> + <attribute name="action">win.undo</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Redo</attribute> + <attribute name="action">win.undo</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Show _Hidden Files</attribute> + <attribute name="action">view.show-hidden-files</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Preferences</attribute> + <attribute name="action">app.preferences</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute> + <attribute name="action">app.show-help-overlay</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Help</attribute> + <attribute name="action">app.help</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_About Files</attribute> + <attribute name="action">app.about</attribute> + </item> + </section> + </menu> + <template class="NautilusToolbar" parent="AdwBin"> + <child> + <object class="AdwHeaderBar"> + <child type="title"> + <object class="GtkBox" id="header_toolbar"> + <property name="spacing">6</property> + <child> + <object class="GtkStack" id="toolbar_switcher"> + <property name="valign">center</property> + <property name="transition_type">crossfade</property> + <child> + <object class="GtkStackPage"> + <property name="name">pathbar</property> + <property name="child"> + <object class="GtkBox" id="path_bar_container"> + <property name="valign">center</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">location</property> + <property name="child"> + <object class="GtkBox" id="location_entry_container"> + <style> + <class name="linked"/> + </style> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">search</property> + <property name="child"> + <object class="GtkBox" id="search_container"> + <property name="orientation">vertical</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkToggleButton" id="search_button"> + <property name="tooltip_text" translatable="yes">Search</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="action_name">slot.search-visible</property> + <property name="icon_name">edit-find-symbolic</property> + </object> + </child> + </object> + </child> + <child type="start"> + <object class="GtkBox"> + <child> + <object class="GtkRevealer"> + <property name="reveal-child" bind-source="NautilusToolbar" bind-property="show-sidebar-button" bind-flags="bidirectional|sync-create"/> + <property name="transition-type">slide-right</property> + <property name="child"> + <object class="GtkToggleButton" id="show_sidebar_button"> + <property name="active" bind-source="NautilusToolbar" bind-property="sidebar-button-active" bind-flags="bidirectional|sync-create"/> + <property name="tooltip-text" translatable="yes">Show sidebar</property> + <property name="icon-name">sidebar-show-symbolic</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkRevealer"> + <property name="reveal-child" bind-source="NautilusToolbar" bind-property="show-toolbar-children" bind-flags="sync-create"/> + <property name="transition-type">slide-right</property> + <property name="child"> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="NautilusHistoryControls"> + <property name="window-slot" bind-source="NautilusToolbar" bind-property="window-slot" bind-flags="sync-create"/> + </object> + </child> + <child> + <object class="GtkSeparator"> + <style> + <class name="spacer"/> + </style> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + <child type="end"> + <object class="GtkBox"> + <child> + <object class="GtkRevealer"> + <property name="reveal-child" bind-source="NautilusToolbar" bind-property="show-toolbar-children" bind-flags="sync-create"/> + <property name="transition-type">slide-left</property> + <property name="child"> + <object class="GtkBox"> + <property name="spacing">6</property> + <property name="margin-end">6</property> + <child> + <object class="GtkSeparator"> + <style> + <class name="spacer"/> + </style> + </object> + </child> + <child> + <object class="NautilusProgressIndicator"/> + </child> + <child> + <object class="NautilusViewControls"> + <property name="window-slot" bind-source="NautilusToolbar" bind-property="window-slot" bind-flags="sync-create"/> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkMenuButton" id="app_button"> + <property name="tooltip-text" translatable="yes">Main Menu</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon_name">open-menu-symbolic</property> + <property name="popover"> + <object class="GtkPopoverMenu"> + <property name="menu-model">app_menu</property> + <child type="zoom-out"> + <object class="GtkButton"> + <property name="icon-name">zoom-out-symbolic</property> + <property name="action-name">view.zoom-out</property> + <property name="tooltip-text" translatable="yes">Zoom out</property> + <style> + <class name="flat"/> + </style> + </object> + </child> + <child type="zoom-in"> + <object class="GtkButton"> + <property name="icon-name">zoom-in-symbolic</property> + <property name="action-name">view.zoom-in</property> + <property name="tooltip-text" translatable="yes">Zoom in</property> + <style> + <class name="flat"/> + </style> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </template> +</interface> diff --git a/src/resources/ui/nautilus-view-controls.ui b/src/resources/ui/nautilus-view-controls.ui new file mode 100644 index 0000000..2231d66 --- /dev/null +++ b/src/resources/ui/nautilus-view-controls.ui @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <menu id="view_menu"> + <section> + <attribute name="label" translatable="yes" context="menu item" comments="Translators: a menu item in a group of sorting options in a toolbar menu, with criterions such as "A-Z" or "Last Modified".">Sort</attribute> + <!-- + Sort section. + + The toolbar code assumes this is the second item of this menu model. + Its contents is provided by the view. + --> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Visible Columns…</attribute> + <attribute name="action">view.visible-columns</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + </menu> + <template class="NautilusViewControls" parent="AdwBin"> + <property name="child"> + <object class="AdwSplitButton" id="view_split_button"> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="dropdown-tooltip" translatable="yes" comments="Translators: This is a noun, meaning the options pertaining to the view.">View Options</property> + <property name="action_name">slot.files-view-mode-toggle</property> + <property name="menu-model">view_menu</property> + <binding name="icon-name"> + <lookup name="icon-name"> + <lookup name="window-slot">NautilusViewControls</lookup> + </lookup> + </binding> + <binding name="tooltip-text"> + <lookup name="tooltip"> + <lookup name="window-slot">NautilusViewControls</lookup> + </lookup> + </binding> + </object> + </property> + </template> +</interface> diff --git a/src/resources/ui/nautilus-window.ui b/src/resources/ui/nautilus-window.ui new file mode 100644 index 0000000..d8db7f7 --- /dev/null +++ b/src/resources/ui/nautilus-window.ui @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <menu id="tab_menu_model"> + <section> + <item> + <attribute name="label" translatable="yes">_New Tab</attribute> + <attribute name="action">win.new-tab</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Move Tab _Left</attribute> + <attribute name="action">win.tab-move-left</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Move Tab _Right</attribute> + <attribute name="action">win.tab-move-right</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Close Tab</attribute> + <attribute name="action">win.close-current-view</attribute> + </item> + </section> + </menu> + <template class="NautilusWindow" parent="AdwApplicationWindow"> + <property name="show-menubar">False</property> + <property name="title" translatable="yes">_Files</property> + <child> + <object class="AdwToastOverlay" id="toast_overlay"> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="NautilusToolbar" id="toolbar"> + <property name="show-sidebar-button" bind-source="content_flap" bind-property="folded" bind-flags="sync-create"/> + <property name="sidebar-button-active" bind-source="content_flap" bind-property="reveal-flap" bind-flags="bidirectional|sync-create"/> + <property name="show-toolbar-children" bind-source="content_flap" bind-property="folded" bind-flags="sync-create|invert-boolean"/> + <property name="window-slot" bind-source="NautilusWindow" bind-property="active-slot" bind-flags="sync-create"/> + </object> + </child> + <child> + <object class="AdwFlap" id="content_flap"> + <property name="swipe-to-close" bind-source="content_flap" bind-property="folded" bind-flags="sync-create"/> + <child type="flap"> + <object class="NautilusGtkPlacesSidebar" id="places_sidebar"> + <property name="vexpand">True</property> + <property name="show-other-locations">True</property> + <property name="show-starred-location">True</property> + <property name="width-request">240</property> + <style> + <class name="background"/> + </style> + </object> + </child> + <child type="separator"> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="width-request">360</property> + <child> + <object class="AdwTabBar"> + <property name="view">tab_view</property> + </object> + </child> + <child> + <object class="AdwTabView" id="tab_view"> + <property name="menu-model">tab_menu_model</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkActionBar"> + <property name="revealed" bind-source="content_flap" bind-property="folded" bind-flags="sync-create"/> + <child type="start"> + <object class="NautilusHistoryControls"> + <property name="window-slot" bind-source="NautilusWindow" bind-property="active-slot" bind-flags="sync-create"/> + </object> + </child> + <child type="end"> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="NautilusProgressIndicator"/> + </child> + <child> + <object class="NautilusViewControls"> + <property name="window-slot" bind-source="NautilusWindow" bind-property="active-slot" bind-flags="sync-create"/> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + </template> +</interface> |