aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-web-view.c
Commit message (Collapse)AuthorAgeFilesLines
* Replace GtkStyle usages with GtkStyleContextMilan Crha2014-07-071-2/+2
| | | | | | | | | | | | | | This makes evolution depend on theme-defined named colors, namely: theme_bg_color theme_base_color theme_fg_color theme_text_color theme_selected_bg_color theme_selected_fg_color theme_unfocused_selected_bg_color theme_unfocused_selected_fg_color If it's not defined, then a fallback color is used, in the worse case one of the fallbacks defined in evolution itself.
* Reply to selection in text-highlight part loses white-spacesMilan Crha2014-06-271-1/+33
| | | | | | | | | | text-highlight module encloses the generated text into <pre/> tags, thus the preview panel shows white-spaces correctly, but once a reply is done to a selected text the returned HTML portion had missing <pre/> tags, which led to lose of the white-spaces in the generated content (in UI), while the white-spaces were there in the raw HTML code. Enclosing selected HTML portion into <pre/> tags in case the original text is also enclosed it them fixes it.
* Bug 731872 - EWebView: Use named colors from themesSebastian Keller2014-06-231-20/+20
|
* EHTMLEditor: Move remove_node and remove_node_if_empty to EWebViewTomas Popela2014-06-161-0/+29
| | | | And use them in EHTMLEditorView if possible.
* EWebView - Check if the link has fragmentTomas Popela2014-06-131-1/+1
| | | | Some links doesn't have the framegment so check for it before accessing it.
* Bug 540362: [webkit-composer] Use webkit for composerTomas Popela2014-06-091-23/+127
| | | | Merge wip/webkit-composer branch into master.
* Ignore false GSettings key change notificationsMilan Crha2014-06-051-3/+34
| | | | | | | Similar to GObject::notify, the GSettings::changed can be emitted even if a key didn't change. It's up to the user (aka evolution) to test for real changes, thus let's do it. It may have certain performance positive impact too.
* Ignore false GObject property change notificationsMilan Crha2014-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | This is related to bug 698275, which did not cover all cases. The problem here is that the dconf can in certain situation claim that everything changed (path "/" changed), which GSettingsBinding propagates to a GObject property unconditionally and GObject's property setter (g_object_set_property()) also notifies about the property change unconditionally, despite the real descendant property setter properly checks for the value change. After all these false notifications a callback on "notify" signal is called and possibly an expensive operation is run. Checking whether the value really changed helps in performance, for which were added new e-util functions: e_signal_connect_notify() e_signal_connect_notify_after() e_signal_connect_notify_swapped() e_signal_connect_notify_object() which have the same prototype as their GLib counterparts, but they allow only "notify::..." signals and they test whether the value really changed before they call the registered callback.
* EWebView: Rework how link with fragment is detected, use SoupURI for itTomas Popela2014-05-071-7/+55
| | | | | Also when hovering over the link with fragment that points to message don't show the whole URI in status bar, but just the fragment.
* EWebView: Allow navigation in page through HTML anchor elementsTomas Popela2014-05-051-3/+14
|
* Bug #729084 - Use tel: URI instead of callto: for phone numbersMilan Crha2014-04-301-5/+4
| | | | | | | | | This change does a bit more, actually: - learn the code of "tel" URI, being handler similar to "sip", "callto", "h323" - generate tel: URIs for phone numbers, but only if the leading character of the phone number is a plus ("+") sign - always remove spaces in href part in the e_text_to_html() when E_TEXT_TO_HTML_URL_IS_WHOLE_TEXT flag is set
* Fix various memory leaksMilan Crha2014-04-251-0/+1
|
* Make 'Copy Link Location' copy into both primary and selection clipboardsMilan Crha2014-04-221-1/+5
| | | | | | | It used to copy the link into both buffers, same as the 'Copy Email Address" does, but it seems, after a move to WebKit based message preview, this changed and the link had been copied only to the selection clipboard. Make the function consistent and copy the link into to both clipboards.
* EWebView/EMailDisplay: Setup custom CSS styles to DOM right after document loadsMilan Crha2014-03-131-0/+4
| | | | | | | | | | | | | The custom styles, those which are added on-the-fly directly to DOM, were added only after whole document was completely loaded, which included also sub-frames content, thus when these were slow to download for any reason, the main frame content, like the top header bar, was shown with a default style, which is white background and black text color. The WebKitWebView's document-load-finished signal is emitted whenever the actual HTML content is loaded, and the DOM is available as well, for each frame, including the main frame of the WebView, thus updating/setting custom CSS styles in this signal handler makes the loaded frames look as expected, without waiting for other frames in the document to finish their load.
* EWebView: Limit zoom-in/zoom-out to 0.1 .. 5.0 valuesMilan Crha2014-02-281-4/+11
| | | | | It doesn't make much sense to zoom below 0.1, same as zoom 5.0 is quite large, thus no need to zoom indefinitely in both directions.
* Replace 'interface' with 'iface' in the codeTarnyko2014-02-261-10/+10
| | | | | | Win32 headers have a #define for 'interface', which breaks the build when this word is used in the code, thus replace it to 'iface', the same way as GLib or GTK+ code use to have it. (See bug #722068.)
* Add missing action captions after gtk-stock replacementMilan Crha2014-02-251-1/+1
|
* Forgotten chunk from the previous commit (shortcuts from gtk-stock definitions)Milan Crha2014-02-171-1/+1
|
* Add shortcuts previously defined by gtk-stock item definitionsMilan Crha2014-02-171-4/+4
|
* Stop using deprecated gtk-stock itemsMilan Crha2014-02-131-12/+12
|
* Fix return values in a few functionsKjartan Maraas2014-01-221-3/+3
|
* Bug 721545 - License text contains obsolete FSF postal addressMatthew Barnes2014-01-081-10/+9
|
* Use SoupSession's request API instead of SoupRequester.Matthew Barnes2013-11-271-23/+2
| | | | SoupRequester functionality is built directly into SoupSession now.
* Bug 707112 - Replace webkit_dom_html_element_get_id usageKerrick Staley2013-11-051-0/+6
| | | | | | | | | | | | | | | | webkit_dom_element_get_id() was introduced for WebKitGTK+ 2.2 and deprecates webkit_dom_html_element_get_id(). But Evolution only requires WebKitGTK+ 2.0.1. Ordinarily this would sit on a shelf until we require WebKitGTK+ 2.2, however WebKitGTK+ has now started issuing deprecation warnings about webkit_dom_html_element_get_id() at *runtime*, which is pointless and only fills up users' .xsession-errors file. To put a stop to this, we'll call the new function subject to a pre- processor WebKit version check, with a fallback to the old function. The build requirement remains at WebKitGTK+ 2.0.1.
* Miscellaeous cleanups.Matthew Barnes2013-10-201-6/+6
|
* Bug #708347 - Memory leak from EWebView/webkitTomas Popela2013-09-231-2/+5
|
* Update API documentation.Matthew Barnes2013-09-151-2/+2
|
* Bug #706008 - Workaround gnome-shell style change on focus changeTomas Popela2013-09-121-19/+244
| | | | | | | Avoid redrawing (thus loosing the selection and scroll position) of preview window on style change by defining the colors through CSS styles. On style change we just update the CSS color definitions and preview will update itself without redraw.
* Miscellaneous cleanups.Matthew Barnes2013-09-081-2/+4
|
* EWebView: Add an "image-save" action.Matthew Barnes2013-07-281-1/+16
| | | | | | There's now enough hooks in EWebView that it can take over image saving from EMailDisplay / EMailReader, with the added perk that a "Save Image" pop-up menu item now appears for images in ALL preview panes.
* Add e_web_view_cursor_image_save().Matthew Barnes2013-07-281-0/+235
| | | | | Prompts the user to choose a destination file and then asynchronously saves the image under the cursor to the destination file.
* Add e_web_view_cursor_image_copy().Matthew Barnes2013-07-281-153/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | Asynchronously copies the image under the cursor to the clipboard. This replaces the "cursor-image" property, which attempts to match the image URI to a subresource from WebKitWebDataSource. The problem with that approach is EMailDisplay redirects several URI schemes to its own custom request handlers which further mutate the URI. So for example, a text/html message may use a "cid:" URI to refer to an embedded image, which EMailDisplay transforms to a "mail:" URI and finally to a "data:" URI. The final image URI might not be derivable from the original URI without retracing the SoupRequest. The "image-copy" action now calls e_web_view_cursor_image_copy(). This also adds an explicit requirement on gdk-pixbuf-2.0 >= 2.24 for gdk_pixbuf_new_from_stream_async() / finish(). New functions: e_web_view_cursor_image_copy() Removed functions: e_web_view_get_cursor_image() e_web_view_set_cursor_image()
* Add e_web_view_new_activity().Matthew Barnes2013-07-281-0/+47
| | | | | | | | | Returns a new EActivity for an EWebView-related asynchronous operation, and emits a "new-activity" signal. By default the EActivity comes loaded with a GCancellable and sets the EWebView itself as the alert sink (which means alerts are displayed directly in the content area). The signal emission allows the EActivity to be further customized and/or tracked by the application.
* Add e_web_view_request().Matthew Barnes2013-07-281-0/+152
| | | | | | | | | | | Asynchronously requests data at a URI by way of a SoupRequest to WebKit's default SoupSession, incorporating both e_web_view_redirect_uri() and the custom request handlers installed via e_web_view_install_request_handler(). New functions: e_web_view_request() e_web_view_request_finish()
* Add e_web_view_suggest_filename().Matthew Barnes2013-07-281-0/+61
| | | | | | | | | | | Attempts to derive a suggested filename from the given URI for use in a "Save As" dialog. By default the suggested filename is the last path segment of the given URI (the unless the given URI looks like a query), but subclasses can use other mechanisms for custom URI schemes. For example, "cid:" URIs in an email message may refer to a MIME part with a suggested filename in its Content-Disposition header.
* Add e_web_view_redirect_uri().Matthew Barnes2013-07-271-0/+39
| | | | | | | | | | Replaces the given URI with a redirected URI as necessary, primarily for use with custom SoupRequest handlers. Typically this function would be called just prior to handing a request off to a SoupSession, such as from a WebKitWebView "resource-request-starting" signal handler. Case in point: EMailDisplay now implements the redirect_uri() method, and calls it from its own "resource-request-starting" signal handler.
* Remove e_web_view_get_uri().Matthew Barnes2013-07-271-8/+0
| | | | | | | Trivial wrapper for webkit_web_view_get_uri(). Probably made sense while we were transitioning from GtkHTML to WebKit, but we don't need it anymore.
* Remove unused e_web_view_set_enable_frame_flattening().Matthew Barnes2013-07-271-16/+0
|
* Remove unused e_web_view_get_enable_frame_flattening().Matthew Barnes2013-07-271-19/+0
|
* Remove unused e_web_view_frame_get_uri().Matthew Barnes2013-07-271-22/+0
|
* Remove unused e_web_view_frame_load_uri().Matthew Barnes2013-07-271-38/+0
|
* Remove unused e_web_view_frame_load_string().Matthew Barnes2013-07-271-40/+0
|
* Remove unused e_web_view_extract_uri().Matthew Barnes2013-07-271-37/+0
|
* EWebView: Initialize WebKitWebSettings internally.Matthew Barnes2013-07-271-56/+43
| | | | | | | | | | | | Don't expose public API for this. Even though it's still possible through the WebKitWebView API, we don't want to encourage setting an arbitrary WebKitWebSettings on an EWebView. Removed functions: e_web_view_set_settings() e_web_view_get_default_settings()
* EWebView cleanups.Matthew Barnes2013-07-271-188/+208
|
* Minor e_web_view_install_request_handler() cleanup.Matthew Barnes2013-05-151-7/+4
| | | | Make reference count handling a bit less awkward.
* Search bar functionality polishingTomas Popela2013-04-151-0/+8
| | | | Polishing after switching from Evolution's highlight implementation to WebKit's one.
* Remove Evolution's implementation of highlighting and use WebKit ↵Tomas Popela2013-04-121-125/+8
| | | | highlighting. Fixes Bug#696673
* EWebView: Disable WebKit plugins during instance initialization.Matthew Barnes2013-04-091-6/+11
| | | | | | | | Calling webkit_get_web_plugin_database() somehow ends up calling g_bus_get_sync(), which in turn makes gtkdoc-scangobj hang forever. Call it instead as a GOnce callback during instance initialization, which avoids the hang since gtkdoc-scangobj only peeks at classes.
* EWebView: Remove a backward-compatibility hack.Matthew Barnes2013-04-081-9/+1
| | | | We require WebKitGTK+ >= 1.10 so we can drop a hack to support < 1.9.6.
* EWebView: Use a GQueue to track highlight strings.Matthew Barnes2013-04-081-27/+16
| | | | | This also removes an unused function e_web_view_get_highlights() which was returning a GSList.
* EWebView cleanups.Matthew Barnes2013-04-081-19/+23
|
* Bug #684245 - Disable 3rd-party browser pluginsTomas Popela2013-03-251-0/+24
|
* Bug #696185 - Disable WebKit's cachingMilan Crha2013-03-251-0/+4
|
* Bug 676696 - Automatic EXIF image rotation doesn't workMatthew Barnes2013-03-151-0/+13
| | | | Requires WebKitGTK+ 2.0 to work again.
* EWebView: Whitespace cleanups.Matthew Barnes2013-03-151-2/+2
|
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-131-0/+2945
Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.