diff options
Diffstat (limited to 'lib/history')
-rw-r--r-- | lib/history/ephy-history-service.c | 15 | ||||
-rw-r--r-- | lib/history/ephy-history-service.h | 5 | ||||
-rw-r--r-- | lib/history/ephy-history-types.h | 3 |
3 files changed, 15 insertions, 8 deletions
diff --git a/lib/history/ephy-history-service.c b/lib/history/ephy-history-service.c index f7b468b9e..d618547e5 100644 --- a/lib/history/ephy-history-service.c +++ b/lib/history/ephy-history-service.c @@ -21,6 +21,7 @@ #include "ephy-history-service-private.h" #include "ephy-history-types.h" +#include "ephy-history-type-builtins.h" #include "ephy-sqlite-connection.h" typedef gboolean (*EphyHistoryServiceMethod) (EphyHistoryService *self, gpointer data, gpointer *result); @@ -125,13 +126,13 @@ ephy_history_service_finalize (GObject *self) } static gboolean -impl_visit_url (EphyHistoryService *self, const char *url) +impl_visit_url (EphyHistoryService *self, const char *url, EphyHistoryPageVisitType visit_type) { EphyHistoryPageVisit *visit; visit = ephy_history_page_visit_new (url, time (NULL), - EPHY_PAGE_VISIT_TYPED); + visit_type); ephy_history_service_add_visit (self, visit, NULL, NULL, NULL); ephy_history_page_visit_free (visit); @@ -158,8 +159,9 @@ ephy_history_service_class_init (EphyHistoryServiceClass *klass) g_signal_accumulator_true_handled, NULL, g_cclosure_marshal_generic, G_TYPE_BOOLEAN, - 1, - G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE); + 2, + G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE, + EPHY_TYPE_HISTORY_PAGE_VISIT_TYPE); signals[CLEARED] = g_signal_new ("cleared", @@ -1008,14 +1010,15 @@ ephy_history_service_find_urls (EphyHistoryService *self, void ephy_history_service_visit_url (EphyHistoryService *self, - const char *url) + const char *url, + EphyHistoryPageVisitType visit_type) { gboolean result; g_return_if_fail (EPHY_IS_HISTORY_SERVICE (self)); g_return_if_fail (url != NULL); - g_signal_emit (self, signals[VISIT_URL], 0, url, &result); + g_signal_emit (self, signals[VISIT_URL], 0, url, visit_type, &result); } void diff --git a/lib/history/ephy-history-service.h b/lib/history/ephy-history-service.h index c2e2093db..233f443bf 100644 --- a/lib/history/ephy-history-service.h +++ b/lib/history/ephy-history-service.h @@ -53,7 +53,8 @@ struct _EphyHistoryServiceClass { /* Signals */ gboolean (* visit_url) (EphyHistoryService *self, - const char *url); + const char *url, + EphyHistoryPageVisitType visit_type); }; GType ephy_history_service_get_type (void); @@ -73,7 +74,7 @@ void ephy_history_service_delete_host (EphyHisto void ephy_history_service_get_url (EphyHistoryService *self, const char *url, GCancellable *cancellable, EphyHistoryJobCallback callback, gpointer user_data); void ephy_history_service_delete_urls (EphyHistoryService *self, GList *urls, GCancellable *cancellable, EphyHistoryJobCallback callback, gpointer user_data); void ephy_history_service_find_urls (EphyHistoryService *self, gint64 from, gint64 to, guint limit, gint host, GList *substring_list, GCancellable *cancellable, EphyHistoryJobCallback callback, gpointer user_data); -void ephy_history_service_visit_url (EphyHistoryService *self, const char *orig_url); +void ephy_history_service_visit_url (EphyHistoryService *self, const char *orig_url, EphyHistoryPageVisitType visit_type); void ephy_history_service_clear (EphyHistoryService *self, GCancellable *cancellable, EphyHistoryJobCallback callback, gpointer user_data); void ephy_history_service_find_hosts (EphyHistoryService *self, gint64 from, gint64 to, GCancellable *cancellable, EphyHistoryJobCallback callback, gpointer user_data); diff --git a/lib/history/ephy-history-types.h b/lib/history/ephy-history-types.h index 4ff836fc6..28e762d4e 100644 --- a/lib/history/ephy-history-types.h +++ b/lib/history/ephy-history-types.h @@ -30,6 +30,7 @@ G_BEGIN_DECLS * src/chrome/common/page_transition_types.h in the Chromium source code. */ typedef enum { + EPHY_PAGE_VISIT_NONE, EPHY_PAGE_VISIT_LINK, EPHY_PAGE_VISIT_TYPED, EPHY_PAGE_VISIT_MANUAL_SUBFRAME, @@ -37,6 +38,8 @@ typedef enum { EPHY_PAGE_VISIT_STARTUP, EPHY_PAGE_VISIT_FORM_SUBMISSION, EPHY_PAGE_VISIT_FORM_RELOAD, + EPHY_PAGE_VISIT_BOOKMARK, + EPHY_PAGE_VISIT_HOMEPAGE } EphyHistoryPageVisitType; typedef enum { |