diff options
author | Christopher Davis <brainblasted@disroot.org> | 2021-02-10 21:52:21 -0800 |
---|---|---|
committer | Alexander Mikhaylenko <alexm@gnome.org> | 2021-02-11 19:32:00 +0500 |
commit | c64544d439856602fcb2648aff3a2ecf27bbfffe (patch) | |
tree | 026afe0bec5c175ae78576b592442c5cd14bbc1f | |
parent | c38919af14358249e10101816f8834a300e9824c (diff) | |
download | epiphany-c64544d439856602fcb2648aff3a2ecf27bbfffe.tar.gz |
data-view: Use HdyStatusPage for empty states
libhandy now provides a built-in empty page widget. For consistency across
apps, we should use it for our empty states.
Use the actual app icon instead of web-browser-symbolic while we're here.
-rw-r--r-- | src/preferences/ephy-data-view.c | 18 | ||||
-rw-r--r-- | src/resources/gtk/data-view.ui | 133 |
2 files changed, 15 insertions, 136 deletions
diff --git a/src/preferences/ephy-data-view.c b/src/preferences/ephy-data-view.c index a01047e08..995ac2663 100644 --- a/src/preferences/ephy-data-view.c +++ b/src/preferences/ephy-data-view.c @@ -18,6 +18,7 @@ * along with Epiphany. If not, see <http://www.gnu.org/licenses/>. */ +#include "config.h" #include "ephy-data-view.h" #include <ctype.h> @@ -32,8 +33,7 @@ typedef struct { GtkWidget *search_entry; GtkWidget *search_button; GtkWidget *stack; - GtkWidget *empty_title_label; - GtkWidget *empty_description_label; + GtkWidget *empty_page; GtkWidget *spinner; gboolean is_loading : 1; @@ -200,10 +200,10 @@ ephy_data_view_set_property (GObject *object, atk_object_set_description (gtk_widget_get_accessible (GTK_WIDGET (self)), g_value_get_string (value)); break; case PROP_EMPTY_TITLE: - gtk_label_set_text (GTK_LABEL (priv->empty_title_label), g_value_get_string (value)); + hdy_status_page_set_title (HDY_STATUS_PAGE (priv->empty_page), g_value_get_string (value)); break; case PROP_EMPTY_DESCRIPTION: - gtk_label_set_text (GTK_LABEL (priv->empty_description_label), g_value_get_string (value)); + hdy_status_page_set_description (HDY_STATUS_PAGE (priv->empty_page), g_value_get_string (value)); break; case PROP_IS_LOADING: ephy_data_view_set_is_loading (self, g_value_get_boolean (value)); @@ -252,10 +252,10 @@ ephy_data_view_get_property (GObject *object, g_value_set_string (value, gtk_entry_get_placeholder_text (GTK_ENTRY (priv->search_entry))); break; case PROP_EMPTY_TITLE: - g_value_set_string (value, gtk_label_get_text (GTK_LABEL (priv->empty_title_label))); + g_value_set_string (value, hdy_status_page_get_title (HDY_STATUS_PAGE (priv->empty_page))); break; case PROP_EMPTY_DESCRIPTION: - g_value_set_string (value, gtk_label_get_text (GTK_LABEL (priv->empty_description_label))); + g_value_set_string (value, hdy_status_page_get_description (HDY_STATUS_PAGE (priv->empty_page))); break; case PROP_SEARCH_TEXT: g_value_set_string (value, ephy_data_view_get_search_text (self)); @@ -445,8 +445,7 @@ ephy_data_view_class_init (EphyDataViewClass *klass) gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, header_bar); gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, back_button); gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, clear_button); - gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, empty_title_label); - gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, empty_description_label); + gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, empty_page); gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, search_bar); gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, search_button); gtk_widget_class_bind_template_child_private (widget_class, EphyDataView, search_entry); @@ -467,6 +466,9 @@ ephy_data_view_init (EphyDataView *self) hdy_search_bar_connect_entry (HDY_SEARCH_BAR (priv->search_bar), GTK_ENTRY (priv->search_entry)); + hdy_status_page_set_icon_name (HDY_STATUS_PAGE (priv->empty_page), + APPLICATION_ID "-symbolic"); + update (self); } diff --git a/src/resources/gtk/data-view.ui b/src/resources/gtk/data-view.ui index 5bfff6c07..5d3396873 100644 --- a/src/resources/gtk/data-view.ui +++ b/src/resources/gtk/data-view.ui @@ -103,142 +103,19 @@ </packing> </child> <child> - <object class="GtkScrolledWindow"> - <property name="can_focus">False</property> - <property name="expand">True</property> - <property name="hscrollbar_policy">never</property> + <object class="HdyStatusPage" id="empty_page"> <property name="visible">True</property> - <child> - <object class="GtkBox"> - <property name="can_focus">False</property> - <property name="halign">center</property> - <property name="orientation">vertical</property> - <property name="valign">center</property> - <property name="vexpand">True</property> - <property name="visible">True</property> - <child> - <object class="GtkImage"> - <property name="can_focus">False</property> - <property name="icon_name">web-browser-symbolic</property> - <property name="icon_size">0</property> - <property name="margin_bottom">18</property> - <property name="pixel_size">128</property> - <property name="valign">center</property> - <property name="visible">True</property> - <style> - <class name="dim-label"/> - </style> - </object> - </child> - <child> - <object class="GtkBox"> - <property name="can_focus">False</property> - <property name="margin_end">12</property> - <property name="margin_start">12</property> - <property name="orientation">vertical</property> - <property name="visible">True</property> - <child> - <object class="GtkLabel" id="empty_title_label"> - <property name="can_focus">False</property> - <property name="halign">center</property> - <property name="justify">center</property> - <property name="margin_bottom">12</property> - <property name="opacity">0.5</property> - <property name="visible">True</property> - <property name="wrap">True</property> - <attributes> - <attribute name="scale" value="2"/> - <attribute name="weight" value="bold"/> - </attributes> - </object> - </child> - <child> - <object class="GtkLabel" id="empty_description_label"> - <property name="can_focus">False</property> - <property name="justify">center</property> - <property name="margin_bottom">6</property> - <property name="opacity">0.5</property> - <property name="use_markup">True</property> - <property name="visible">True</property> - <property name="wrap">True</property> - </object> - </child> - </object> - </child> - </object> - </child> </object> <packing> <property name="name">empty</property> </packing> </child> <child> - <object class="GtkScrolledWindow"> - <property name="can_focus">False</property> - <property name="expand">True</property> - <property name="hscrollbar_policy">never</property> + <object class="HdyStatusPage"> <property name="visible">True</property> - <child> - <object class="GtkBox"> - <property name="can_focus">False</property> - <property name="halign">center</property> - <property name="orientation">vertical</property> - <property name="valign">center</property> - <property name="vexpand">True</property> - <property name="visible">True</property> - <child> - <object class="GtkImage"> - <property name="can_focus">False</property> - <property name="icon_name">edit-find-symbolic</property> - <property name="icon_size">0</property> - <property name="margin_bottom">18</property> - <property name="pixel_size">128</property> - <property name="valign">center</property> - <property name="visible">True</property> - <style> - <class name="dim-label"/> - </style> - </object> - </child> - <child> - <object class="GtkBox"> - <property name="can_focus">False</property> - <property name="margin_end">12</property> - <property name="margin_start">12</property> - <property name="orientation">vertical</property> - <property name="visible">True</property> - <child> - <object class="GtkLabel"> - <property name="can_focus">False</property> - <property name="halign">center</property> - <property name="justify">center</property> - <property name="label" translatable="yes">No Results Found</property> - <property name="margin_bottom">12</property> - <property name="opacity">0.5</property> - <property name="visible">True</property> - <property name="wrap">True</property> - <attributes> - <attribute name="scale" value="2"/> - <attribute name="weight" value="bold"/> - </attributes> - </object> - </child> - <child> - <object class="GtkLabel"> - <property name="can_focus">False</property> - <property name="justify">center</property> - <property name="label" translatable="yes">Try a different search</property> - <property name="margin_bottom">6</property> - <property name="opacity">0.5</property> - <property name="use_markup">True</property> - <property name="visible">True</property> - <property name="wrap">True</property> - </object> - </child> - </object> - </child> - </object> - </child> + <property name="icon_name">edit-find-symbolic</property> + <property name="title" translatable="yes">No Results Found</property> + <property name="description" translatable="yes">Try a different search</property> </object> <packing> <property name="name">no-results</property> |