source: epi/trunk/fuentes/epi-gtk/python3-epigtk/EulaBox.py @ 8006

Last change on this file since 8006 was 8006, checked in by jrpelegrina, 2 years ago

Fix code

File size: 2.8 KB
Line 
1#!/usr/bin/env python3
2
3import gi
4gi.require_version('Gtk', '3.0')
5from gi.repository import Gtk,Gdk,Gio,GObject,GLib
6gi.require_version('WebKit', '3.0')
7from gi.repository import WebKit
8import copy
9
10import sys
11import os
12import html2text
13
14from . import settings
15import gettext
16gettext.textdomain(settings.TEXT_DOMAIN)
17_ = gettext.gettext
18
19
20class EulaBox(Gtk.VBox):
21       
22        def __init__(self):
23               
24                Gtk.VBox.__init__(self)
25               
26                self.core=Core.Core.get_core()
27               
28                builder=Gtk.Builder()
29                builder.set_translation_domain(settings.TEXT_DOMAIN)
30                ui_path=self.core.ui_path
31                builder.add_from_file(ui_path)
32
33                self.css_file=self.core.rsrc_dir+"epi-gtk.css"
34
35                self.eula_window=builder.get_object("eula_window")
36                self.eula_window.set_default_size(600,700)
37                self.eula_title=builder.get_object("eula_title")
38                self.eula_pkg_name=builder.get_object("eula_pkg_name")
39                self.webkit_box=builder.get_object("webkit_box")
40                self.eula_buttons_box=builder.get_object("eula_buttons_box")
41                self.cancel_eula_button=builder.get_object("cancel_eula_button")
42                self.accept_eula_button=builder.get_object("accept_eula_button")
43
44                self.scrolled_window = Gtk.ScrolledWindow()
45                self.webview=None
46               
47
48                self.set_css_info()
49                self.connect_signals()
50                self.init_threads()             
51
52                               
53        #def __init__
54
55        def set_css_info(self):
56               
57                self.style_provider=Gtk.CssProvider()
58
59                f=Gio.File.new_for_path(self.css_file)
60                self.style_provider.load_from_file(f)
61
62                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
63                self.eula_title.set_name("OPTION_LABEL")
64                self.eula_pkg_name.set_name("PKG_NAME")
65
66        #def set_csss_info     
67
68        def connect_signals(self):
69               
70                self.cancel_eula_button.connect("clicked",self.cancel_eula_button_clicked)
71                self.accept_eula_button.connect("clicked",self.accept_eula_button_clicked)
72
73        #def connect_signals
74
75        def init_threads(self):
76
77                GObject.threads_init()
78
79        #def init_threads       
80
81        def load_info(self,info,order):
82
83                if self.webview==None:
84                        self.webview=WebKit.WebView()
85                        websettings=self.webview.get_settings()
86                        websettings.set_property('enable-default-context-menu', False)
87                        self.webview.set_settings(websettings)
88                        self.scrolled_window.add(self.webview)
89                        self.webkit_box.pack_start(self.scrolled_window,True,True,0)
90
91                pkg_name=info[order]["pkg_list"][0]["name"]
92                eula_url=info[order]["eula"]
93                self.eula_pkg_name.set_text(pkg_name)
94                self.load_url(eula_url)
95                self.eula_window.show_all()
96
97        #def load_info 
98
99        def load_url(self,url):
100                 self.webview.open(url)
101
102        #def load_url
103
104        def cancel_eula_button_clicked(self,widget):
105
106                self.eula_window.hide()
107                self.load_url("")
108
109        #def cancel_eula_button_clicked
110       
111        def accept_eula_button_clicked(self,widget):
112
113                self.core.mainWindow.cont_eula-=1
114                self.load_url("")
115                self.core.mainWindow.accept_eula()
116
117        #def cancel_eula_button_clicked         
118
119
120#class EulaBox
121
122from . import Core
Note: See TracBrowser for help on using the repository browser.