Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:13.1
geary
geary-webkitgtk-2.1.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File geary-webkitgtk-2.1.patch of Package geary
Index: geary-0.3.1/bindings/metadata/WebKit-3.0.metadata =================================================================== --- geary-0.3.1.orig/bindings/metadata/WebKit-3.0.metadata +++ geary-0.3.1/bindings/metadata/WebKit-3.0.metadata @@ -1,6 +1,8 @@ DOM* parent="WebKit.DOM" name="DOM(.+)" DOMEventTarget.add_event_listener skip=false +DOMEventTarget.add_event_listener.handler closure=-1 +DOMEventTarget.add_event_listener.user_data closure=-1 DOMEventTarget.remove_event_listener skip=false WebView.entering_fullscreen#signal name="entering_fullscreen_signal" Index: geary-0.3.1/src/CMakeLists.txt =================================================================== --- geary-0.3.1.orig/src/CMakeLists.txt +++ geary-0.3.1/src/CMakeLists.txt @@ -245,7 +245,6 @@ client/folder-list/folder-list-special-g client/models/conversation-list-store.vala -client/notification/libindicate.vala client/notification/libmessagingmenu.vala client/notification/new-messages-indicator.vala client/notification/new-messages-monitor.vala @@ -301,27 +300,6 @@ ensure_vala_version("0.17.4" MINIMUM) include(ValaPrecompile) # Packages -if (LIBINDICATE_FOUND) - message(STATUS "Unity indicate support: ON") - set(EXTRA_CLIENT_PKG_CONFIG - ${EXTRA_CLIENT_PKG_CONFIG} - indicate-0.7 - ) - - set(EXTRA_CLIENT_PACKAGES - ${EXTRA_CLIENT_PACKAGES} - Dbusmenu-0.4 - Indicate-0.7 - ) - - set(EXTRA_VALA_OPTIONS - ${EXTRA_VALA_OPTIONS} - -D HAVE_LIBINDICATE - ) -else () - message(STATUS "Unity indicate support: OFF") -endif () - if (LIBMESSAGINGMENU_FOUND) message(STATUS "Unity messaging menu support: ON") set(EXTRA_CLIENT_PKG_CONFIG @@ -434,7 +412,6 @@ add_definitions(${CFLAGS}) set(VALAC_OPTIONS --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi --metadatadir=${CMAKE_SOURCE_DIR}/bindings/metadata - --girdir=${CMAKE_SOURCE_DIR}/bindings/gir --target-glib=${TARGET_GLIB} --thread --enable-checking Index: geary-0.3.1/src/client/composer/composer-window.vala =================================================================== --- geary-0.3.1.orig/src/client/composer/composer-window.vala +++ geary-0.3.1/src/client/composer/composer-window.vala @@ -329,7 +329,7 @@ public class ComposerWindow : Gtk.Window editor.editable = true; editor.load_finished.connect(on_load_finished); editor.hovering_over_link.connect(on_hovering_over_link); - editor.button_press_event.connect(on_button_press_event); + editor.context_menu.connect(on_context_menu); editor.move_focus.connect(update_actions); editor.copy_clipboard.connect(update_actions); editor.cut_clipboard.connect(update_actions); @@ -385,7 +385,6 @@ public class ComposerWindow : Gtk.Window s.enable_scripts = false; s.enable_java_applet = false; s.enable_plugins = false; - s.enable_default_context_menu = false; // Deprecated, still needed for Precise editor.settings = s; scroll.add(editor); @@ -1093,10 +1092,8 @@ public class ComposerWindow : Gtk.Window return base.key_press_event(event); } - private bool on_button_press_event(Gdk.EventButton event) { - if (event.button != 3) - return false; - + private bool on_context_menu(Gtk.Widget default_menu, WebKit.HitTestResult hit_test_result, + bool keyboard_triggered) { context_menu = new Gtk.Menu(); // Undo @@ -1151,11 +1148,11 @@ public class ComposerWindow : Gtk.Window context_menu.append(html_item); context_menu.show_all(); - context_menu.popup(null, null, null, event.button, event.time); + context_menu.popup(null, null, null, 0, Gtk.get_current_event_time()); update_actions(); - return true; + return true; // Suppress default context menu. } private void update_actions() { Index: geary-0.3.1/src/client/composer/webview-edit-fixer.vala =================================================================== --- geary-0.3.1.orig/src/client/composer/webview-edit-fixer.vala +++ geary-0.3.1/src/client/composer/webview-edit-fixer.vala @@ -271,7 +271,7 @@ public class WebViewEditFixer { private bool move_first_child(WebKit.DOM.Node source, WebKit.DOM.Node destination) { try { WebKit.DOM.Node temp = source.child_nodes.item(0); - if (is_editing_delete_container(temp)) { + if (is_editing_delete_container((WebKit.DOM.Element) temp)) { source.remove_child(temp); } else { // This will remove temp from source @@ -287,7 +287,7 @@ public class WebViewEditFixer { // There is a special node that webkit attaches to the BLOCKQUOTE in focus. We want to ignore // this node, as it is transient. - private bool is_editing_delete_container(WebKit.DOM.Node node) { + private bool is_editing_delete_container(WebKit.DOM.Element node) { if (!node.has_attributes()) return false; Index: geary-0.3.1/src/client/notification/libindicate.vala =================================================================== --- geary-0.3.1.orig/src/client/notification/libindicate.vala +++ /dev/null @@ -1,105 +0,0 @@ -/* Copyright 2011-2012 Yorba Foundation - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - */ - -public class Libindicate : NewMessagesIndicator { -#if HAVE_LIBINDICATE - private Indicate.Server? indicator = null; - private Indicate.Indicator? compose = null; - private Gee.HashMap<Geary.Folder, Indicate.Indicator> folder_indicators - = new Gee.HashMap<Geary.Folder, Indicate.Indicator>(); - - public Libindicate(NewMessagesMonitor monitor) { - base (monitor); - - // Find the desktop file this app instance is using (running from build dir vs. install dir) - File? desktop_file = GearyApplication.instance.get_desktop_file(); - if (desktop_file == null) { - debug("Unable to setup libindicate support: no desktop file found"); - - return; - } - - debug("Using libindicate for messaging menu support w/ .desktop file %s", desktop_file.get_path()); - - indicator = Indicate.Server.ref_default(); - indicator.set_type("message.email"); - indicator.set_desktop_file(desktop_file.get_path()); - indicator.server_display.connect(on_display_server); - - // Create "Compose Message" option and always display it - compose = new Indicate.Indicator.with_server(indicator); - compose.set_property_variant("name", _("Compose Message")); - compose.user_display.connect(on_activate_composer); - compose.show(); - - monitor.folder_added.connect(on_folder_added); - monitor.folder_removed.connect(on_folder_removed); - monitor.new_messages_arrived.connect(on_new_messages_changed); - monitor.new_messages_retired.connect(on_new_messages_changed); - - indicator.show(); - } - - ~Libindicate() { - if (indicator != null) { - monitor.folder_added.disconnect(on_folder_added); - monitor.folder_removed.disconnect(on_folder_removed); - monitor.new_messages_arrived.disconnect(on_new_messages_changed); - monitor.new_messages_retired.disconnect(on_new_messages_changed); - } - } - - private void on_folder_added(Geary.Folder folder) { - // Create "New Messages" option which is only displayed if new messages are available - Indicate.Indicator folder_indicator = new Indicate.Indicator.with_server(indicator); - folder_indicator.set_property_variant("name", - _("%s - New Messages").printf(folder.account.information.nickname)); - - // Use a lambda here (as opposed to an on_activate_inbox method) so we - // can still get to the folder ref to pass to the signal. - folder_indicator.user_display.connect( - (timestamp) => { inbox_activated(folder, timestamp); }); - - folder_indicators.set(folder, folder_indicator); - } - - private void on_folder_removed(Geary.Folder folder) { - Indicate.Indicator folder_indicator; - folder_indicators.unset(folder, out folder_indicator); - folder_indicator.hide(); - } - - private void on_new_messages_changed(Geary.Folder folder, int count) { - Indicate.Indicator folder_indicator = folder_indicators.get(folder); - - if (count > 0) { - if (!monitor.should_notify_new_messages(folder)) - return; - - // count is in fact a string property - folder_indicator.set_property_variant("count", count.to_string()); - folder_indicator.set_property_bool("draw-attention", true); - - folder_indicator.show(); - } else { - folder_indicator.hide(); - } - } - - private void on_display_server(uint timestamp) { - application_activated(timestamp); - } - - private void on_activate_composer(uint timestamp) { - composer_activated(timestamp); - } -#else - public Libindicate(NewMessagesMonitor monitor) { - base (monitor); - } -#endif -} - Index: geary-0.3.1/src/client/notification/new-messages-indicator.vala =================================================================== --- geary-0.3.1.orig/src/client/notification/new-messages-indicator.vala +++ geary-0.3.1/src/client/notification/new-messages-indicator.vala @@ -4,7 +4,7 @@ * (version 2.1 or later). See the COPYING file in this distribution. */ -// This is coded this way to allow for libindicate and libmessagingmenu to coexist in code (if not +// This is coded this way to allow for multiple indicators to coexist in code (if not // compiled at same time) and minimize the exposure of differences to the rest of the application. public abstract class NewMessagesIndicator : Geary.BaseObject { @@ -23,19 +23,14 @@ public abstract class NewMessagesIndicat public static NewMessagesIndicator create(NewMessagesMonitor monitor) { NewMessagesIndicator? indicator = null; - // these are ordered in order of preference, as it's possible for libindicate and - // libmessagingmenu to coexist (although only libmessagingmenu will work) + // Indicators are ordered from most to least prefered. If more than one is available, + // use the first. #if HAVE_LIBMESSAGINGMENU if (indicator == null) indicator = new Libmessagingmenu(monitor); #endif -#if HAVE_LIBINDICATE - if (indicator == null) - indicator = new Libindicate(monitor); -#endif - if (indicator == null) indicator = new NullIndicator(monitor); Index: geary-0.3.1/src/client/notification/new-messages-monitor.vala =================================================================== --- geary-0.3.1.orig/src/client/notification/new-messages-monitor.vala +++ geary-0.3.1/src/client/notification/new-messages-monitor.vala @@ -5,7 +5,7 @@ */ // NewMessagesMonitor is a central data store for new message information that the various -// notification methods (libnotify, libindicate, libunity, etc.) can monitor to do their thing. +// notification methods (libnotify, libunity, etc.) can monitor to do their thing. // Subclasses should trap the "notify::count" signal and use that to perform whatever magic // they need for their implementation, or trap "new-messages" to receive notifications of the emails // themselves as they're added. In the latter case, subscribers should add required Email.Field Index: geary-0.3.1/src/client/util/util-webkit.vala =================================================================== --- geary-0.3.1.orig/src/client/util/util-webkit.vala +++ geary-0.3.1/src/client/util/util-webkit.vala @@ -51,6 +51,7 @@ public void bind_event(WebKit.WebView vi for (int i = 0; i < node_list.length; ++i) { WebKit.DOM.EventTarget node = node_list.item(i) as WebKit.DOM.EventTarget; node.remove_event_listener(event, callback, false); + node.add_event_listener(event, callback, false, extra); } } catch (Error error) { Index: geary-0.3.1/src/client/views/conversation-viewer.vala =================================================================== --- geary-0.3.1.orig/src/client/views/conversation-viewer.vala +++ geary-0.3.1/src/client/views/conversation-viewer.vala @@ -86,6 +86,7 @@ public class ConversationViewer : Gtk.Bo web_view = new ConversationWebView(); web_view.hovering_over_link.connect(on_hovering_over_link); + web_view.context_menu.connect(() => { return true; }); // Suppress default context menu. web_view.realize.connect( () => { web_view.get_vadjustment().value_changed.connect(mark_read); }); web_view.size_allocate.connect(mark_read); Index: geary-0.3.1/src/client/views/conversation-web-view.vala =================================================================== --- geary-0.3.1.orig/src/client/views/conversation-web-view.vala +++ geary-0.3.1/src/client/views/conversation-web-view.vala @@ -33,7 +33,6 @@ public class ConversationWebView : WebKi config.enable_scripts = false; config.enable_java_applet = false; config.enable_plugins = false; - config.enable_default_context_menu = false; // Deprecated, still needed for Precise config.enable_developer_extras = Args.inspector; settings = config;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor