static void
ephy_permissions_dialog_finalize (GObject *object)
{
	EphyPermissionsDialog *dialog = EPHY_PERMISSIONS_DIALOG (object);
	EphyPermissionsDialogPrivate *priv = dialog->priv;
	EphyEmbedShell *shell;
	GObject *single;

	shell = ephy_embed_shell_get_default ();
	single = ephy_embed_shell_get_embed_single (embed_shell);

	g_signal_handlers_disconnect_matched
		(single, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, dialog);

#if 0
	dialog->priv->cookies->destruct (dialog->priv->cookies);
	dialog->priv->passwords->destruct (dialog->priv->passwords);
	
	g_free (dialog->priv->passwords);
	g_free (dialog->priv->cookies);
#endif

	g_object_unref (priv->buttons_size_group);

	g_list_foreach (priv->tabs, (GFunc) free_dialog_tab, NULL);
	g_list_free (priv->tabs);

	G_OBJECT_CLASS (parent_class)->finalize (object);
}
Ejemplo n.º 2
0
static void
ephy_gwget_extension_init (EphyGwgetExtension *extension)
{
	GObject *single;

	/* extension->priv = EPHY_GWGET_EXTENSION_GET_PRIVATE (extension); */
	
	single = ephy_embed_shell_get_embed_single (embed_shell);
	g_signal_connect (single, "handle-content",
			  G_CALLBACK (handle_content_cb), extension);
}
Ejemplo n.º 3
0
static void
ephy_gwget_extension_finalize (GObject *object)
{
	EphyGwgetExtension *extension = EPHY_GWGET_EXTENSION (object);
	GObject *single;

	single = ephy_embed_shell_get_embed_single (embed_shell);
	g_signal_handlers_disconnect_by_func
		(single, G_CALLBACK (handle_content_cb), extension);

	G_OBJECT_CLASS (parent_class)->finalize (object);
}
static GObject *
ephy_permissions_dialog_constructor (GType type,
				     guint n_construct_properties,
				     GObjectConstructParam *construct_params)
{
	EphyPermissionsDialog *dialog;
	EphyPermissionsDialogPrivate *priv;
	EphyEmbedShell *shell;
	EphyPermissionManager *manager;
	GObject *object;
	GtkWidget *notebook;
		
	object = parent_class->constructor (type, n_construct_properties,
					    construct_params);

	dialog = EPHY_PERMISSIONS_DIALOG (object);
	priv = dialog->priv;

        ephy_state_add_window (GTK_WIDGET (dialog),
                               "permissions-manager",
                               540, 400, FALSE,
                               EPHY_STATE_WINDOW_SAVE_SIZE);

        gtk_window_set_title (GTK_WINDOW (dialog), _("Site Permissions"));
	gtk_window_set_role (GTK_WINDOW (dialog), "epiphany-permissions-manager");
	gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_PROPERTIES /* FIXME? */);

	/* Don't stay on top of all windows! */
	gtk_window_set_type_hint (GTK_WINDOW (dialog), GDK_WINDOW_TYPE_HINT_NORMAL);

        gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);

        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 2);

        gtk_dialog_add_button (GTK_DIALOG (dialog),
                               GTK_STOCK_HELP, GTK_RESPONSE_HELP);
        gtk_dialog_add_button (GTK_DIALOG (dialog),
			       GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
        gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE);

	notebook = gtk_notebook_new ();
	priv->notebook = GTK_NOTEBOOK (notebook);
	gtk_container_set_border_width (GTK_CONTAINER (priv->notebook), 5);
	gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), notebook,
			    TRUE, TRUE, 0);
	gtk_widget_show (notebook);

	priv->buttons_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);

	ephy_permissions_dialog_add_tab (dialog, EPT_COOKIE, _("Cookies"));
	ephy_permissions_dialog_add_tab (dialog, EPT_IMAGE, _("Images"));
	ephy_permissions_dialog_add_tab (dialog, EPT_POPUP, _("Popup Windows"));
	/* ephy_permissions_dialog_add_tab (dialog, "password", _("Passwords")); */

	shell = ephy_embed_shell_get_default ();
	priv->manager = manager =
		EPHY_PERMISSION_MANAGER (ephy_embed_shell_get_embed_single (shell));

	sync_notebook_tab (priv->notebook, NULL, 0, dialog);
	g_signal_connect (G_OBJECT (notebook), "switch-page",
			  G_CALLBACK (sync_notebook_tab), dialog);

	g_signal_connect (priv->manager, "permission-added",
			  G_CALLBACK (permission_added_cb), dialog);
	g_signal_connect (priv->manager, "permission-changed",
			  G_CALLBACK (permission_changed_cb), dialog);
	g_signal_connect (priv->manager, "permission-deleted",
			  G_CALLBACK (permission_deleted_cb), dialog);
	g_signal_connect (priv->manager, "permissions-cleared",
			  G_CALLBACK (permissions_cleared_cb), dialog);

	return object;
}