[epiphany] Remove UI code from adblock, un-extensionify it



commit 59934f569070b08e57444d0f650cb6e9bd6a036e
Author: Xan Lopez <xan igalia com>
Date:   Tue Oct 2 21:24:32 2012 +0200

    Remove UI code from adblock, un-extensionify it
    
    We are not using this code for now, easy enough to re-add somehow if
    we want to provide a UI to edit the adblock rules. With that gone,
    it's now trivial to drop the extension code too, so now the adblocker
    is just a GObject implementing the Adblock interface.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=681657

 src/Makefile.am              |    3 -
 src/adblock-ui.c             |  390 ------------------------------------------
 src/adblock-ui.h             |   62 -------
 src/ephy-adblock-extension.c |  172 +------------------
 src/epiphany.gresource.xml   |    1 -
 src/resources/adblock.ui     |  198 ---------------------
 6 files changed, 1 insertions(+), 825 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 2f35995..899fa83 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -17,7 +17,6 @@ header_DATA = \
 	$(INST_H_FILES)
 
 NOINST_H_FILES = \
-	adblock-ui.h				\
 	ephy-action-helper.h			\
 	ephy-adblock-extension.h		\
 	ephy-combined-stop-reload-action.h	\
@@ -54,7 +53,6 @@ INST_H_FILES = \
 	$(NULL)
 
 libephymain_la_SOURCES = \
-	adblock-ui.c				\
 	ephy-action-helper.c			\
 	ephy-adblock-extension.c		\
 	ephy-completion-model.c			\
@@ -118,7 +116,6 @@ libephymain_la_CFLAGS = \
 	$(AM_CFLAGS)
 
 UI_FILES = \
-	resources/adblock.ui                      \
 	resources/epiphany-bookmark-editor-ui.xml \
 	resources/epiphany-history-window-ui.xml  \
 	resources/epiphany-ui.xml		  \
diff --git a/src/ephy-adblock-extension.c b/src/ephy-adblock-extension.c
index 93068f2..9e7bf5e 100644
--- a/src/ephy-adblock-extension.c
+++ b/src/ephy-adblock-extension.c
@@ -23,14 +23,11 @@
 #include "config.h"
 #include "ephy-adblock-extension.h"
 
-#include "adblock-ui.h"
 #include "ephy-adblock.h"
 #include "ephy-adblock-manager.h"
 #include "ephy-debug.h"
 #include "ephy-embed-shell.h"
-#include "ephy-extension.h"
 #include "ephy-file-helpers.h"
-#include "ephy-window.h"
 #include "uri-tester.h"
 
 #include <glib/gi18n-lib.h>
@@ -38,36 +35,18 @@
 
 #define EPHY_ADBLOCK_EXTENSION_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_ADBLOCK_EXTENSION, EphyAdblockExtensionPrivate))
 
-#define WINDOW_DATA_KEY     "EphyAdblockExtensionWindowData"
-#define STATUSBAR_EVBOX_KEY "EphyAdblockExtensionStatusbarEvbox"
-#define EXTENSION_KEY       "EphyAdblockExtension"
-#define AD_BLOCK_ICON_NAME  "ad-blocked"
-
-typedef struct
-{
-  EphyAdblockExtension *extension;
-  EphyWindow           *window;
-
-  GtkActionGroup       *action_group;
-  guint                 ui_id;
-} WindowData;
-
 struct EphyAdblockExtensionPrivate
 {
   UriTester *tester;
-  AdblockUI *ui;
 };
 
-static void ephy_adblock_extension_iface_init (EphyExtensionIface *iface);
 static void ephy_adblock_adblock_iface_init (EphyAdBlockIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (EphyAdblockExtension,
                          ephy_adblock_extension,
                          G_TYPE_OBJECT,
                          G_IMPLEMENT_INTERFACE (EPHY_TYPE_ADBLOCK,
-                                                ephy_adblock_adblock_iface_init)
-                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_EXTENSION,
-                                                ephy_adblock_extension_iface_init))
+                                                ephy_adblock_adblock_iface_init))
 
 /* Private functions. */
 
@@ -88,7 +67,6 @@ ephy_adblock_extension_dispose (GObject *object)
   LOG ("EphyAdblockExtension disposing");
 
   extension = EPHY_ADBLOCK_EXTENSION (object);
-  g_clear_object (&extension->priv->ui);
   g_clear_object (&extension->priv->tester);
 
   G_OBJECT_CLASS (ephy_adblock_extension_parent_class)->dispose (object);
@@ -139,32 +117,6 @@ ephy_adblock_impl_edit_rule (EphyAdBlock *blocker,
                              const char *url,
                              gboolean allowed)
 {
-  EphyAdblockExtension *self = NULL;
-  EphyAdblockExtensionPrivate *priv = NULL;
-
-  LOG ("ephy_adblock_impl_edit_rule %s with state %d", url, allowed);
-
-  self = EPHY_ADBLOCK_EXTENSION (blocker);
-  priv = self->priv;
-
-  if (priv->ui == NULL)
-    {
-      AdblockUI **ui;
-
-      /*
-       * TODO: url and allowed should be passed to the UI,
-       * so the user can actually do something with it.
-       */
-      priv->ui = adblock_ui_new (priv->tester);
-      ui = &priv->ui;
-
-      g_object_add_weak_pointer ((gpointer)priv->ui,
-                                 (gpointer *) ui);
-
-      ephy_dialog_set_parent (EPHY_DIALOG (priv->ui), NULL);
-    }
-
-  ephy_dialog_show (EPHY_DIALOG (priv->ui));
 }
 
 static void
@@ -173,125 +125,3 @@ ephy_adblock_adblock_iface_init (EphyAdBlockIface *iface)
   iface->should_load = ephy_adblock_impl_should_load;
   iface->edit_rule = ephy_adblock_impl_edit_rule;
 }
-
-static void
-ephy_adblock_extension_edit_cb (GtkAction *action, EphyWindow *window)
-{
-  WindowData *data = NULL;
-  EphyAdblockExtensionPrivate *priv = NULL;
-
-  data = g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY);
-  g_return_if_fail (data != NULL);
-
-  priv = data->extension->priv;
-
-  if (priv->ui == NULL)
-    {
-      AdblockUI **ui;
-
-      priv->ui = adblock_ui_new (priv->tester);
-      ui = &priv->ui;
-
-      g_object_add_weak_pointer ((gpointer)priv->ui,
-                                 (gpointer *) ui);
-    }
-
-  ephy_dialog_set_parent (EPHY_DIALOG (priv->ui), GTK_WIDGET (window));
-  ephy_dialog_show (EPHY_DIALOG (priv->ui));
-}
-
-static const GtkActionEntry edit_entries[] = {
-  { "EphyAdblockExtensionEdit", NULL,
-    N_("Ad Blocker"), NULL,
-    N_("Configure Ad Blocker filters"),
-    G_CALLBACK (ephy_adblock_extension_edit_cb) }
-};
-
-static void
-impl_attach_window (EphyExtension *ext,
-                    EphyWindow *window)
-{
-  WindowData *data = NULL;
-  GtkUIManager *manager = NULL;
-
-  /* Add adblock editor's menu entry. */
-  data = g_new (WindowData, 1);
-  g_object_set_data_full (G_OBJECT (window),
-                          WINDOW_DATA_KEY,
-                          data,
-                          g_free);
-
-  data->extension = EPHY_ADBLOCK_EXTENSION (ext);
-  data->window = window;
-
-  data->action_group = gtk_action_group_new ("EphyAdblockExtension");
-  gtk_action_group_set_translation_domain (data->action_group,
-                                           GETTEXT_PACKAGE);
-  gtk_action_group_add_actions (data->action_group, edit_entries,
-                                G_N_ELEMENTS(edit_entries), window);
-
-  manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
-
-  gtk_ui_manager_insert_action_group (manager, data->action_group, -1);
-
-  /* UI manager references the new action group. */
-  g_object_unref (data->action_group);
-
-  data->ui_id = gtk_ui_manager_new_merge_id (manager);
-
-  gtk_ui_manager_add_ui (manager,
-                         data->ui_id,
-                         "/ui/PagePopup/ExtensionsMenu",
-                         "EphyAdblockExtensionEdit",
-                         "EphyAdblockExtensionEdit",
-                         GTK_UI_MANAGER_MENUITEM,
-                         FALSE);
-
-  /* Remember the xtension attached to that window. */
-  g_object_set_data (G_OBJECT (window), EXTENSION_KEY, ext);
-}
-
-static void
-impl_detach_window (EphyExtension *ext,
-                    EphyWindow *window)
-{
-  WindowData *data = NULL;
-  GtkUIManager *manager = NULL;
-
-  /* Remove editor UI. */
-  data = g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY);
-  g_assert (data != NULL);
-
-  manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
-
-  gtk_ui_manager_remove_ui (manager, data->ui_id);
-  gtk_ui_manager_remove_action_group (manager, data->action_group);
-
-  g_object_set_data (G_OBJECT (window), WINDOW_DATA_KEY, NULL);
-}
-
-static void
-impl_attach_tab (EphyExtension *ext,
-                 EphyWindow *window,
-                 EphyEmbed *embed)
-{
-
-}
-
-static void
-impl_detach_tab (EphyExtension *ext,
-                 EphyWindow *window,
-                 EphyEmbed *embed)
-{
-
-}
-
-static void
-ephy_adblock_extension_iface_init (EphyExtensionIface *iface)
-{
-  iface->attach_window = impl_attach_window;
-  iface->detach_window = impl_detach_window;
-  iface->attach_tab = impl_attach_tab;
-  iface->detach_tab = impl_detach_tab;
-}
-
diff --git a/src/epiphany.gresource.xml b/src/epiphany.gresource.xml
index c04d537..b756466 100644
--- a/src/epiphany.gresource.xml
+++ b/src/epiphany.gresource.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <gresources>
   <gresource prefix="/org/gnome/epiphany">
-    <file preprocess="xml-stripblanks" compressed="true">adblock.ui</file>
     <file preprocess="xml-stripblanks" compressed="true">epiphany.ui</file>
     <file preprocess="xml-stripblanks" compressed="true">prefs-dialog.ui</file>
     <file preprocess="xml-stripblanks">epiphany-application-menu.ui</file>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]