summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Catanzaro <mcatanzaro@gnome.org>2020-09-29 10:51:09 -0500
committerMichael Catanzaro <mcatanzaro@gnome.org>2020-09-29 10:51:09 -0500
commit7eea3d9f0acc5de71979c4cf0b67ece3956414e3 (patch)
tree6d4b29d1ae9677c8842337cadbb96bc51cf0b4eb
parent6851f40e1b32ee72a9dffdedd142a83e77097483 (diff)
downloadepiphany-7eea3d9f0acc5de71979c4cf0b67ece3956414e3.tar.gz
Revert "Move bookmark star to bottom bar in mobile mode"
This reverts commit f79108840b9ff2434032a6412634c966680ea42f. This introduced a lot of weird bugs. Like a lot. Some of these are pretty wild. Let's try again later....
-rw-r--r--lib/ephy-bookmark-states.h28
-rw-r--r--lib/widgets/ephy-location-entry.c27
-rw-r--r--lib/widgets/ephy-location-entry.h14
-rw-r--r--src/bookmarks/ephy-add-bookmark-popover.c87
-rw-r--r--src/bookmarks/ephy-add-bookmark-popover.h3
-rw-r--r--src/ephy-action-bar-end.c60
-rw-r--r--src/ephy-action-bar-end.h8
-rw-r--r--src/ephy-action-bar.c5
-rw-r--r--src/ephy-header-bar.c12
-rw-r--r--src/ephy-window.c28
-rw-r--r--src/ephy-window.h4
-rw-r--r--src/resources/ephy-bookmarks-symbolic.svg83
-rw-r--r--src/resources/ephy-library-symbolic.svg117
-rw-r--r--src/resources/epiphany.gresource.xml2
-rw-r--r--src/resources/gtk/action-bar-end.ui22
15 files changed, 146 insertions, 354 deletions
diff --git a/lib/ephy-bookmark-states.h b/lib/ephy-bookmark-states.h
deleted file mode 100644
index a0d6ba6e5..000000000
--- a/lib/ephy-bookmark-states.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/*
- * Copyright © 2020 Jan-Michael Brummer <jan.brummer@tabos.org>
- *
- * This file is part of Epiphany.
- *
- * Epiphany is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Epiphany is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Epiphany. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-typedef enum {
- EPHY_BOOKMARK_ICON_HIDDEN,
- EPHY_BOOKMARK_ICON_EMPTY,
- EPHY_BOOKMARK_ICON_BOOKMARKED
-} EphyBookmarkIconState;
-
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c
index 416575603..4c8ea0a36 100644
--- a/lib/widgets/ephy-location-entry.c
+++ b/lib/widgets/ephy-location-entry.c
@@ -69,7 +69,6 @@ struct _EphyLocationEntry {
gboolean reader_mode_active;
gboolean button_release_is_blocked;
- gboolean mobile_mode;
char *saved_text;
char *jump_tab;
@@ -88,7 +87,6 @@ struct _EphyLocationEntry {
guint original_address : 1;
EphySecurityLevel security_level;
- EphyBookmarkIconState icon_state;
};
static gboolean ephy_location_entry_reset_internal (EphyLocationEntry *,
@@ -1322,8 +1320,8 @@ ephy_location_entry_focus (EphyLocationEntry *entry)
}
void
-ephy_location_entry_set_bookmark_icon_state (EphyLocationEntry *entry,
- EphyBookmarkIconState state)
+ephy_location_entry_set_bookmark_icon_state (EphyLocationEntry *entry,
+ EphyLocationEntryBookmarkIconState state)
{
GtkStyleContext *context;
@@ -1331,18 +1329,13 @@ ephy_location_entry_set_bookmark_icon_state (EphyLocationEntry *entry,
context = gtk_widget_get_style_context (GTK_WIDGET (entry->bookmark));
- entry->icon_state = state;
-
- if (entry->mobile_mode)
- state = EPHY_BOOKMARK_ICON_HIDDEN;
-
switch (state) {
- case EPHY_BOOKMARK_ICON_HIDDEN:
+ case EPHY_LOCATION_ENTRY_BOOKMARK_ICON_HIDDEN:
gtk_widget_set_visible (entry->bookmark_event_box, FALSE);
gtk_style_context_remove_class (context, "starred");
gtk_style_context_remove_class (context, "non-starred");
break;
- case EPHY_BOOKMARK_ICON_EMPTY:
+ case EPHY_LOCATION_ENTRY_BOOKMARK_ICON_EMPTY:
gtk_widget_set_visible (entry->bookmark_event_box, TRUE);
gtk_image_set_from_icon_name (GTK_IMAGE (entry->bookmark),
"non-starred-symbolic",
@@ -1350,7 +1343,7 @@ ephy_location_entry_set_bookmark_icon_state (EphyLocationEntry *entry,
gtk_style_context_remove_class (context, "starred");
gtk_style_context_add_class (context, "non-starred");
break;
- case EPHY_BOOKMARK_ICON_BOOKMARKED:
+ case EPHY_LOCATION_ENTRY_BOOKMARK_ICON_BOOKMARKED:
gtk_widget_set_visible (entry->bookmark_event_box, TRUE);
gtk_image_set_from_icon_name (GTK_IMAGE (entry->bookmark),
"starred-symbolic",
@@ -1504,15 +1497,11 @@ ephy_location_entry_set_progress (EphyLocationEntry *entry,
}
void
-ephy_location_entry_set_mobile_mode (EphyLocationEntry *entry,
- gboolean mobile)
+ephy_location_entry_set_mobile_popdown (EphyLocationEntry *entry,
+ gboolean mobile_popdown)
{
- if (mobile)
+ if (mobile_popdown)
dzl_suggestion_entry_set_position_func (DZL_SUGGESTION_ENTRY (entry->url_entry), dzl_suggestion_entry_window_position_func, NULL, NULL);
else
dzl_suggestion_entry_set_position_func (DZL_SUGGESTION_ENTRY (entry->url_entry), position_func, NULL, NULL);
-
-
- entry->mobile_mode = mobile;
- ephy_location_entry_set_bookmark_icon_state (entry, entry->icon_state);
}
diff --git a/lib/widgets/ephy-location-entry.h b/lib/widgets/ephy-location-entry.h
index 96c2de273..fb8074b83 100644
--- a/lib/widgets/ephy-location-entry.h
+++ b/lib/widgets/ephy-location-entry.h
@@ -25,7 +25,6 @@
#include <gtk/gtk.h>
-#include "ephy-bookmark-states.h"
#include "ephy-security-levels.h"
G_BEGIN_DECLS
@@ -34,6 +33,11 @@ G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE (EphyLocationEntry, ephy_location_entry, EPHY, LOCATION_ENTRY, GtkOverlay)
+typedef enum {
+ EPHY_LOCATION_ENTRY_BOOKMARK_ICON_HIDDEN,
+ EPHY_LOCATION_ENTRY_BOOKMARK_ICON_EMPTY,
+ EPHY_LOCATION_ENTRY_BOOKMARK_ICON_BOOKMARKED
+} EphyLocationEntryBookmarkIconState;
GtkWidget *ephy_location_entry_new (void);
@@ -47,8 +51,8 @@ void ephy_location_entry_undo_reset (EphyLocationEntr
void ephy_location_entry_focus (EphyLocationEntry *entry);
-void ephy_location_entry_set_bookmark_icon_state (EphyLocationEntry *entry,
- EphyBookmarkIconState state);
+void ephy_location_entry_set_bookmark_icon_state (EphyLocationEntry *entry,
+ EphyLocationEntryBookmarkIconState state);
void ephy_location_entry_set_lock_tooltip (EphyLocationEntry *entry,
const char *tooltip);
@@ -76,7 +80,7 @@ void ephy_location_entry_set_progress (EphyLocationEntr
gdouble progress,
gboolean loading);
-void ephy_location_entry_set_mobile_mode (EphyLocationEntry *entry,
- gboolean mobile);
+void ephy_location_entry_set_mobile_popdown (EphyLocationEntry *entry,
+ gboolean mobile_popdown);
G_END_DECLS
diff --git a/src/bookmarks/ephy-add-bookmark-popover.c b/src/bookmarks/ephy-add-bookmark-popover.c
index 3977f486c..1fd476c83 100644
--- a/src/bookmarks/ephy-add-bookmark-popover.c
+++ b/src/bookmarks/ephy-add-bookmark-popover.c
@@ -35,26 +35,17 @@ struct _EphyAddBookmarkPopover {
char *address;
GtkWidget *grid;
- GtkWidget *relative_to;
- GtkWindow *window;
+ EphyHeaderBar *header_bar;
};
G_DEFINE_TYPE (EphyAddBookmarkPopover, ephy_add_bookmark_popover, GTK_TYPE_POPOVER)
enum {
PROP_0,
- PROP_RELATIVE_TO,
- PROP_WINDOW,
+ PROP_HEADER_BAR,
LAST_PROP
};
-enum signalsEnum {
- UPDATE_STATE,
- LAST_SIGNAL
-};
-
-static gint signals[LAST_SIGNAL] = { 0 };
-
static GParamSpec *obj_properties[LAST_PROP];
static void
@@ -66,11 +57,8 @@ ephy_bookmarks_popover_set_property (GObject *object,
EphyAddBookmarkPopover *self = EPHY_ADD_BOOKMARK_POPOVER (object);
switch (prop_id) {
- case PROP_RELATIVE_TO:
- self->relative_to = g_value_get_object (value);
- break;
- case PROP_WINDOW:
- self->window = g_value_get_object (value);
+ case PROP_HEADER_BAR:
+ self->header_bar = g_value_get_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -92,10 +80,16 @@ static void
ephy_add_bookmark_popover_constructed (GObject *object)
{
EphyAddBookmarkPopover *self = EPHY_ADD_BOOKMARK_POPOVER (object);
+ GtkWidget *location_entry;
+ GtkWidget *bookmark;
G_OBJECT_CLASS (ephy_add_bookmark_popover_parent_class)->constructed (object);
- gtk_popover_set_relative_to (GTK_POPOVER (self), self->relative_to);
+ location_entry = GTK_WIDGET (ephy_header_bar_get_title_widget (self->header_bar));
+ g_assert (EPHY_IS_LOCATION_ENTRY (location_entry));
+ bookmark = ephy_location_entry_get_bookmark_widget (EPHY_LOCATION_ENTRY (location_entry));
+
+ gtk_popover_set_relative_to (GTK_POPOVER (self), bookmark);
}
static void
@@ -107,34 +101,14 @@ ephy_add_bookmark_popover_class_init (EphyAddBookmarkPopoverClass *klass)
object_class->finalize = ephy_add_bookmark_popover_finalize;
object_class->constructed = ephy_add_bookmark_popover_constructed;
- obj_properties[PROP_RELATIVE_TO] =
- g_param_spec_object ("relative-to",
- "A GtkWidget object",
- "The popover's parent widget",
- GTK_TYPE_WIDGET,
- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
- obj_properties[PROP_WINDOW] =
- g_param_spec_object ("window",
- "A GtkWidget object",
- "The popover's parent window",
- GTK_TYPE_WIDGET,
+ obj_properties[PROP_HEADER_BAR] =
+ g_param_spec_object ("header-bar",
+ "An EphyHeaderBar object",
+ "The popover's parent EphyHeaderBar",
+ EPHY_TYPE_HEADER_BAR,
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, LAST_PROP, obj_properties);
-
- /**
- * EphAddBookmarkPopover::update-state:
- * @entry: the object on which the signal is emitted
- *
- * Emitted when the bookmark state changes
- *
- */
- signals[UPDATE_STATE] = g_signal_new ("update-state", G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_RUN_LAST,
- 0, NULL, NULL, NULL,
- G_TYPE_NONE,
- 1,
- G_TYPE_INT);
}
static void
@@ -171,12 +145,12 @@ ephy_add_bookmark_popover_init (EphyAddBookmarkPopover *self)
}
GtkWidget *
-ephy_add_bookmark_popover_new (GtkWidget *relative_to,
- GtkWidget *window)
+ephy_add_bookmark_popover_new (EphyHeaderBar *header_bar)
{
+ g_assert (EPHY_IS_HEADER_BAR (header_bar));
+
return g_object_new (EPHY_TYPE_ADD_BOOKMARK_POPOVER,
- "relative-to", relative_to,
- "window", window,
+ "header-bar", header_bar,
NULL);
}
@@ -193,6 +167,8 @@ ephy_add_bookmark_popover_update_bookmarked_status_cb (EphyAddBookmarkPopover *s
EphyBookmark *bookmark,
EphyBookmarksManager *manager)
{
+ GtkWidget *location_entry;
+ EphyWindow *window;
EphyEmbed *embed;
EphyWebView *view;
const char *address;
@@ -201,13 +177,17 @@ ephy_add_bookmark_popover_update_bookmarked_status_cb (EphyAddBookmarkPopover *s
g_assert (EPHY_IS_BOOKMARK (bookmark));
g_assert (EPHY_IS_BOOKMARKS_MANAGER (manager));
- embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (self->window));
+ location_entry = GTK_WIDGET (ephy_header_bar_get_title_widget (self->header_bar));
+ window = ephy_header_bar_get_window (self->header_bar);
+ embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (window));
view = ephy_embed_get_web_view (embed);
address = ephy_web_view_get_address (view);
- if (g_strcmp0 (ephy_bookmark_get_url (bookmark), address) == 0)
- g_signal_emit (self, signals[UPDATE_STATE], 0, EPHY_BOOKMARK_ICON_EMPTY);
+ if (g_strcmp0 (ephy_bookmark_get_url (bookmark), address) == 0) {
+ ephy_location_entry_set_bookmark_icon_state (EPHY_LOCATION_ENTRY (location_entry),
+ EPHY_LOCATION_ENTRY_BOOKMARK_ICON_EMPTY);
+ }
ephy_bookmarks_manager_save (manager,
ephy_bookmarks_manager_save_warn_on_error_cancellable (manager),
@@ -222,11 +202,15 @@ ephy_add_bookmark_popover_show (EphyAddBookmarkPopover *self)
{
EphyBookmarksManager *manager;
EphyBookmark *bookmark;
+ EphyWindow *window;
+ EphyLocationEntry *location_entry;
EphyEmbed *embed;
const char *address;
manager = ephy_shell_get_bookmarks_manager (ephy_shell_get_default ());
- embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (self->window));
+ location_entry = EPHY_LOCATION_ENTRY (ephy_header_bar_get_title_widget (self->header_bar));
+ window = ephy_header_bar_get_window (self->header_bar);
+ embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (window));
address = ephy_web_view_get_address (ephy_embed_get_web_view (embed));
@@ -242,7 +226,8 @@ ephy_add_bookmark_popover_show (EphyAddBookmarkPopover *self)
id);
ephy_bookmarks_manager_add_bookmark (manager, new_bookmark);
- g_signal_emit (self, signals[UPDATE_STATE], 0, EPHY_BOOKMARK_ICON_BOOKMARKED);
+ ephy_location_entry_set_bookmark_icon_state (location_entry,
+ EPHY_LOCATION_ENTRY_BOOKMARK_ICON_BOOKMARKED);
bookmark = new_bookmark;
}
diff --git a/src/bookmarks/ephy-add-bookmark-popover.h b/src/bookmarks/ephy-add-bookmark-popover.h
index 3dc5066ca..41d19dee8 100644
--- a/src/bookmarks/ephy-add-bookmark-popover.h
+++ b/src/bookmarks/ephy-add-bookmark-popover.h
@@ -30,8 +30,7 @@ G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE (EphyAddBookmarkPopover, ephy_add_bookmark_popover, EPHY, ADD_BOOKMARK_POPOVER, GtkPopover)
-GtkWidget *ephy_add_bookmark_popover_new (GtkWidget *relative_to,
- GtkWidget *window);
+GtkWidget *ephy_add_bookmark_popover_new (EphyHeaderBar *header_bar);
void ephy_add_bookmark_popover_show (EphyAddBookmarkPopover *self);
diff --git a/src/ephy-action-bar-end.c b/src/ephy-action-bar-end.c
index 8fee25dec..7775e0ce2 100644
--- a/src/ephy-action-bar-end.c
+++ b/src/ephy-action-bar-end.c
@@ -20,11 +20,9 @@
*/
#include "ephy-action-bar-end.h"
-#include "ephy-add-bookmark-popover.h"
#include "ephy-desktop-utils.h"
#include "ephy-downloads-popover.h"
#include "ephy-downloads-progress-icon.h"
-#include "ephy-location-entry.h"
#include "ephy-shell.h"
#include "ephy-window.h"
@@ -35,8 +33,6 @@
struct _EphyActionBarEnd {
GtkBox parent_instance;
- GtkWidget *bookmark_button;
- GtkWidget *bookmark_image;
GtkWidget *bookmarks_button;
GtkWidget *downloads_revealer;
GtkWidget *downloads_button;
@@ -233,12 +229,6 @@ ephy_action_bar_end_class_init (EphyActionBarEndClass *klass)
gtk_widget_class_bind_template_child (widget_class,
EphyActionBarEnd,
- bookmark_button);
- gtk_widget_class_bind_template_child (widget_class,
- EphyActionBarEnd,
- bookmark_image);
- gtk_widget_class_bind_template_child (widget_class,
- EphyActionBarEnd,
bookmarks_button);
gtk_widget_class_bind_template_child (widget_class,
EphyActionBarEnd,
@@ -255,17 +245,6 @@ ephy_action_bar_end_class_init (EphyActionBarEndClass *klass)
}
static void
-add_bookmark_button_clicked_cb (EphyActionBarEnd *action_bar_end)
-{
- GtkWidget *window = gtk_widget_get_toplevel (GTK_WIDGET (action_bar_end->bookmark_button));
- GtkWidget *popover = ephy_add_bookmark_popover_new (GTK_WIDGET (action_bar_end->bookmark_button), window);
-
- g_signal_connect_object (popover, "update-state", G_CALLBACK (ephy_window_sync_bookmark_state), action_bar_end, G_CONNECT_SWAPPED);
-
- ephy_add_bookmark_popover_show (EPHY_ADD_BOOKMARK_POPOVER (popover));
-}
-
-static void
ephy_action_bar_end_init (EphyActionBarEnd *action_bar_end)
{
GObject *object = G_OBJECT (action_bar_end);
@@ -313,10 +292,6 @@ ephy_action_bar_end_init (EphyActionBarEnd *action_bar_end)
g_signal_connect_object (downloads_manager, "show-downloads",
G_CALLBACK (show_downloads_cb),
object, 0);
-
- g_signal_connect_object (action_bar_end->bookmark_button, "clicked",
- G_CALLBACK (add_bookmark_button_clicked_cb), action_bar_end,
- G_CONNECT_SWAPPED);
}
EphyActionBarEnd *
@@ -344,38 +319,3 @@ ephy_action_bar_end_get_downloads_revealer (EphyActionBarEnd *action_bar_end)
{
return action_bar_end->downloads_revealer;
}
-
-void
-ephy_action_bar_end_set_show_bookmark_button (EphyActionBarEnd *action_bar_end,
- gboolean show)
-{
- gtk_widget_set_visible (action_bar_end->bookmark_button, show);
-}
-
-
-void
-ephy_action_bar_end_set_bookmark_icon_state (EphyActionBarEnd *action_bar_end,
- EphyBookmarkIconState state)
-{
- g_assert (EPHY_IS_ACTION_BAR_END (action_bar_end));
-
- switch (state) {
- case EPHY_BOOKMARK_ICON_HIDDEN:
- gtk_widget_set_visible (action_bar_end->bookmark_button, FALSE);
- break;
- case EPHY_BOOKMARK_ICON_EMPTY:
- gtk_widget_set_visible (action_bar_end->bookmark_button, TRUE);
- gtk_image_set_from_icon_name (GTK_IMAGE (action_bar_end->bookmark_image),
- "non-starred-symbolic",
- GTK_ICON_SIZE_BUTTON);
- break;
- case EPHY_BOOKMARK_ICON_BOOKMARKED:
- gtk_widget_set_visible (action_bar_end->bookmark_button, TRUE);
- gtk_image_set_from_icon_name (GTK_IMAGE (action_bar_end->bookmark_image),
- "starred-symbolic",
- GTK_ICON_SIZE_BUTTON);
- break;
- default:
- g_assert_not_reached ();
- }
-}
diff --git a/src/ephy-action-bar-end.h b/src/ephy-action-bar-end.h
index 81bab0b0d..a0d397bc9 100644
--- a/src/ephy-action-bar-end.h
+++ b/src/ephy-action-bar-end.h
@@ -21,8 +21,6 @@
#pragma once
-#include "ephy-bookmark-states.h"
-
#include <gtk/gtk.h>
G_BEGIN_DECLS
@@ -36,10 +34,4 @@ void ephy_action_bar_end_set_show_bookmarks_button (EphyActionBarEn
gboolean show);
GtkWidget *ephy_action_bar_end_get_downloads_revealer (EphyActionBarEnd *action_bar_end);
-void ephy_action_bar_end_set_show_bookmark_button (EphyActionBarEnd *action_bar_end,
- gboolean show);
-
-void ephy_action_bar_end_set_bookmark_icon_state (EphyActionBarEnd *action_bar_end,
- EphyBookmarkIconState state);
-
G_END_DECLS
diff --git a/src/ephy-action-bar.c b/src/ephy-action-bar.c
index a1d89fb56..c28ce6bac 100644
--- a/src/ephy-action-bar.c
+++ b/src/ephy-action-bar.c
@@ -20,8 +20,6 @@
*/
#include "ephy-action-bar.h"
-#include "ephy-add-bookmark-popover.h"
-#include "ephy-location-entry.h"
#include "ephy-pages-button.h"
#include "ephy-pages-popover.h"
#include "ephy-settings.h"
@@ -226,9 +224,6 @@ void
ephy_action_bar_set_adaptive_mode (EphyActionBar *action_bar,
EphyAdaptiveMode adaptive_mode)
{
- ephy_action_bar_end_set_show_bookmark_button (action_bar->action_bar_end,
- adaptive_mode == EPHY_ADAPTIVE_MODE_NARROW);
-
switch (adaptive_mode) {
case EPHY_ADAPTIVE_MODE_NORMAL:
gtk_revealer_set_reveal_child (GTK_REVEALER (action_bar), FALSE);
diff --git a/src/ephy-header-bar.c b/src/ephy-header-bar.c
index c2c9f22bf..a248b0ef9 100644
--- a/src/ephy-header-bar.c
+++ b/src/ephy-header-bar.c
@@ -236,11 +236,8 @@ ephy_header_bar_constructed (GObject *object)
gtk_widget_show (GTK_WIDGET (header_bar->title_widget));
if (EPHY_IS_LOCATION_ENTRY (header_bar->title_widget)) {
- EphyLocationEntry *lentry = EPHY_LOCATION_ENTRY (header_bar->title_widget);
- GtkWidget *popover = ephy_add_bookmark_popover_new (ephy_location_entry_get_bookmark_widget (lentry), GTK_WIDGET (header_bar->window));
-
- g_signal_connect_object (popover, "update-state", G_CALLBACK (ephy_window_sync_bookmark_state), header_bar, G_CONNECT_SWAPPED);
- ephy_location_entry_set_add_bookmark_popover (lentry, GTK_POPOVER (popover));
+ ephy_location_entry_set_add_bookmark_popover (EPHY_LOCATION_ENTRY (header_bar->title_widget),
+ GTK_POPOVER (ephy_add_bookmark_popover_new (header_bar)));
g_signal_connect_object (header_bar->title_widget,
"bookmark-clicked",
@@ -420,9 +417,6 @@ void
ephy_header_bar_set_adaptive_mode (EphyHeaderBar *header_bar,
EphyAdaptiveMode adaptive_mode)
{
- ephy_action_bar_end_set_show_bookmark_button (header_bar->action_bar_end,
- adaptive_mode == EPHY_ADAPTIVE_MODE_NARROW);
-
switch (adaptive_mode) {
case EPHY_ADAPTIVE_MODE_NORMAL:
gtk_revealer_set_reveal_child (GTK_REVEALER (header_bar->start_revealer), TRUE);
@@ -439,7 +433,7 @@ ephy_header_bar_set_adaptive_mode (EphyHeaderBar *header_bar,
}
if (ephy_embed_shell_get_mode (ephy_embed_shell_get_default ()) != EPHY_EMBED_SHELL_MODE_APPLICATION)
- ephy_location_entry_set_mobile_mode (EPHY_LOCATION_ENTRY (header_bar->title_widget), adaptive_mode == EPHY_ADAPTIVE_MODE_NARROW);
+ ephy_location_entry_set_mobile_popdown (EPHY_LOCATION_ENTRY (header_bar->title_widget), adaptive_mode == EPHY_ADAPTIVE_MODE_NARROW);
}
void
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 1711816fe..bf2e3bb4f 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -26,7 +26,6 @@
#include "ephy-action-bar.h"
#include "ephy-action-helper.h"
-#include "ephy-bookmark-states.h"
#include "ephy-bookmarks-manager.h"
#include "ephy-debug.h"
#include "ephy-desktop-utils.h"
@@ -1222,33 +1221,15 @@ sync_tab_is_blank (EphyWebView *view,
ephy_web_view_get_is_blank (view));
}
-void ephy_window_sync_bookmark_state (GtkWidget *widget,
- EphyBookmarkIconState state)
-{
- GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (widget));
- EphyWindow *window = EPHY_WINDOW (toplevel);
- EphyActionBarEnd *action_bar_end = ephy_action_bar_get_action_bar_end (EPHY_ACTION_BAR (window->action_bar));
- GtkWidget *lentry;
-
- if (action_bar_end)
- ephy_action_bar_end_set_bookmark_icon_state (EPHY_ACTION_BAR_END (action_bar_end), state);
-
- lentry = GTK_WIDGET (ephy_header_bar_get_title_widget (EPHY_HEADER_BAR (window->header_bar)));
-
- if (EPHY_IS_LOCATION_ENTRY (lentry))
- ephy_location_entry_set_bookmark_icon_state (EPHY_LOCATION_ENTRY (lentry), state);
-}
-
static void
sync_tab_bookmarked_status (EphyWebView *view,
GParamSpec *pspec,
EphyWindow *window)
{
- EphyActionBarEnd *action_bar_end = ephy_action_bar_get_action_bar_end (EPHY_ACTION_BAR (window->action_bar));
EphyBookmarksManager *manager = ephy_shell_get_bookmarks_manager (ephy_shell_get_default ());
EphyEmbedShell *shell = ephy_embed_shell_get_default ();
EphyEmbedShellMode mode;
- EphyBookmarkIconState state;
+ EphyLocationEntryBookmarkIconState state;
GtkWidget *widget;
EphyBookmark *bookmark;
const char *address;
@@ -1265,14 +1246,13 @@ sync_tab_bookmarked_status (EphyWebView *view,
ephy_embed_utils_is_no_show_address (address) ||
mode == EPHY_EMBED_SHELL_MODE_INCOGNITO ||
mode == EPHY_EMBED_SHELL_MODE_AUTOMATION) {
- state = EPHY_BOOKMARK_ICON_HIDDEN;
+ state = EPHY_LOCATION_ENTRY_BOOKMARK_ICON_HIDDEN;
} else {
bookmark = ephy_bookmarks_manager_get_bookmark_by_url (manager, address);
- state = bookmark ? EPHY_BOOKMARK_ICON_BOOKMARKED
- : EPHY_BOOKMARK_ICON_EMPTY;
+ state = bookmark ? EPHY_LOCATION_ENTRY_BOOKMARK_ICON_BOOKMARKED
+ : EPHY_LOCATION_ENTRY_BOOKMARK_ICON_EMPTY;
}
- ephy_action_bar_end_set_bookmark_icon_state (EPHY_ACTION_BAR_END (action_bar_end), state);
ephy_location_entry_set_bookmark_icon_state (EPHY_LOCATION_ENTRY (widget), state);
}
diff --git a/src/ephy-window.h b/src/ephy-window.h
index 6f7a2587d..01c272846 100644
--- a/src/ephy-window.h
+++ b/src/ephy-window.h
@@ -20,7 +20,6 @@
#pragma once
-#include "ephy-bookmark-states.h"
#include "ephy-bookmarks-manager.h"
#include "ephy-embed.h"
#include "ephy-embed-event.h"
@@ -98,7 +97,4 @@ gboolean ephy_window_is_fullscreen (EphyWindow *window);
void ephy_window_get_geometry (EphyWindow *window,
GdkRectangle *rectangle);
-void ephy_window_sync_bookmark_state (GtkWidget *widget,
- EphyBookmarkIconState state);
-
G_END_DECLS
diff --git a/src/resources/ephy-bookmarks-symbolic.svg b/src/resources/ephy-bookmarks-symbolic.svg
new file mode 100644
index 000000000..b174985a6
--- /dev/null
+++ b/src/resources/ephy-bookmarks-symbolic.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16.003492"
+ height="16"
+ viewBox="0 0 16.003493 16"
+ id="svg7221"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="ephy-bookmarks-symbolic.svg">
+ <defs
+ id="defs7223" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="8.2824125"
+ inkscape:cy="11.498687"
+ inkscape:document-units="px"
+ inkscape:current-layer="g7201"
+ showgrid="false"
+ units="px"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="2560"
+ inkscape:window-height="1376"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7226">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-366.99825,-524.3622)">
+ <g
+ id="g7201"
+ style="display:inline"
+ transform="translate(25.998054,63.362205)"
+ inkscape:label="bookmarks">
+ <g
+ id="g16974"
+ inkscape:label="bookmarks">
+ <path
+ inkscape:connector-curvature="0"
+ id="path7205"
+ transform="translate(241.0002,217)"
+ d="M 101.96875,244 C 100.87755,244 100,244.87755 100,245.96875 l 0,12.0625 c 0,1.0912 0.87755,1.96875 1.96875,1.96875 L 114,260 c 0.554,0 1,-0.446 1,-1 l 0,-11 c 0,-0.554 -0.446,-1 -1,-1 l -12,0 c -0.554,0 -1,-0.446 -1,-1 0,-0.554 0.446,-1 1,-1 l 12,0 c 0,-0.55856 -0.44144,-1 -1,-1 l -11.03125,0 z m 5.79492,4.92383 c 0.67546,0.003 1.0333,2.39564 1.57813,2.79492 0.54503,0.39943 2.93625,0.0206 3.14258,0.66406 0.20624,0.64321 -1.95855,1.7237 -2.16993,2.36524 -0.21146,0.64179 0.88611,2.79829 0.33789,3.19336 -0.54799,0.39491 -2.24446,-1.32925 -2.91992,-1.33203 -0.67572,-0.003 -2.3865,1.70789 -2.93164,1.30859 -0.54493,-0.39914 0.56936,-2.54619 0.36328,-3.18945 -0.20616,-0.64351 -2.36169,-1.74293 -2.15039,-2.38477 0.21122,-0.64159 2.59839,-0.2439 3.14649,-0.63867 0.54831,-0.39493 0.92779,-2.78387 1.60351,-2.78125 z"
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
+ </g>
+ <g
+ transform="matrix(0.67537179,0,0,0.67537179,189.36843,-207.21827)"
+ style="display:inline"
+ id="g7207" />
+ </g>
+ </g>
+</svg>
diff --git a/src/resources/ephy-library-symbolic.svg b/src/resources/ephy-library-symbolic.svg
deleted file mode 100644
index cb8f5abfb..000000000
--- a/src/resources/ephy-library-symbolic.svg
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
- sodipodi:docname="library-symbolic.svg"
- height="16"
- id="svg7384"
- version="1.1"
- width="16">
- <sodipodi:namedview
- inkscape:snap-nodes="false"
- inkscape:snap-bbox-edge-midpoints="true"
- inkscape:bbox-nodes="true"
- inkscape:bbox-paths="true"
- inkscape:snap-bbox="true"
- inkscape:document-rotation="0"
- inkscape:current-layer="svg7384"
- inkscape:window-maximized="1"
- inkscape:window-y="0"
- inkscape:window-x="0"
- inkscape:cy="17.615062"
- inkscape:cx="20.519029"
- inkscape:zoom="9.0553378"
- inkscape:snap-page="true"
- inkscape:snap-text-baseline="true"
- inkscape:snap-center="true"
- inkscape:snap-object-midpoints="true"
- inkscape:snap-intersection-paths="true"
- inkscape:object-paths="true"
- inkscape:snap-midpoints="true"
- inkscape:snap-smooth-nodes="true"
- showgrid="false"
- id="namedview16"
- inkscape:window-height="1016"
- inkscape:window-width="1920"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0"
- guidetolerance="10"
- gridtolerance="10"
- objecttolerance="10"
- borderopacity="1"
- bordercolor="#666666"
- pagecolor="#ffffff">
- <inkscape:grid
- id="grid835"
- type="xygrid" />
- </sodipodi:namedview>
- <metadata
- id="metadata90">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Gnome Symbolic Icon Theme</dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <title
- id="title9167">Gnome Symbolic Icon Theme</title>
- <defs
- id="defs7386">
- <linearGradient
- id="linearGradient7212"
- osb:paint="solid">
- <stop
- id="stop7214"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- </linearGradient>
- </defs>
- <rect
- ry="0.5"
- rx="0.5"
- y="2"
- x="1"
- height="13"
- width="3"
- id="rect837"
- style="fill:#241f31;fill-opacity:1;stroke-width:0.917791;stroke-linecap:round;stroke-linejoin:round" />
- <rect
- ry="0.5"
- rx="0.5"
- style="fill:#241f31;fill-opacity:1;stroke-width:0.844245;stroke-linecap:round;stroke-linejoin:round"
- id="rect839"
- width="2"
- height="11"
- x="5"
- y="4" />
- <rect
- ry="0.5"
- rx="0.5"
- y="3"
- x="8"
- height="12"
- width="2"
- id="rect841"
- style="fill:#241f31;fill-opacity:1;stroke-width:0.881785;stroke-linecap:round;stroke-linejoin:round" />
- <rect
- ry="0.5"
- rx="0.5"
- transform="rotate(-15)"
- style="fill:#241f31;fill-opacity:1;stroke-width:0.952437;stroke-linecap:round;stroke-linejoin:round"
- id="rect843"
- width="2"
- height="14"
- x="9.462719"
- y="4.1807427" />
-</svg>
diff --git a/src/resources/epiphany.gresource.xml b/src/resources/epiphany.gresource.xml
index d6b40269f..d65cdc58d 100644
--- a/src/resources/epiphany.gresource.xml
+++ b/src/resources/epiphany.gresource.xml
@@ -44,6 +44,7 @@
</gresource>
<gresource prefix="/org/gnome/Epiphany/icons">
<file compressed="true" alias="scalable/actions/ephy-download-symbolic.svg" preprocess="xml-stripblanks">ephy-download-symbolic.svg</file>
+ <file compressed="true" alias="scalable/actions/ephy-bookmarks-symbolic.svg">ephy-bookmarks-symbolic.svg</file>
<file compressed="true" alias="scalable/actions/ephy-bookmark-tag-symbolic.svg">ephy-bookmark-tag-symbolic.svg</file>
<file compressed="true" alias="scalable/actions/ephy-missing-favicon-symbolic.svg">ephy-missing-favicon-symbolic.svg</file>
<file compressed="true" alias="scalable/actions/ephy-reader-mode-symbolic.svg">ephy-reader-mode-symbolic.svg</file>
@@ -51,7 +52,6 @@
<file compressed="true" alias="scalable/status/ephy-audio-playing-symbolic.svg">ephy-audio-playing-symbolic.svg</file>
<file compressed="true" alias="scalable/status/ephy-tab-counter-symbolic.svg">ephy-tab-counter-symbolic.svg</file>
<file compressed="true" alias="scalable/status/ephy-tab-overflow-symbolic.svg">ephy-tab-overflow-symbolic.svg</file>
- <file compressed="true" alias="scalable/status/ephy-library-symbolic.svg">ephy-library-symbolic.svg</file>
</gresource>
<gresource prefix="/org/gnome/Epiphany">
<file compressed="true">themes/shared.css</file>
diff --git a/src/resources/gtk/action-bar-end.ui b/src/resources/gtk/action-bar-end.ui
index cd56c34ea..6e03dbfc6 100644
--- a/src/resources/gtk/action-bar-end.ui
+++ b/src/resources/gtk/action-bar-end.ui
@@ -1,10 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <object class="GtkImage" id="bookmark_image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">non-starred-symbolic</property>
- </object>
<template class="EphyActionBarEnd" parent="GtkBox">
<property name="spacing">6</property>
<child>
@@ -20,7 +15,7 @@
<child>
<object class="GtkImage" id="bookmarks_image">
<property name="visible">True</property>
- <property name="icon-name">ephy-library-symbolic</property>
+ <property name="icon-name">ephy-bookmarks-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
@@ -30,21 +25,6 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="bookmark_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <!-- Translators: tooltip for the bookmark button -->
- <property name="tooltip_text" translatable="yes">Bookmark page</property>
- <property name="image">bookmark_image</property>
- <style>
- <class name="image-button"/>
- </style>
- </object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
- </child>
- <child>
<object class="GtkRevealer" id="downloads_revealer">
<property name="visible">True</property>
<property name="transition-type">crossfade</property>