open-uri: Simplify and fix translations
- Remove niche feature to download source code. - Reuse existing msgid "Open '%s'" - Fix gettext domain
This commit is contained in:
parent
359fcb87c5
commit
b7ee3bf83b
|
@ -18,14 +18,16 @@
|
||||||
Adds context menu item to open an URI at the pointer position
|
Adds context menu item to open an URI at the pointer position
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from gettext import gettext as _
|
|
||||||
from gi.repository import Gtk, Xed, Gio, GObject, GtkSource
|
from gi.repository import Gtk, Xed, Gio, GObject, GtkSource
|
||||||
|
import gettext
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import string
|
import string
|
||||||
|
|
||||||
|
gettext.install("xed")
|
||||||
|
|
||||||
ACCEPTED_SCHEMES = ['file', 'ftp', 'sftp', 'smb', 'dav', 'davs', 'ssh', 'http', 'https']
|
ACCEPTED_SCHEMES = ['file', 'ftp', 'sftp', 'smb', 'dav', 'davs', 'ssh', 'http', 'https']
|
||||||
RE_DELIM = re.compile(r'[\w#/\?:%@&\=\+\.\\~-]+', re.UNICODE|re.MULTILINE)
|
RE_DELIM = re.compile(r'[\w#/\?:%@&\=\+\.\\~-]+', re.UNICODE|re.MULTILINE)
|
||||||
RE_URI_RFC2396 = re.compile("((([a-zA-Z][0-9a-zA-Z+\\-\\.]*):)?/{0,2}([0-9a-zA-Z;:,/\?@&=\+\$\.\-_!~\*'\(\)%]+))?(#[0-9a-zA-Z;,/\?:@&\=+$\.\\-_!~\*'\(\)%]+)?")
|
RE_URI_RFC2396 = re.compile("((([a-zA-Z][0-9a-zA-Z+\\-\\.]*):)?/{0,2}([0-9a-zA-Z;:,/\?@&=\+\$\.\-_!~\*'\(\)%]+))?(#[0-9a-zA-Z;,/\?:@&\=+$\.\\-_!~\*'\(\)%]+)?")
|
||||||
|
@ -125,31 +127,16 @@ class OpenURIContextMenuPlugin(GObject.Object, Xed.WindowActivatable):
|
||||||
browse_to = True
|
browse_to = True
|
||||||
|
|
||||||
if browse_to:
|
if browse_to:
|
||||||
browse_uri_item = Gtk.ImageMenuItem(_("Browse to '%s'") % (displayed_word))
|
browse_uri_item = Gtk.MenuItem(_("Open '%s'") % (displayed_word))
|
||||||
browse_uri_item.set_image(Gtk.Image.new_from_stock(Gtk.STOCK_JUMP_TO,
|
|
||||||
Gtk.IconSize.MENU))
|
|
||||||
browse_uri_item.connect('activate', self.browse_url, word);
|
browse_uri_item.connect('activate', self.browse_url, word);
|
||||||
browse_uri_item.show();
|
browse_uri_item.show();
|
||||||
|
|
||||||
displayed_word = displayed_word.replace('file://', '')
|
|
||||||
open_uri_item = Gtk.ImageMenuItem(_("Open '%s'") % (displayed_word))
|
|
||||||
open_uri_item.set_image(Gtk.Image.new_from_stock(Gtk.STOCK_OPEN, Gtk.IconSize.MENU))
|
|
||||||
open_uri_item.connect('activate', self.on_open_uri_activate, word);
|
|
||||||
open_uri_item.show();
|
|
||||||
|
|
||||||
separator = Gtk.SeparatorMenuItem()
|
separator = Gtk.SeparatorMenuItem()
|
||||||
separator.show();
|
separator.show();
|
||||||
menu.prepend(separator)
|
menu.prepend(separator)
|
||||||
menu.prepend(open_uri_item)
|
|
||||||
|
|
||||||
if browse_to:
|
|
||||||
menu.prepend(browse_uri_item)
|
menu.prepend(browse_uri_item)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def on_open_uri_activate(self, menu_item, uri):
|
|
||||||
self.open_uri(uri)
|
|
||||||
return True
|
|
||||||
|
|
||||||
def validate_uri(self, uri):
|
def validate_uri(self, uri):
|
||||||
m = RE_URI_RFC2396.search(uri);
|
m = RE_URI_RFC2396.search(uri);
|
||||||
if not m:
|
if not m:
|
||||||
|
@ -190,28 +177,3 @@ class OpenURIContextMenuPlugin(GObject.Object, Xed.WindowActivatable):
|
||||||
return 'file://' + f
|
return 'file://' + f
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_document_by_uri(self, uri):
|
|
||||||
docs = self.window.get_documents()
|
|
||||||
for d in docs [:]:
|
|
||||||
if d.get_location() == uri:
|
|
||||||
return d
|
|
||||||
return None
|
|
||||||
|
|
||||||
def open_uri(self, uri):
|
|
||||||
doc = self.get_document_by_uri(uri)
|
|
||||||
if doc != None :
|
|
||||||
tab = Xed.tab_get_from_document(doc)
|
|
||||||
self.window.set_active_tab(tab)
|
|
||||||
else:
|
|
||||||
self.window.create_tab_from_location(Gio.file_new_for_uri(uri),
|
|
||||||
self.encoding, 0, 0, True)
|
|
||||||
status = self.window.get_statusbar()
|
|
||||||
status_id = status.push(status.get_context_id("OpenURIContextMenuPlugin"),
|
|
||||||
_("Loading file '%s'...") % (uri))
|
|
||||||
GObject.timeout_add(4000, self.on_statusbar_timeout, status,
|
|
||||||
status.get_context_id("OpenURIContextMenuPlugin"), status_id)
|
|
||||||
|
|
||||||
def on_statusbar_timeout(self, status, context_id, status_id):
|
|
||||||
status.remove(context_id, status_id)
|
|
||||||
return False
|
|
||||||
|
|
Loading…
Reference in New Issue