[epiphany] downloads-popover: Fix visual and layout issues
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] downloads-popover: Fix visual and layout issues
- Date: Sat, 27 Feb 2016 18:36:44 +0000 (UTC)
commit 0fd589c8971ef62abd04b7c796b63eed8415b65e
Author: Iulian Radu <iulian radu67 gmail com>
Date: Sat Feb 20 15:33:14 2016 +0200
downloads-popover: Fix visual and layout issues
The complete list of issues and solutions can be found
in the bug report.
https://bugzilla.gnome.org/show_bug.cgi?id=761857
lib/widgets/ephy-download-widget.c | 36 ++++++++++++-----------
lib/widgets/ephy-downloads-popover.c | 52 +++++++++++++++-------------------
2 files changed, 42 insertions(+), 46 deletions(-)
---
diff --git a/lib/widgets/ephy-download-widget.c b/lib/widgets/ephy-download-widget.c
index 687212b..8e16bda 100644
--- a/lib/widgets/ephy-download-widget.c
+++ b/lib/widgets/ephy-download-widget.c
@@ -138,11 +138,11 @@ update_download_icon (EphyDownloadWidget *widget)
content_type = ephy_download_get_content_type (widget->download);
if (content_type)
- icon = g_content_type_get_icon (content_type);
+ icon = g_content_type_get_symbolic_icon (content_type);
else
- icon = g_icon_new_for_string ("package-x-generic", NULL);
+ icon = g_icon_new_for_string ("package-x-generic-symbolic", NULL);
- gtk_image_set_from_gicon (GTK_IMAGE (widget->icon), icon, GTK_ICON_SIZE_DIALOG);
+ gtk_image_set_from_gicon (GTK_IMAGE (widget->icon), icon, GTK_ICON_SIZE_MENU);
g_object_unref (icon);
}
@@ -150,15 +150,14 @@ static void
update_download_destination (EphyDownloadWidget *widget)
{
char *dest;
- char *markup;
dest = get_destination_basename_from_download (widget->download);
if (!dest)
return;
- markup = g_markup_printf_escaped ("<b>%s</b>", dest);
+
+ gtk_label_set_label (GTK_LABEL (widget->filename), dest);
+
g_free (dest);
- gtk_label_set_markup (GTK_LABEL (widget->filename), markup);
- g_free (markup);
}
static void
@@ -365,18 +364,21 @@ ephy_download_widget_constructed (GObject *object)
G_OBJECT_CLASS (ephy_download_widget_parent_class)->constructed (object);
- gtk_widget_set_margin_start (GTK_WIDGET (widget), 5);
- gtk_widget_set_margin_end (GTK_WIDGET (widget), 5);
+ gtk_widget_set_margin_start (GTK_WIDGET (widget), 12);
+ gtk_widget_set_margin_end (GTK_WIDGET (widget), 12);
+ gtk_widget_set_margin_top (GTK_WIDGET (widget), 12);
+ gtk_widget_set_margin_bottom (GTK_WIDGET (widget), 12);
widget->icon = gtk_image_new ();
- gtk_widget_set_margin_end (widget->icon, 10);
+ gtk_widget_set_margin_end (widget->icon, 4);
+ gtk_widget_set_halign (widget->icon, GTK_ALIGN_START);
update_download_icon (widget);
- gtk_grid_attach (GTK_GRID (widget), widget->icon, 0, 0, 1, 3);
+ gtk_grid_attach (GTK_GRID (widget), widget->icon, 0, 0, 1, 1);
gtk_widget_show (widget->icon);
widget->filename = gtk_label_new (NULL);
+ gtk_widget_set_hexpand (widget->filename, true);
gtk_widget_set_valign (widget->filename, GTK_ALIGN_CENTER);
- gtk_widget_set_margin_bottom (widget->filename, 6);
gtk_label_set_xalign (GTK_LABEL (widget->filename), 0);
gtk_label_set_max_width_chars (GTK_LABEL (widget->filename), 30);
gtk_label_set_ellipsize (GTK_LABEL (widget->filename), PANGO_ELLIPSIZE_END);
@@ -386,10 +388,10 @@ ephy_download_widget_constructed (GObject *object)
widget->progress = gtk_progress_bar_new ();
gtk_widget_set_valign (widget->progress, GTK_ALIGN_CENTER);
- gtk_widget_set_margin_start (widget->progress, 2);
- gtk_widget_set_margin_bottom (widget->progress, 4);
+ gtk_widget_set_margin_top (widget->progress, 6);
+ gtk_widget_set_margin_bottom (widget->progress, 6);
gtk_progress_bar_set_pulse_step (GTK_PROGRESS_BAR (widget->progress), 0.05);
- gtk_grid_attach (GTK_GRID (widget), widget->progress, 1, 1, 1, 1);
+ gtk_grid_attach (GTK_GRID (widget), widget->progress, 0, 1, 2, 1);
if (ephy_download_is_active (widget->download))
gtk_widget_show (widget->progress);
@@ -410,7 +412,7 @@ ephy_download_widget_constructed (GObject *object)
} else {
update_status_label (widget, _("Starting…"));
}
- gtk_grid_attach (GTK_GRID (widget), widget->status, 1, 2, 1, 1);
+ gtk_grid_attach (GTK_GRID (widget), widget->status, 0, 2, 2, 1);
gtk_widget_show (widget->status);
if (ephy_download_succeeded (widget->download))
@@ -426,7 +428,7 @@ ephy_download_widget_constructed (GObject *object)
gtk_widget_set_valign (widget->action_button, GTK_ALIGN_CENTER);
gtk_widget_set_margin_start (widget->action_button, 10);
gtk_style_context_add_class (gtk_widget_get_style_context (widget->action_button),
- "download-circular-button");
+ "circular");
gtk_grid_attach (GTK_GRID (widget), widget->action_button, 3, 0, 1, 3);
gtk_widget_show (widget->action_button);
diff --git a/lib/widgets/ephy-downloads-popover.c b/lib/widgets/ephy-downloads-popover.c
index 48886f8..65d1516 100644
--- a/lib/widgets/ephy-downloads-popover.c
+++ b/lib/widgets/ephy-downloads-popover.c
@@ -36,7 +36,7 @@ struct _EphyDownloadsPopover
G_DEFINE_TYPE (EphyDownloadsPopover, ephy_downloads_popover, GTK_TYPE_POPOVER)
-#define DOWNLOADS_BOX_MIN_SIZE 270
+#define DOWNLOADS_BOX_MIN_SIZE 330
static void
download_box_row_activated_cb (EphyDownloadsPopover *popover,
@@ -163,38 +163,12 @@ static void
ephy_downloads_popover_init (EphyDownloadsPopover *popover)
{
GtkWidget *scrolled_window;
- GtkWidget *title;
GtkWidget *vbox, *hbox;
GList *downloads, *l;
- char *markup;
EphyDownloadsManager *manager = ephy_embed_shell_get_downloads_manager (ephy_embed_shell_get_default ());;
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_widget_set_valign (hbox, GTK_ALIGN_CENTER);
- gtk_widget_set_margin_top (hbox, 6);
- gtk_widget_set_margin_end (hbox, 6);
-
- title = gtk_label_new (NULL);
- markup = g_strdup_printf ("<b>%s</b>", _("Downloads"));
- gtk_label_set_markup (GTK_LABEL (title), markup);
- g_free (markup);
- gtk_style_context_add_class (gtk_widget_get_style_context (title), GTK_STYLE_CLASS_TITLE);
- gtk_box_pack_start (GTK_BOX (hbox), title, TRUE, TRUE, 0);
- gtk_widget_show (title);
-
- popover->clear_button = gtk_button_new_with_label (_("Clear"));
- gtk_widget_set_sensitive (popover->clear_button, !ephy_downloads_manager_has_active_downloads (manager));
- g_signal_connect_swapped (popover->clear_button, "clicked",
- G_CALLBACK (clear_button_clicked_cb),
- popover);
- gtk_box_pack_end (GTK_BOX (hbox), popover->clear_button, FALSE, FALSE, 0);
- gtk_widget_show (popover->clear_button);
-
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
- gtk_widget_show (hbox);
-
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
@@ -205,8 +179,10 @@ ephy_downloads_popover_init (EphyDownloadsPopover *popover)
g_signal_connect_swapped (popover->downloads_box, "row-activated",
G_CALLBACK (download_box_row_activated_cb),
popover);
- gtk_list_box_set_activate_on_single_click (GTK_LIST_BOX (popover->downloads_box), FALSE);
- g_object_set (popover->downloads_box, "margin", 12, NULL);
+ gtk_list_box_set_activate_on_single_click (GTK_LIST_BOX (popover->downloads_box), TRUE);
+ gtk_list_box_set_selection_mode (GTK_LIST_BOX (popover->downloads_box), GTK_SELECTION_NONE);
+ gtk_style_context_add_class (gtk_widget_get_style_context (popover->downloads_box),
+ "background");
gtk_container_add (GTK_CONTAINER (scrolled_window), popover->downloads_box);
gtk_widget_show (popover->downloads_box);
@@ -237,6 +213,24 @@ ephy_downloads_popover_init (EphyDownloadsPopover *popover)
gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, FALSE, FALSE, 0);
gtk_widget_show (scrolled_window);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_widget_set_valign (hbox, GTK_ALIGN_CENTER);
+ gtk_widget_set_margin_start (hbox, 12);
+ gtk_widget_set_margin_end (hbox, 12);
+ gtk_widget_set_margin_top (hbox, 12);
+ gtk_widget_set_margin_bottom (hbox, 12);
+
+ popover->clear_button = gtk_button_new_with_mnemonic (_("_Clear All"));
+ gtk_widget_set_sensitive (popover->clear_button, !ephy_downloads_manager_has_active_downloads (manager));
+ g_signal_connect_swapped (popover->clear_button, "clicked",
+ G_CALLBACK (clear_button_clicked_cb),
+ popover);
+ gtk_box_pack_end (GTK_BOX (hbox), popover->clear_button, FALSE, FALSE, 0);
+ gtk_widget_show (popover->clear_button);
+
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+ gtk_widget_show (hbox);
+
gtk_container_add (GTK_CONTAINER (popover), vbox);
gtk_widget_show (vbox);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]