diff options
author | Christopher Davis <brainblasted@disroot.org> | 2021-02-07 02:24:33 +0000 |
---|---|---|
committer | Christopher Davis <brainblasted@disroot.org> | 2021-02-07 02:24:33 +0000 |
commit | 329656fc8a4b68a26274b8e79c07eb232a714d2b (patch) | |
tree | 64a273fe06510557d4d71af2f70c8928986081b2 | |
parent | 750b950da65285b00c98f8b6926f4b17c8020b00 (diff) | |
parent | d6c154c10bec45cf4203c207fd13c4f7ae1798f1 (diff) | |
download | baobab-329656fc8a4b68a26274b8e79c07eb232a714d2b.tar.gz |
Merge branch 'wip/cdavis/hdy-restyle' into 'master'
Restyle With Libhandy
See merge request GNOME/baobab!26
-rw-r--r-- | data/baobab.css | 6 | ||||
-rw-r--r-- | data/ui/baobab-location-list.ui | 38 | ||||
-rw-r--r-- | data/ui/baobab-location-row.ui | 173 | ||||
-rw-r--r-- | data/ui/baobab-main-window.ui | 136 | ||||
-rw-r--r-- | data/ui/baobab-preferences-dialog.ui | 40 | ||||
-rw-r--r-- | meson.build | 3 | ||||
-rw-r--r-- | src/baobab-application.vala | 2 | ||||
-rw-r--r-- | src/baobab-location-list.vala | 10 | ||||
-rw-r--r-- | src/baobab-location.vala | 2 | ||||
-rw-r--r-- | src/baobab-preferences-dialog.vala | 18 | ||||
-rw-r--r-- | src/baobab-window.vala | 14 | ||||
-rw-r--r-- | src/meson.build | 1 |
12 files changed, 205 insertions, 238 deletions
diff --git a/data/baobab.css b/data/baobab.css index 4b100a9..bfea7a6 100644 --- a/data/baobab.css +++ b/data/baobab.css @@ -70,7 +70,7 @@ window.background stack treeview:hover:not(:selected) { .pathbar { border: solid 1px @borders; - border-radius: 3px; + border-radius: 5px; background: @theme_bg_color; } @@ -81,8 +81,8 @@ window.background stack treeview:hover:not(:selected) { } .pathbar button:first-child { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; } window infobar.warning, diff --git a/data/ui/baobab-location-list.ui b/data/ui/baobab-location-list.ui index e616e65..ec3713d 100644 --- a/data/ui/baobab-location-list.ui +++ b/data/ui/baobab-location-list.ui @@ -10,28 +10,25 @@ <object class="GtkBox" id="local_box"> <property name="visible">True</property> <property name="orientation">vertical</property> + <property name="spacing">6</property> <child> <object class="GtkLabel" id="local_label"> <property name="visible">True</property> <property name="halign">start</property> <property name="label" translatable="yes">This Computer</property> <style> - <class name="dim-label"/> + <class name="heading"/> </style> </object> </child> <child> - <object class="GtkFrame"> + <object class="GtkListBox" id="local_list_box"> <property name="visible">True</property> - <child> - <object class="GtkListBox" id="local_list_box"> - <property name="visible">True</property> - <property name="selection_mode">none</property> - <style> - <class name="view"/> - </style> - </object> - </child> + <property name="selection_mode">none</property> + <style> + <class name="view"/> + <class name="content"/> + </style> </object> </child> </object> @@ -40,28 +37,25 @@ <object class="GtkBox" id="remote_box"> <property name="visible">True</property> <property name="orientation">vertical</property> + <property name="spacing">6</property> <child> <object class="GtkLabel" id="remote_label"> <property name="visible">True</property> <property name="halign">start</property> <property name="label" translatable="yes">Remote Locations</property> <style> - <class name="dim-label"/> + <class name="heading"/> </style> </object> </child> <child> - <object class="GtkFrame"> + <object class="GtkListBox" id="remote_list_box"> <property name="visible">True</property> - <child> - <object class="GtkListBox" id="remote_list_box"> - <property name="visible">True</property> - <property name="selection_mode">none</property> - <style> - <class name="view"/> - </style> - </object> - </child> + <property name="selection_mode">none</property> + <style> + <class name="view"/> + <class name="content"/> + </style> </object> </child> </object> diff --git a/data/ui/baobab-location-row.ui b/data/ui/baobab-location-row.ui index aae4932..115cae2 100644 --- a/data/ui/baobab-location-row.ui +++ b/data/ui/baobab-location-row.ui @@ -4,94 +4,115 @@ <template class="BaobabLocationRow" parent="GtkListBoxRow"> <property name="visible">True</property> <child> - <object class="GtkGrid" id="grid"> + <object class="GtkBox"> <property name="visible">True</property> - <property name="column_spacing">12</property> - <property name="margin">6</property> + <property name="can_focus">False</property> + <property name="margin-top">6</property> + <property name="margin-bottom">12</property> + <property name="margin-start">12</property> + <property name="margin-end">6</property> + <property name="spacing">12</property> <child> - <object class="GtkImage" id="image"> + <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixel_size">64</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - <property name="height">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="name_label"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">start</property> - <property name="valign">end</property> - <property name="hexpand">True</property> - <property name="use_markup">True</property> - <property name="ellipsize">end</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkImage" id="image"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="pixel_size">64</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="height">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="name_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="valign">end</property> + <property name="hexpand">True</property> + <property name="use_markup">True</property> + <property name="ellipsize">end</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="path_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="valign">start</property> + <property name="hexpand">True</property> + <property name="use_markup">True</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="available_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="valign">end</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="total_size_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="valign">start</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLevelBar" id="usage_bar"> + <property name="can_focus">False</property> + <property name="valign">start</property> + <property name="margin_top">6</property> + <property name="margin_bottom">6</property> + <property name="hexpand">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + <property name="width">3</property> + </packing> + </child> </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> </child> <child> - <object class="GtkLabel" id="path_label"> + <object class="GtkImage"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="halign">start</property> - <property name="valign">start</property> - <property name="hexpand">True</property> - <property name="use_markup">True</property> + <property name="icon_name">go-next-symbolic</property> + <property name="width_request">36</property> <style> <class name="dim-label"/> </style> </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="available_label"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">end</property> - <property name="valign">end</property> - </object> - <packing> - <property name="left_attach">2</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="total_size_label"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">end</property> - <property name="valign">start</property> - <style> - <class name="dim-label"/> - </style> - </object> - <packing> - <property name="left_attach">2</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkLevelBar" id="usage_bar"> - <property name="can_focus">False</property> - <property name="valign">start</property> - <property name="margin_top">6</property> - <property name="margin_bottom">6</property> - <property name="hexpand">True</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">2</property> - <property name="width">3</property> - </packing> </child> </object> </child> diff --git a/data/ui/baobab-main-window.ui b/data/ui/baobab-main-window.ui index 62b705f..b677cb5 100644 --- a/data/ui/baobab-main-window.ui +++ b/data/ui/baobab-main-window.ui @@ -11,12 +11,12 @@ <attribute name="label" translatable="yes">Clear Recent List</attribute> <attribute name="action">win.clear-recent</attribute> </item> + </section> + <section> <item> <attribute name="label" translatable="yes">Preferences</attribute> <attribute name="action">win.show-preferences</attribute> </item> - </section> - <section> <item> <attribute name="label" translatable="yes">Keyboard _Shortcuts</attribute> <attribute name="action">win.show-help-overlay</attribute> @@ -62,71 +62,7 @@ </object> </child> </object> - <object class="GtkHeaderBar" id="header_bar"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="show_close_button">True</property> - <style> - <class name="titlebar"/> - </style> - <child> - <object class="GtkButton" id="back_button"> - <property name="valign">center</property> - <property name="can_focus">True</property> - <property name="action_name">win.show-home-page</property> - <property name="tooltip_text" translatable="yes">Go back to location list</property> - <style> - <class name="image-button"/> - </style> - <child> - <object class="GtkImage" id="back_button_image"> - <property name="visible">True</property> - <property name="icon_name">go-previous-symbolic</property> - <property name="icon_size">1</property> - </object> - </child> - </object> - <packing> - <property name="pack_type">start</property> - </packing> - </child> - <child> - <object class="GtkButton" id="reload_button"> - <property name="valign">center</property> - <property name="can_focus">True</property> - <property name="action_name">win.reload</property> - <property name="tooltip_text" translatable="yes">Rescan current location</property> - <style> - <class name="image-button"/> - </style> - <child> - <object class="GtkImage" id="reload_button_image"> - <property name="visible">True</property> - <property name="icon_size">1</property> - <property name="icon_name">view-refresh-symbolic</property> - </object> - </child> - </object> - <packing> - <property name="pack_type">end</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="menu_button"> - <property name="valign">center</property> - <property name="menu_model">primarymenu</property> - <property name="action_name">win.show-primary-menu</property> - <property name="direction">none</property> - <style> - <class name="image-button"/> - </style> - </object> - <packing> - <property name="pack_type">end</property> - </packing> - </child> - </object> - <template class="BaobabWindow" parent="GtkApplicationWindow"> + <template class="BaobabWindow" parent="HdyApplicationWindow"> <property name="title" translatable="yes">Disk Usage Analyzer</property> <property name="icon_name">baobab</property> <child> @@ -134,6 +70,72 @@ <property name="orientation">vertical</property> <property name="visible">True</property> <child> + <object class="HdyHeaderBar" id="header_bar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="show_close_button">True</property> + <style> + <class name="titlebar"/> + </style> + <child> + <object class="GtkButton" id="back_button"> + <property name="valign">center</property> + <property name="can_focus">True</property> + <property name="action_name">win.show-home-page</property> + <property name="tooltip_text" translatable="yes">Go back to location list</property> + <style> + <class name="image-button"/> + </style> + <child> + <object class="GtkImage" id="back_button_image"> + <property name="visible">True</property> + <property name="icon_name">go-previous-symbolic</property> + <property name="icon_size">1</property> + </object> + </child> + </object> + <packing> + <property name="pack_type">start</property> + </packing> + </child> + <child> + <object class="GtkButton" id="reload_button"> + <property name="valign">center</property> + <property name="can_focus">True</property> + <property name="action_name">win.reload</property> + <property name="tooltip_text" translatable="yes">Rescan current location</property> + <style> + <class name="image-button"/> + </style> + <child> + <object class="GtkImage" id="reload_button_image"> + <property name="visible">True</property> + <property name="icon_size">1</property> + <property name="icon_name">view-refresh-symbolic</property> + </object> + </child> + </object> + <packing> + <property name="pack_type">end</property> + </packing> + </child> + <child> + <object class="GtkMenuButton" id="menu_button"> + <property name="valign">center</property> + <property name="menu_model">primarymenu</property> + <property name="action_name">win.show-primary-menu</property> + <property name="direction">none</property> + <style> + <class name="image-button"/> + </style> + </object> + <packing> + <property name="pack_type">end</property> + </packing> + </child> + </object> + </child> + <child> <object class="GtkGrid" id="window_contents"> <property name="visible">True</property> <property name="orientation">vertical</property> diff --git a/data/ui/baobab-preferences-dialog.ui b/data/ui/baobab-preferences-dialog.ui index 582e9d0..4e683a9 100644 --- a/data/ui/baobab-preferences-dialog.ui +++ b/data/ui/baobab-preferences-dialog.ui @@ -2,50 +2,30 @@ <!-- Generated with glade 3.22.0 --> <interface> <requires lib="gtk+" version="3.22"/> - <template class="BaobabPreferencesDialog" parent="GtkDialog"> + <template class="BaobabPreferencesDialog" parent="HdyPreferencesWindow"> <property name="can_focus">False</property> <property name="type_hint">dialog</property> <property name="title" translatable="yes">Preferences</property> - <child internal-child="vbox"> - <object class="GtkBox"> + <property name="search_enabled">False</property> + <child> + <object class="HdyPreferencesPage"> + <property name="visible">True</property> <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <property name="margin">12</property> <child> - <object class="GtkLabel" id="locations_label"> + <object class="HdyPreferencesGroup"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">start</property> - <property name="margin-bottom">12</property> - <property name="use_markup">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkScrolledWindow"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="shadow_type">in</property> - <property name="hscrollbar-policy">never</property> - <property name="width_request">500</property> - <property name="height_request">300</property> + <property name="title" translatable="yes">Locations to Ignore</property> <child> <object class="GtkListBox" id="excluded_list_box"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="selection_mode">none</property> + <style> + <class name="content"/> + </style> </object> </child> </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> </child> </object> </child> diff --git a/meson.build b/meson.build index ff35546..4eb1e66 100644 --- a/meson.build +++ b/meson.build @@ -12,7 +12,8 @@ python = import('python') glib = dependency('glib-2.0', version: '>=2.44') gio = dependency('gio-2.0', version: '>=2.44') gobject = dependency('gobject-2.0', version: '>=2.44') -gtk = dependency('gtk+-3.0', version: '>=3.20') +gtk = dependency('gtk+-3.0', version: '>=3.24.1') +libhandy = dependency('libhandy-1', version: '>=1.0.0') cc = meson.get_compiler('c') math = cc.find_library('m', required: false) diff --git a/src/baobab-application.vala b/src/baobab-application.vala index 9df2bcf..dee0a03 100644 --- a/src/baobab-application.vala +++ b/src/baobab-application.vala @@ -80,6 +80,8 @@ namespace Baobab { protected override void startup () { base.startup (); + Hdy.init (); + // Load custom CSS var css_provider = new Gtk.CssProvider (); css_provider.load_from_resource ("/org/gnome/baobab/baobab.css"); diff --git a/src/baobab-location-list.vala b/src/baobab-location-list.vala index 5467b98..5287ddc 100644 --- a/src/baobab-location-list.vala +++ b/src/baobab-location-list.vala @@ -116,10 +116,8 @@ namespace Baobab { monitor.volume_removed.connect (volume_removed); monitor.volume_added.connect (volume_added); - local_list_box.set_header_func (update_header); local_list_box.row_activated.connect (row_activated); - remote_list_box.set_header_func (update_header); remote_list_box.row_activated.connect (row_activated); populate (); @@ -265,14 +263,6 @@ namespace Baobab { } } - void update_header (Gtk.ListBoxRow row, Gtk.ListBoxRow? before_row) { - if (before_row != null && row.get_header () == null) { - row.set_header (new Gtk.Separator (Gtk.Orientation.HORIZONTAL)); - } else { - row.set_header (null); - } - } - void row_activated (Gtk.ListBoxRow row) { var location_widget = row as LocationRow; location_activated (location_widget.location); diff --git a/src/baobab-location.vala b/src/baobab-location.vala index 02a9f8c..4954e57 100644 --- a/src/baobab-location.vala +++ b/src/baobab-location.vala @@ -69,7 +69,7 @@ namespace Baobab { } void make_this_home_location () { - name = _("Home folder"); + name = _("Home Folder"); icon = new ThemedIcon ("user-home"); symbolic_icon = new ThemedIcon ("user-home-symbolic"); } diff --git a/src/baobab-preferences-dialog.vala b/src/baobab-preferences-dialog.vala index 27cbf1f..91327f0 100644 --- a/src/baobab-preferences-dialog.vala +++ b/src/baobab-preferences-dialog.vala @@ -39,21 +39,15 @@ namespace Baobab { } [GtkTemplate (ui = "/org/gnome/baobab/ui/baobab-preferences-dialog.ui")] - public class PreferencesDialog : Gtk.Dialog { + public class PreferencesDialog : Hdy.PreferencesWindow { [GtkChild] private Gtk.ListBox excluded_list_box; - [GtkChild] - private Gtk.Label locations_label; private Settings prefs_settings; construct { - locations_label.label = "<b>%s</b>".printf (_("Locations to ignore")); - prefs_settings = new Settings ("org.gnome.baobab.preferences"); - excluded_list_box.set_header_func (update_header); - excluded_list_box.row_activated.connect (() => { // The only activatable row is "Add location" var file_chooser = new Gtk.FileChooserDialog (_("Select Location to Ignore"), this, @@ -94,7 +88,7 @@ namespace Baobab { }); } - var label = new Gtk.Label (_("Add location…")); + var label = new Gtk.Label (_("Add Location…")); label.margin = 12; label.show (); excluded_list_box.insert (label, -1); @@ -117,13 +111,5 @@ namespace Baobab { } prefs_settings.set_strv ("excluded-uris", uris); } - - void update_header (Gtk.ListBoxRow row, Gtk.ListBoxRow? before_row) { - if (before_row != null && row.get_header () == null) { - row.set_header (new Gtk.Separator (Gtk.Orientation.HORIZONTAL)); - } else { - row.set_header (null); - } - } } } diff --git a/src/baobab-window.vala b/src/baobab-window.vala index c1e733a..265fbec 100644 --- a/src/baobab-window.vala +++ b/src/baobab-window.vala @@ -23,11 +23,11 @@ namespace Baobab { [GtkTemplate (ui = "/org/gnome/baobab/ui/baobab-main-window.ui")] - public class Window : Gtk.ApplicationWindow { + public class Window : Hdy.ApplicationWindow { [GtkChild] private Gtk.Box vbox; [GtkChild] - private Gtk.HeaderBar header_bar; + private Hdy.HeaderBar header_bar; [GtkChild] private Pathbar pathbar; [GtkChild] @@ -176,16 +176,6 @@ namespace Baobab { ui_settings.apply (); }); - var desktop = Environment.get_variable ("XDG_CURRENT_DESKTOP"); - - if (desktop == null || !desktop.contains ("Unity")) { - this.set_titlebar (header_bar); - } else { - header_bar.show_close_button = false; - header_bar.get_style_context ().remove_class ("titlebar"); - vbox.pack_start (header_bar, false, false, 0); - } - set_ui_state (home_page, false); button_press_event.connect ((event) => { diff --git a/src/meson.build b/src/meson.build index c43e5d1..b857f3d 100644 --- a/src/meson.build +++ b/src/meson.build @@ -39,6 +39,7 @@ baobab_dependencies = [ gio, gobject, gtk, + libhandy, math ] |