source: epi/trunk/fuentes/epi-gtk/python3-epigtk/ChooserBox.py @ 6717

Last change on this file since 6717 was 6717, checked in by jrpelegrina, 20 months ago

Fixed files and addded logrotate

File size: 2.7 KB
Line 
1#!/usr/bin/env python3
2
3
4import gi
5gi.require_version('Gtk', '3.0')
6from gi.repository import Gtk,Pango,Gio,GObject,GLib,Gdk
7
8
9from . import settings
10import gettext
11gettext.textdomain(settings.TEXT_DOMAIN)
12_ = gettext.gettext
13
14class ChooserBox(Gtk.VBox):
15       
16        def __init__(self):
17               
18                Gtk.VBox.__init__(self)
19               
20                self.core=Core.Core.get_core()
21               
22                builder=Gtk.Builder()
23                builder.set_translation_domain(settings.TEXT_DOMAIN)
24
25                ui_path=self.core.ui_path
26                builder.add_from_file(ui_path)
27
28
29                self.css_file=self.core.rsrc_dir+"epi-gtk.css"
30
31                self.main_box=builder.get_object("chooser_box")
32                self.chooser_label=builder.get_object("chooser_label")
33                self.filechooser_box=builder.get_object("filechooser_box")
34                self.filechooser_label=builder.get_object("filechooser_label")
35                self.filechooser_label.set_width_chars(60)
36                self.filechooser_label.set_max_width_chars(60)
37                self.filechooser_label.set_xalign(-1)
38                self.filechooser_label.set_ellipsize(Pango.EllipsizeMode.END)
39                self.filechooser_button=builder.get_object("filechooser_button")
40
41               
42                self.epi_loaded=None
43                self.pack_start(self.main_box,True,True,0)
44
45                self.set_css_info()
46                self.connect_signals()
47
48               
49                #self.init_threads()
50
51                               
52        #def __init__
53
54        def set_css_info(self):
55               
56                self.style_provider=Gtk.CssProvider()
57
58                f=Gio.File.new_for_path(self.css_file)
59                self.style_provider.load_from_file(f)
60
61                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
62                self.filechooser_box.set_name("APP_BOX")
63                self.chooser_label.set_name("OPTION_LABEL")
64                               
65        #def set_css_info               
66       
67        def connect_signals(self):
68
69                self.filechooser_button.connect("clicked",self.on_file_clicked)
70
71        #def connect_signals   
72
73       
74        def on_file_clicked(self, widget):
75                dialog = Gtk.FileChooserDialog(_("Please choose a epi file"), None,
76                        Gtk.FileChooserAction.OPEN,(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
77                        Gtk.STOCK_OPEN, Gtk.ResponseType.OK))
78
79                self.add_filters(dialog)
80
81                response = dialog.run()
82                if response == Gtk.ResponseType.OK:
83                        file="<span font='Roboto'><b>"+dialog.get_filename()+"</b></span>"
84                        self.filechooser_label.set_markup(file)
85                        self.epi_loaded=dialog.get_filename()
86                elif response == Gtk.ResponseType.CANCEL:
87                        if self.epi_loaded==None:
88                                self.filechooser_label.set_text("")
89
90
91                if self.epi_loaded !=None:
92                        self.core.mainWindow.next_button.show()
93                else:
94                        self.core.mainWindow.next_button.hide()
95                       
96                dialog.destroy()       
97
98        #def on_file_clicked   
99
100       
101        def add_filters(self, dialog):
102                filter_epi = Gtk.FileFilter()
103                filter_epi.set_name("Epi files")
104                filter_epi.add_mime_type("application/easy-package-installer")
105                dialog.add_filter(filter_epi)
106
107    #def add_filters
108
109               
110#class ChooserBox
111
112from . import Core
Note: See TracBrowser for help on using the repository browser.