Hello community, here is the log from the commit of package geary for openSUSE:Factory checked in at 2013-08-27 20:41:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/geary (Old) and /work/SRC/openSUSE:Factory/.geary.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "geary" Changes: -------- --- /work/SRC/openSUSE:Factory/geary/geary.changes 2013-06-29 19:39:29.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.geary.new/geary.changes 2013-08-27 20:41:15.000000000 +0200 @@ -1,0 +2,13 @@ +Sun Aug 25 17:07:48 UTC 2013 - [email protected] + +- Add a recommends on the lang package. + +------------------------------------------------------------------- +Sun Aug 25 15:46:02 UTC 2013 - [email protected] + +- Add geary-webkitgtk-2.1.patch: Fix build with webkitgtk 2.1. + Patch inspired / based on Fedora's one. +- Use sed to remove fatal-warnings from CMakeLists.txt: due to + GtkStock being deprecated, we currenly accept the warnings. + +------------------------------------------------------------------- New: ---- geary-webkitgtk-2.1.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ geary.spec ++++++ --- /var/tmp/diff_new_pack.4F9J1i/_old 2013-08-27 20:41:16.000000000 +0200 +++ /var/tmp/diff_new_pack.4F9J1i/_new 2013-08-27 20:41:16.000000000 +0200 @@ -24,6 +24,8 @@ Group: Productivity/Networking/Email/Clients Url: http://yorba.org/geary Source: http://yorba.org/download/geary/stable/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM geary-webkitgtk-2.1.patch [email protected] -- Fix build with webkitgtk 2.1 +Patch0: geary-webkitgtk-2.1.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: intltool @@ -42,6 +44,7 @@ BuildRequires: pkgconfig(unique-3.0) >= 3.0.0 BuildRequires: pkgconfig(vapigen) >= 0.17.4 BuildRequires: pkgconfig(webkitgtk-3.0) >= 1.8.0 +Recommends: %{name}-lang BuildRoot: %{_tmppath}/%{name}-%{version}-build %glib2_gsettings_schema_requires @@ -54,6 +57,8 @@ %lang_package %prep %setup -q +%patch0 -p1 +sed -i "/fatal-warnings/d" src/CMakeLists.txt %build # custom configure script, thus not using the macro. ++++++ geary-webkitgtk-2.1.patch ++++++ 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; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
