source: llum/trunk/fuentes/install-files/usr/share/llum/llum-browser @ 376

Last change on this file since 376 was 376, checked in by hectorgh, 4 years ago

adding project files

  • Property svn:executable set to *
File size: 2.0 KB
Line 
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3 
4"""
5    SimpleBrowser - Navegador muy muy simple de internet, sólo de ejemplo,
6                    que utiliza la biblioteca Webkit GTK desde Python (PyWebkitGTK).
7 
8    Marcelo Fidel Fernández - http://www.marcelofernandez.info
9    Licencia: BSD. Disponible en: http://www.freebsd.org/copyright/license.html
10"""
11 
12import sys
13import gtk
14import webkit
15 
16DEFAULT_URL = 'http://www.python.org'
17 
18class SimpleBrowser:
19 
20    def __init__(self):
21        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
22        self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
23        self.window.connect('delete_event', self.close_application)
24        self.window.set_default_size(800, 600)
25 
26        vbox = gtk.VBox(spacing=5)
27        vbox.set_border_width(5)
28 
29        self.txt_url = gtk.Entry()
30        self.txt_url.connect('activate', self._txt_url_activate)
31 
32        self.scrolled_window = gtk.ScrolledWindow()
33        self.webview = webkit.WebView()
34        settings=self.webview.get_settings()
35        settings.set_property('enable-default-context-menu', False)
36        self.webview.set_settings(settings)
37        self.scrolled_window.add(self.webview)
38        #vbox.pack_start(self.txt_url, fill=False, expand=False)
39        vbox.pack_start(self.scrolled_window, fill=True, expand=True)
40        self.window.add(vbox)
41 
42    def _txt_url_activate(self, entry):
43        self._load(entry.get_text())
44 
45    def _load(self, url):
46        self.webview.open(url)
47 
48    def open(self, url):
49        self.txt_url.set_text(url)
50        self.window.set_title('Llum browser')
51        self._load(url)
52 
53    def show(self):
54        self.window.show_all()
55 
56    def close_application(self, widget, event, data=None):
57        gtk.main_quit()
58 
59if __name__ == '__main__':
60    if len(sys.argv) > 1:
61        url = sys.argv[1]
62    else:
63        url = DEFAULT_URL
64 
65    # PyWebkitGTK necesita habilitar el soporte de los hilos en PyGTK
66    gtk.gdk.threads_init()
67    browser = SimpleBrowser()
68    browser.open(url)
69    browser.show()
70    gtk.main()
Note: See TracBrowser for help on using the repository browser.