1
1
# Miro - an RSS based video player application
2
# Copyright (C) 2005-2009 Participatory Culture Foundation
2
# Copyright (C) 2005-2010 Participatory Culture Foundation
4
4
# This program is free software; you can redistribute it and/or modify
5
5
# it under the terms of the GNU General Public License as published by
141
141
self.seen_cache[url] = 1
142
142
self.navigate(url)
144
def should_load_url(self, url):
144
def should_load_url(self, url, mimetype=None):
145
145
"""Returns True if the Miro browser should handle the url and False
150
150
* if the url is something that Miro should download instead
153
logging.debug("got %s", url)
153
if mimetype is not None:
154
logging.debug("got %s (%s)" % (url, mimetype))
156
logging.debug("got %s" % url)
155
158
if url in self.seen_cache:
156
159
del self.seen_cache[url]
159
url = util.toUni(url)
162
url = util.to_uni(url)
160
163
if subscription.is_subscribe_link(url):
161
164
messages.SubscriptionLinkClicked(url).send_to_backend()
175
178
messages.DownloadURL(url, lambda x: call_on_ui_thread(self.handle_unknown_url, x)).send_to_backend()
181
if mimetype is not None and filetypes.is_allowed_mimetype(mimetype):
182
logging.debug("miro wants to handle %s", url)
183
messages.DownloadURL(url, lambda x: call_on_ui_thread(self.handle_unknown_url, x)).send_to_backend()
180
188
class BrowserNav(widgetset.VBox):
189
197
self.pack_start(separator.HThinSeparator((0.6, 0.6, 0.6)))
190
198
self.pack_start(self.browser, expand=True)
192
self.toolbar.connect('browser-back', self._on_browser_back)
193
self.toolbar.connect('browser-forward', self._on_browser_forward)
194
self.toolbar.connect('browser-reload', self._on_browser_reload)
195
self.toolbar.connect('browser-stop', self._on_browser_stop)
196
self.toolbar.connect('browser-home', self._on_browser_home)
197
self.toolbar.connect('browser-download', self._on_browser_download)
198
self.toolbar.connect('browser-open', self._on_browser_open)
200
self.toolbar.connect_weak('browser-back', self._on_browser_back)
201
self.toolbar.connect_weak('browser-forward', self._on_browser_forward)
202
self.toolbar.connect_weak('browser-reload', self._on_browser_reload)
203
self.toolbar.connect_weak('browser-stop', self._on_browser_stop)
204
self.toolbar.connect_weak('browser-home', self._on_browser_home)
205
self.toolbar.connect_weak('browser-download', self._on_browser_download)
206
self.toolbar.connect_weak('browser-open', self._on_browser_open)
200
self.browser.connect('net-start', self._on_net_start)
201
self.browser.connect('net-stop', self._on_net_stop)
208
self.browser.connect_weak('net-start', self._on_net_start)
209
self.browser.connect_weak('net-stop', self._on_net_stop)
203
211
def enable_disable_navigation(self):
204
212
if self.browser.can_go_back():