[Xfce4-commits] <postler:master> Show 'Copy Address' and 'Copy' in hyperlink context menu
Christian Dywan
noreply at xfce.org
Sun Jul 18 15:40:01 CEST 2010
Updating branch refs/heads/master
to c85faaaab4d38d7058742d7dc17e2ef8c277bc27 (commit)
from 82e091f7fd5eb826ad90c95412791bf2f564620e (commit)
commit c85faaaab4d38d7058742d7dc17e2ef8c277bc27
Author: Christian Dywan <christian at twotoasts.de>
Date: Wed Jul 7 23:12:01 2010 +0200
Show 'Copy Address' and 'Copy' in hyperlink context menu
postler/postler-content.vala | 25 ++++++++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/postler/postler-content.vala b/postler/postler-content.vala
index e0111b2..f76a491 100644
--- a/postler/postler-content.vala
+++ b/postler/postler-content.vala
@@ -145,7 +145,30 @@ public class Postler.Content : WebKit.WebView {
void populate_menu (Gtk.Menu menu) {
menu.hide_all ();
- Gtk.MenuItem menuitem = new Gtk.ImageMenuItem.from_stock (Gtk.STOCK_COPY, null);
+
+ var event = Gtk.get_current_event ();
+ var result = get_hit_test_result ((Gdk.EventButton?)event);
+ Gtk.MenuItem menuitem;
+
+ if (result.link_uri != null) {
+ menuitem = new Gtk.MenuItem.with_mnemonic (_("Copy _Address"));
+ menuitem.activate.connect ((menuitem) => {
+ var clipboard = get_clipboard (Gdk.SELECTION_CLIPBOARD);
+ string address = result.link_uri.split ("?")[0];
+ clipboard.set_text (address, -1);
+ });
+ menuitem.show ();
+ menu.append (menuitem);
+ menuitem = new Gtk.ImageMenuItem.from_stock (Gtk.STOCK_COPY, null);
+ menuitem.activate.connect ((menuitem) => {
+ copy_clipboard (); });
+ menuitem.show ();
+ menuitem.sensitive = can_copy_clipboard ();
+ menu.append (menuitem);
+ return;
+ }
+
+ menuitem = new Gtk.ImageMenuItem.from_stock (Gtk.STOCK_COPY, null);
menuitem.activate.connect ((menuitem) => {
copy_clipboard (); });
menuitem.show ();
More information about the Xfce4-commits
mailing list