pidgin/ljfisher-ssl-client-auth

2f8a83007ab9
Parents f62232fb738a
Children 20fdd5e3f446
Set up the link description from the already selected text.
--- a/pidgin/gtkwebview.c Sun Jun 03 21:00:43 2012 +0000
+++ b/pidgin/gtkwebview.c Sun Jun 03 21:13:19 2012 +0000
@@ -840,6 +840,22 @@
return text;
}
+gchar *
+gtk_webview_get_selected_text(GtkWebView *webview)
+{
+ WebKitDOMDocument *dom;
+ WebKitDOMDOMWindow *win;
+ WebKitDOMDOMSelection *sel;
+ WebKitDOMRange *range;
+
+ dom = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(webview));
+ win = webkit_dom_document_get_default_view(dom);
+ sel = webkit_dom_dom_window_get_selection(win);
+ range = webkit_dom_dom_selection_get_range_at(sel, 0, NULL);
+
+ return webkit_dom_range_get_text(range);
+}
+
GtkWebViewButtons
gtk_webview_get_format_functions(GtkWebView *webview)
{
--- a/pidgin/gtkwebview.h Sun Jun 03 21:00:43 2012 +0000
+++ b/pidgin/gtkwebview.h Sun Jun 03 21:13:19 2012 +0000
@@ -309,7 +309,16 @@
* @return The HTML-free text that is currently displayed.
*/
gchar *gtk_webview_get_body_text(GtkWebView *webview);
-gchar *gtk_webview_get_head_text(GtkWebView *webview);
+
+/**
+ * Gets the selected text of a GtkWebView.
+ *
+ * @param webview The GtkWebView
+ *
+ * @return The HTML-free text that is currently selected, or NULL if nothing is
+ * currently selected.
+ */
+gchar *gtk_webview_get_selected_text(GtkWebView *webview);
/**
* Clear all the formatting on a GtkWebView.
--- a/pidgin/gtkwebviewtoolbar.c Sun Jun 03 21:00:43 2012 +0000
+++ b/pidgin/gtkwebviewtoolbar.c Sun Jun 03 21:13:19 2012 +0000
@@ -509,9 +509,6 @@
PurpleRequestFields *fields;
PurpleRequestFieldGroup *group;
PurpleRequestField *field;
-#if 0
- GtkTextIter start, end;
-#endif
char *msg;
char *desc = NULL;
@@ -525,11 +522,7 @@
purple_request_field_group_add_field(group, field);
if (gtk_webview_get_format_functions(GTK_WEBVIEW(toolbar->webview)) & GTK_WEBVIEW_LINKDESC) {
-#if 0
- if (gtk_text_buffer_get_selection_bounds(GTK_WEBVIEW(toolbar->webview)->text_buffer, &start, &end)) {
- desc = gtk_webview_get_text(GTK_WEBVIEW(toolbar->webview), &start, &end);
- }
-#endif
+ desc = gtk_webview_get_selected_text(GTK_WEBVIEW(toolbar->webview));
field = purple_request_field_string_new("description", _("_Description"),
desc, FALSE);
purple_request_field_group_add_field(group, field);