Reverting all the dbus related commits (sigh) from 27th July and fixing a QA issue...
[oespirit1] / gtkhtml / gtkhtml_220_link_visited.diff
1 diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.c gtkhtml-3.24.4/gtkhtml/gtkhtml.c
2 diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.c gtkhtml-3.24.4/gtkhtml/gtkhtml.c
3 diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.c gtkhtml-3.24.4/gtkhtml/gtkhtml.c
4 diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.c gtkhtml-3.24.4/gtkhtml/gtkhtml.c
5 --- gtkhtml-3.24.4/gtkhtml/gtkhtml.c    2007-05-09 15:04:10.000000000 +0300
6 --- gtkhtml-3.24.4/gtkhtml/gtkhtml.c    2007-05-09 15:04:10.000000000 +0300
7 --- gtkhtml-3.24.4/gtkhtml/gtkhtml.c    2007-05-09 15:04:10.000000000 +0300
8 --- gtkhtml-3.24.4/gtkhtml/gtkhtml.c    2007-05-09 15:04:10.000000000 +0300
9 +++ gtkhtml-3.24.4/gtkhtml/gtkhtml.c    2007-05-09 19:27:23.000000000 +0300
10 +++ gtkhtml-3.24.4/gtkhtml/gtkhtml.c    2007-05-09 19:27:23.000000000 +0300
11 +++ gtkhtml-3.24.4/gtkhtml/gtkhtml.c    2007-05-09 19:27:23.000000000 +0300
12 +++ gtkhtml-3.24.4/gtkhtml/gtkhtml.c    2007-05-09 19:27:23.000000000 +0300
13 @@ -6015,6 +6015,12 @@
14         html_engine_flush (html->engine);
15  }
16  
17 +void
18 +gtk_html_set_link_visited (GtkHTML *html, char *url, gboolean visited)
19 +  {
20 +  html_engine_set_link_visited (html->engine, url, visited) ;
21 +  }
22 +
23  const char *
24  gtk_html_get_object_id_at (GtkHTML *html, int x, int y)
25  {
26 diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.h gtkhtml-3.24.4/gtkhtml/gtkhtml.h
27 diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.h gtkhtml-3.24.4/gtkhtml/gtkhtml.h
28 diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.h gtkhtml-3.24.4/gtkhtml/gtkhtml.h
29 diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.h gtkhtml-3.24.4/gtkhtml/gtkhtml.h
30 --- gtkhtml-3.24.4/gtkhtml/gtkhtml.h    2007-05-09 15:04:10.000000000 +0300
31 --- gtkhtml-3.24.4/gtkhtml/gtkhtml.h    2007-05-09 15:04:10.000000000 +0300
32 --- gtkhtml-3.24.4/gtkhtml/gtkhtml.h    2007-05-09 15:04:10.000000000 +0300
33 --- gtkhtml-3.24.4/gtkhtml/gtkhtml.h    2007-05-09 15:04:10.000000000 +0300
34 +++ gtkhtml-3.24.4/gtkhtml/gtkhtml.h    2007-05-09 19:28:52.000000000 +0300
35 +++ gtkhtml-3.24.4/gtkhtml/gtkhtml.h    2007-05-09 19:28:52.000000000 +0300
36 +++ gtkhtml-3.24.4/gtkhtml/gtkhtml.h    2007-05-09 19:28:52.000000000 +0300
37 +++ gtkhtml-3.24.4/gtkhtml/gtkhtml.h    2007-05-09 19:28:52.000000000 +0300
38 @@ -328,6 +328,9 @@
39  char *                     gtk_html_get_cursor_url                (GtkHTML                   *html);
40  void                       gtk_html_set_tokenizer                 (GtkHTML                   *html,
41                                                                    HTMLTokenizer             *tokenizer);
42 +void                       gtk_html_set_link_visited              (GtkHTML                   *html,
43 +                   char                      *url,
44 +                   gboolean                   visited);
45  
46  /* DEPRECATED */
47  #if 1
48 diff -ru gtkhtml-3.24.4/gtkhtml/htmlengine.c gtkhtml-3.24.4/gtkhtml/htmlengine.c
49 diff -ru gtkhtml-3.24.4/gtkhtml/htmlengine.c gtkhtml-3.24.4/gtkhtml/htmlengine.c
50 diff -ru gtkhtml-3.24.4/gtkhtml/htmlengine.c gtkhtml-3.24.4/gtkhtml/htmlengine.c
51 diff -ru gtkhtml-3.24.4/gtkhtml/htmlengine.c gtkhtml-3.24.4/gtkhtml/htmlengine.c
52 --- gtkhtml-3.24.4/gtkhtml/htmlengine.c 2007-05-09 15:04:10.000000000 +0300
53 --- gtkhtml-3.24.4/gtkhtml/htmlengine.c 2007-05-09 15:04:10.000000000 +0300
54 --- gtkhtml-3.24.4/gtkhtml/htmlengine.c 2007-05-09 15:04:10.000000000 +0300
55 --- gtkhtml-3.24.4/gtkhtml/htmlengine.c 2007-05-09 15:04:10.000000000 +0300
56 +++ gtkhtml-3.24.4/gtkhtml/htmlengine.c 2007-05-09 19:26:17.000000000 +0300
57 +++ gtkhtml-3.24.4/gtkhtml/htmlengine.c 2007-05-09 19:26:17.000000000 +0300
58 +++ gtkhtml-3.24.4/gtkhtml/htmlengine.c 2007-05-09 19:26:17.000000000 +0300
59 +++ gtkhtml-3.24.4/gtkhtml/htmlengine.c 2007-05-09 19:26:17.000000000 +0300
60 @@ -6090,6 +6090,36 @@
61                 g_hash_table_foreach (t, set_object_data, o);
62  }
63  
64 +typedef struct
65 +  {
66 +  char *url ;
67 +  gboolean visited ;
68 +  } SET_LINK_VISITED_PARAMS ;
69 +
70 +static void html_engine_set_link_visited_forall_cb (HTMLObject *self, HTMLEngine *engine, SET_LINK_VISITED_PARAMS *params)
71 +  {
72 +  if (HTML_IS_TEXT (self))
73 +    {
74 +    char *url = NULL ;
75 +    gint offset = 0 ;
76 +
77 +    do
78 +      if (NULL != (url = html_object_get_complete_url (HTML_OBJECT (self), offset)))
79 +        {
80 +        if (!strcmp (params->url, url))
81 +          html_text_set_link_visited (HTML_TEXT (self), offset, engine, params->visited) ;
82 +        g_free (url) ;
83 +        }
84 +    while (html_text_next_link_offset (HTML_TEXT (self), &offset)) ;
85 +    }
86 +  }
87 +
88 +void
89 +html_engine_set_link_visited (HTMLEngine *e, char *url, gboolean visited)
90 +  {
91 +  SET_LINK_VISITED_PARAMS params = {url, visited} ;
92 +  html_object_forall (e->clue, e, (HTMLObjectForallFunc)html_engine_set_link_visited_forall_cb, &params) ;
93 +  }
94  
95  HTMLEngine *
96  html_engine_get_top_html_engine (HTMLEngine *e)
97 diff -ru gtkhtml-3.24.4/gtkhtml/htmlengine.h gtkhtml-3.24.4/gtkhtml/htmlengine.h
98 diff -ru gtkhtml-3.24.4/gtkhtml/htmlengine.h gtkhtml-3.24.4/gtkhtml/htmlengine.h
99 diff -ru gtkhtml-3.24.4/gtkhtml/htmlengine.h gtkhtml-3.24.4/gtkhtml/htmlengine.h
100 diff -ru gtkhtml-3.24.4/gtkhtml/htmlengine.h gtkhtml-3.24.4/gtkhtml/htmlengine.h
101 --- gtkhtml-3.24.4/gtkhtml/htmlengine.h 2007-01-03 17:19:57.000000000 +0200
102 --- gtkhtml-3.24.4/gtkhtml/htmlengine.h 2007-01-03 17:19:57.000000000 +0200
103 --- gtkhtml-3.24.4/gtkhtml/htmlengine.h 2007-01-03 17:19:57.000000000 +0200
104 --- gtkhtml-3.24.4/gtkhtml/htmlengine.h 2007-01-03 17:19:57.000000000 +0200
105 +++ gtkhtml-3.24.4/gtkhtml/htmlengine.h 2007-05-09 19:26:56.000000000 +0300
106 +++ gtkhtml-3.24.4/gtkhtml/htmlengine.h 2007-05-09 19:26:56.000000000 +0300
107 +++ gtkhtml-3.24.4/gtkhtml/htmlengine.h 2007-05-09 19:26:56.000000000 +0300
108 +++ gtkhtml-3.24.4/gtkhtml/htmlengine.h 2007-05-09 19:26:56.000000000 +0300
109 @@ -493,5 +493,6 @@
110  void html_engine_opened_streams_set (HTMLEngine *e, int value);
111  
112  void html_engine_refresh_fonts (HTMLEngine *e);
113 +void html_engine_set_link_visited (HTMLEngine *e, char *url, gboolean visited) ;
114  
115  #endif /* _HTMLENGINE_H_ */