#include <fancy_viewer.h>
#include <fancy_prefs.h>
#include <alertpanel.h>
-#include <claws_io.h>
+#include <file-utils.h>
#include <printing.h>
#include <webkit/webkithittestresult.h>
{
FancyViewer *viewer = (FancyViewer *)data;
if (!viewer->stream) {
- viewer->stream = fopen(viewer->curlfile, "wb");
+ viewer->stream = claws_fopen(viewer->curlfile, "wb");
if (!viewer->stream)
return -1;
}
- return fwrite(buffer, size, nmemb, viewer->stream);
+ return claws_fwrite(buffer, size, nmemb, viewer->stream);
}
static void *download_file_curl (void *data)
{
if (CURLE_OK != res)
alertpanel_error(_("An error occurred: %d\n"), res);
if (viewer->stream)
- safe_fclose(viewer->stream);
+ claws_safe_fclose(viewer->stream);
curl_global_cleanup();
}
#ifdef USE_PTHREAD
FancyViewer *viewer)
{
gint type = 0;
+ gchar *link = NULL;
+
WebKitHitTestResult *result =
webkit_web_view_get_hit_test_result(view, (GdkEventButton *)ev);
g_object_get(G_OBJECT(result),
"context", &type,
- "x", &viewer->click_x, "y", &viewer->click_y,
+ "x", &viewer->click_x,
+ "y", &viewer->click_y,
+ "link-uri", &link,
NULL);
if (type & WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION)
return FALSE;
+ if (viewer->cur_link) {
+ g_free(viewer->cur_link);
+ viewer->cur_link = NULL;
+ }
+ if (link != NULL) {
+ debug_print("press on %s\n", link);
+ viewer->cur_link = link; /* g_context returned a newly-allocated string */
+ }
+
viewer->doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(viewer->view));
viewer->window = webkit_dom_document_get_default_view (viewer->doc);
viewer->selection = webkit_dom_dom_window_get_selection (viewer->window);