summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Davis <brainblasted@disroot.org>2021-02-07 02:24:33 +0000
committerChristopher Davis <brainblasted@disroot.org>2021-02-07 02:24:33 +0000
commit329656fc8a4b68a26274b8e79c07eb232a714d2b (patch)
tree64a273fe06510557d4d71af2f70c8928986081b2
parent750b950da65285b00c98f8b6926f4b17c8020b00 (diff)
parentd6c154c10bec45cf4203c207fd13c4f7ae1798f1 (diff)
downloadbaobab-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.css6
-rw-r--r--data/ui/baobab-location-list.ui38
-rw-r--r--data/ui/baobab-location-row.ui173
-rw-r--r--data/ui/baobab-main-window.ui136
-rw-r--r--data/ui/baobab-preferences-dialog.ui40
-rw-r--r--meson.build3
-rw-r--r--src/baobab-application.vala2
-rw-r--r--src/baobab-location-list.vala10
-rw-r--r--src/baobab-location.vala2
-rw-r--r--src/baobab-preferences-dialog.vala18
-rw-r--r--src/baobab-window.vala14
-rw-r--r--src/meson.build1
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
]