set favicon for local pages

This commit is contained in:
Izalia Mae 2022-09-03 20:02:32 -04:00
parent ffe81769f3
commit b35f12b990
4 changed files with 14 additions and 7 deletions

View file

@ -40,11 +40,11 @@ izzylib.add_builtins(
proto = 'pyweb'
var = ObjectBase(
readonly_props = True,
local_proto = proto,
local = proto + '://',
dbversion = 20220417
)
readonly_props = True,
local_proto = proto,
local = proto + '://',
dbversion = 20220417
)
cache = ObjectBase(
permissions = LruCache(),

View file

@ -10,6 +10,7 @@ from izzylib.url import Address
from .web_tab_settings import WebSettings
from .web_tab_webview_handler import WebviewHandler
from .. import var
from ..enums import EditAction, Javascript, FileChooserResponse
from ..objects import WebviewState
from ..widgets import Box, FileChooser
@ -391,6 +392,9 @@ class WebTab(BuilderBase, Gtk.Box):
if not url:
url = self.url
if url.proto == var.local_proto:
return self.set_favicon(self.app.path.resources.join('icon.png'))
self.context.get_favicon(url, self.set_favicon)

View file

@ -354,8 +354,6 @@ class WebviewHandler(ComponentBase):
with self.app.db.session as s:
s.put_history_from_tab(self.tab)
self.tab._data.favicon = False
def handle_load_failed(self, webview, event, uri, error):
logging.error('Load failed:', uri, error.value_nick)

View file

@ -72,6 +72,11 @@ def search_web(handler, request):
return request.redirect(row.compile(text))
@Local.route('/favicon.ico')
def favicon(handler, request):
return icon(handler, request, 'app.png')
@Local.route('/about')
def about(handler, request):
return request.page('about')